17.05 - 例: READ_NOSを使用した場所内のファイルの一覧表示 - Advanced SQL Engine - Teradata Database

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

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

以下の例では、READ_NOSテーブル演算子を使用して、所定の場所にある拡張子ありまたは拡張子なしのファイルを一覧表示する方法を示しています。

拡張子(.JSON)を持つファイルのサンプル クエリーと結果

このクエリーでは、2018年に限ったファイルを一覧表示します。READ_NOS_json_fm関数マッピングには、拡張子(.JSON)を持つファイルに定義されたDefAuth許可が含まれます。

関数マッピングREAD_NOS_json_fmをまだ作成していない場合は作成します。例: JSONデータ ファイルに対するEXTERNAL SECURITY句を使用した関数マッピング定義を参照してください。

READ_NOSを実行します。

 SELECT DISTINCT location FROM READ_NOS_json_fm (  
         USING
              LOCATION('/S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018')
 ) AS dt ORDER BY 1;

出力のサンプルを次に示します。

 Location                                                       
 -------------------------------------------------------------- 
 /S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018/06/27.json
 /S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018/06/28.json
 /S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018/06/29.json
 /S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018/06/30.json
 /S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018/07/01.json
 /S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018/07/02.json
 /S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018/07/03.json
 /S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018/07/04.json
 /S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018/07/05.json
 /S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018/07/06.json
 /S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018/07/07.json

ファイル拡張子の有無を問わないJSONデータ ファイルのサンプル クエリーと結果

このクエリーでは、2018年に限ったファイルを一覧表示します。この場所のファイルには拡張子がないので、クエリーにはON句が含まれておりファイルをJSONとしてキャストします。関数マッピングREAD_NOS_json_intable_fmには、拡張子のないファイルに対する許可DefAuthとANY IN TABLE句が含まれます。認識できない拡張子を持つファイルや、デフォルトの拡張処理をオーバーライドする場合にも、この同じ方法を使用できます。

関数マッピングREAD_NOS_json_fmをまだ作成していなければ作成します。例: JSONデータ ファイルにANY IN TABLEを使用した関数マッピング定義を参照してください。

READ_NOS_json_intable_fm関数マッピングを使用して、JSONファイルのクエリーを実行します。

SELECT DISTINCT location FROM READ_NOS_json_intable_fm (  
       ON (SELECT  CAST (NULL AS JSON))
         USING
              LOCATION ('/s3/td-usgs.s3.amazonaws.com/DATA/09380000/2018')
 ) AS dt ORDER BY 1;

出力のサンプルを次に示します。

 Location                                              
 ----------------------------------------------------- 
 /S3/td-usgs.s3.amazonaws.com/DATA/09380000/2018/06/27
 /S3/td-usgs.s3.amazonaws.com/DATA/09380000/2018/06/28
 /S3/td-usgs.s3.amazonaws.com/DATA/09380000/2018/06/29
 /S3/td-usgs.s3.amazonaws.com/DATA/09380000/2018/06/30
 /S3/td-usgs.s3.amazonaws.com/DATA/09380000/2018/07/01
 /S3/td-usgs.s3.amazonaws.com/DATA/09380000/2018/07/02
 /S3/td-usgs.s3.amazonaws.com/DATA/09380000/2018/07/03
 /S3/td-usgs.s3.amazonaws.com/DATA/09380000/2018/07/04
 /S3/td-usgs.s3.amazonaws.com/DATA/09380000/2018/07/05
 /S3/td-usgs.s3.amazonaws.com/DATA/09380000/2018/07/06
 /S3/td-usgs.s3.amazonaws.com/DATA/09380000/2018/07/07