READ_NOSおよびCREATE TABLE ASを使用したデータベースへの外部データのロード - 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
READ_NOSをCREATE TABLE AS句と組み合わせることで、オブジェクト ストアのデータにアクセスし、最初に外部テーブルを作成せずに、データベース内のデータの永久テーブルを作成します。

この例では、LOCATIONによって識別されるオブジェクト ストア内のすべてのデータがデータベースにロードされます。これにより、DOT表記を使用せずに列を参照でき、フィールドを適切なデータ型にキャストできます。

例と結果は、河川流量のサンプル データ セットを示しています。独自のデータを使用するには、テーブル名、列名、および許可オブジェクトを置き換えます。

  1. NOS関連コマンドを実行するには、必要な権限を持つユーザーとしてデータベースにログオンします。
  2. テーブルを作成してロードします。
    CREATE MULTISET TABLE riverflowperm_json(site_no,flow,gageheight,datetime) AS (
    SELECT payload.site_no, payload.Flow, payload.GageHeight, payload.datetime
    FROM ( LOCATION='YOUR-OBJECT-STORE-URI' ) AS d
    ) WITH DATA;

    サンプルの河川流量データ セットの信頼証明と場所の値については、例の変数置換を参照してください。

    例えば、YOUR-STORAGE-ACCOUNTの代わりに/s3/td-usgs-public.s3.amazonaws.com/JSONDATA/に置き換えます。

    .
  3. テーブル内の行数を確認します。
    SELECT COUNT(*) FROM riverflowperm_json;

    結果:

    Count(*)
    -----------
          36301