17.10 - 例: NOSREAD_RECORD戻りタイプを含むREAD_NOSの使用 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL演算子およびユーザー定義関数

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
管理
Publication ID
B035-1210-171K-JPN
Language
日本語 (日本)

この例では、JSON形式の外部データにアクセスします。READ_NOSを使用してCSVおよびParquet形式のデータにアクセスすることもできます。

まだ実行されていない場合は、許可オブジェクトを作成します。例: 許可オブジェクトの作成を参照してください。

READ_NOSを実行します。

SELECT TOP 2 * FROM (
LOCATION='/s3/td-usgs-public.s3.amazonaws.com/JSONDATA/09380000/2018/06/27.json'
AUTHORIZATION=MyAuthObj
RETURNTYPE='NOSREAD_RECORD'
) AS d ;
NOSREAD_RECORD戻り型はデフォルトのモードであるため、コマンドでの指定はオプションです。

結果は次のようになります。

        Location /S3/s3.amazonaws.com/td-usgs-public/JSONDATA/09380000/2018/06/27.json
 ObjectVersionId ?
 ObjectTimeStamp                          ?
OffsetIntoObject                  304
    ObjectLength         151
      ExtraField ?
         Payload { "site_no":"09380000", "datetime":"2018-06-27 00:30", "Flow":"15700", "GageHeight":"9.88", "Temp":"10.9", "Conductance":"668", "Precipitation":"0.00"}
        Location /S3/s3.amazonaws.com/td-usgs-public/JSONDATA/09380000/2018/06/27.json
 ObjectVersionId ?
 ObjectTimeStamp                          ?
OffsetIntoObject                  608
    ObjectLength         151
      ExtraField ?
         Payload { "site_no":"09380000", "datetime":"2018-06-27 01:00", "Flow":"15100", "GageHeight":"9.77", "Temp":"10.8", "Conductance":"672", "Precipitation":"0.00"}

読みやすくするために、出力は垂直方向に表示されます。

クエリーとサンプルの結果

このクエリーでは、READ_NOSを使用して、選択されている2018年6月28日の情報を返します。ここでは温度が70度を超えるリストが時間順に表示されます:

SELECT payload.Flow, payload.datetime, payload.site_no, payload.Temp, payload.GageHeight
  FROM (
    LOCATION='/S3/td-usgs-public.s3.amazonaws.com/JSONDATA/'
    AUTHORIZATION=MyAuthObj
  ) 
AS derived_table 
  WHERE payload.datetime LIKE '%2018-06-28%' 
  AND payload.Temp >70 
  ORDER BY payload.datetime;

結果は次のようになります。

Payload.Flow Payload.datetime Payload.site_no Payload.Temp Payload.GageHeight 
 ------------ ---------------- --------------- ------------ ------------------ 
 80.7         2018-06-28 00:00 09423560        71.5         7.39              
 222          2018-06-28 00:00 09429070        78.2         4.67              
 0.00         2018-06-28 00:00 09424900        79.5         -0.13             
 84.4         2018-06-28 00:15 09423560        71.4         7.43              
 218          2018-06-28 00:15 09429070        78.1         4.70              
 0.00         2018-06-28 00:15 09424900        78.9         -0.13             
 84.5         2018-06-28 00:30 09423560        71.4         7.45              
 238          2018-06-28 00:30 09429070        78.0         4.74              
 0.00         2018-06-28 00:30 09424900        78.2         -0.13             
 87.2         2018-06-28 00:45 09423560        71.3         7.49              
 224          2018-06-28 00:45 09429070        78.0         4.77              
 0.00         2018-06-28 00:45 09424900        77.8         -0.13             
 87.7         2018-06-28 01:00 09423560        71.2         7.52              
 223          2018-06-28 01:00 09429070        77.9         4.86              
 0.00         2018-06-28 01:00 09424900        76.5         -0.13