17.05 - READ_NOSおよびCREATE TABLE ASを使用したデータベースへの外部データのロード - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Release Date
2021年1月
Content Type
プログラミング リファレンス
Publication ID
B035-1214-175K-JPN
Language
日本語 (日本)
READ_NOSをCREATE TABLE AS句と組み合わせることで、オブジェクト ストアのデータにアクセスし、最初に外部テーブルを作成せずに、データベース内のデータの永久テーブルを作成します。

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

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

  1. NOS関連コマンドを実行するには、必要な権限を持つユーザーとしてデータベースにログオンします。
  2. テーブルを作成してロードします。
    CREATE MULTISET TABLE riverflowperm_json AS
    (
    SELECT
    CAST(payload.site_no AS CHAR(8)) Site_no,
    CAST(payload.Flow AS FLOAT) ( FORMAT '-ZZZ9.99') Flow,
    CAST(payload.GageHeight AS FLOAT) ( FORMAT '-ZZZ9.99') GageHeight1,
    CAST(payload.Precipitation AS FLOAT) ( FORMAT '-ZZZ9.99') Precipitation,
    CAST(payload.Temp AS FLOAT) ( FORMAT '-ZZZ9.99') Temperature,
    CAST(payload.Velocity AS FLOAT) ( FORMAT '-ZZZ9.99') Velocity
    FROM READ_NOS_FM (
    ON (SELECT CAST(NULL AS JSON))
    USING
    LOCATION('YOUR-STORAGE-ACCOUNT')
    ) AS D
    ) WITH DATA;

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

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

    結果:

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