CREATE TABLE AS ... WITH DATAを使用したデータベースへの外部データのロード - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - Native Object Store 入門ガイド

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/gmv1596851589343.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1214
Product Category
Software
Teradata Vantage

同じ外部データに頻繁にアクセスする場合は、データベース内のデータをコピーします。これを行なうには、CREATE TABLE AS … WITH DATAコマンドを使用して、既存の外部テーブルからデータベース内の新しいターゲット テーブルにテーブル定義とデータをコピーします。CREATE TABLE AS … WITH DATAによって、LocationとPayloadの2つの列を持つテーブルが作成されます。

Teradataでは、ペイロード属性を個別の列として分割することをお勧めします。これにより、DOT表記を使用せずに列を参照でき、フィールドを適切なデータ型にキャストできます。

例では、サンプルの河川流量データ セットを使用します。独自のデータを使用するには、テーブル名、列名、および許可オブジェクトを置き換えます。サンプル データ セットの信頼証明および格納場所の値については、例の変数置換を参照してください。

  1. NOS関連コマンドを実行するには、必要な権限を持つユーザーとしてデータベースにログオンします。
  2. 存在しない場合は、riverflow_jsonという名前の外部テーブルを作成するか、データベース管理者に作成を依頼します。JSONの例を実行するための設定を参照してください。
  3. データベースにテーブルを作成して、分析する外部データの部分集合をロードします。
    CREATE MULTISET TABLE riverflowprecip_json(site_no,flow,gageheight,datetime) AS (
    SELECT payload.site_no, payload.Flow, payload.GageHeight, payload.datetime
    FROM riverflow_json
    WHERE payload.Precipitation > 0
    ) WITH DATA
    NO PRIMARY INDEX;
  4. テーブル内の行数を表示します。
    SELECT COUNT(*) FROM riverflowprecip_json;

    結果:

    Count(*)
    -----------
            396