この例では、READ_NOSテーブル演算子を使用して、拡張子.JSONを含む外部CSVファイルにアクセスする方法を示します。
ファイル名クエリー
このクエリーでは、READ_NOSテーブル演算子の関数マッピングREAD_NOS_json_fmを使用して、指定した場所にあるファイルに対して、NOSREAD_KEYSの戻りタイプとともにクエリーを実行します。LOCATIONパラメータは、Amazon S3に格納されているJSONファイルを指定します。
関数マッピングREAD_NOS_json_fmをまだ作成していない場合は作成します。例: JSONデータ ファイルに対するEXTERNAL SECURITY句を使用した関数マッピング定義を参照してください。
READ_NOSを実行します。
SELECT location FROM READ_NOS_json_fm ( USING LOCATION('/S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018/06/27') RETURNTYPE('NOSREAD_KEYS') ) AS derived_table;
出力結果は、ファイルに拡張子.JSONが含まれていることを示しています。
Location -------------------------------------------------------------- /S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018/06/27.json
サンプルのクエリーと結果
このクエリーは、READ_NOS_json_fm関数マッピングを使用して特定の列を返し、温度が11より大きく高さが10.00より大きいエントリを、日付と時刻の順に検索します。
関数マッピングREAD_NOS_json_fmをまだ作成していない場合は作成します。例: JSONデータ ファイルに対するEXTERNAL SECURITY句を使用した関数マッピング定義を参照してください。
READ_NOSを実行します。
SELECT payload.Flow, payload.Precipitation, payload.Conductance, payload.datetime, payload.site_no, payload.Temp, payload.GageHeight FROM READ_NOS_json_fm ( USING LOCATION('/S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018/06/27') RETURNTYPE('NOSREAD_RECORD') ) AS derived_table WHERE payload.Temp>11.0 AND payload.GageHeight>10.00 ORDER BY payload.datetime;
出力のサンプルを次に示します。
Payload.Flow Payload.Precipitation Payload.Conductance Payload.datetime Payload.site_no Payload.Temp Payload.GageHeight ------------ --------------------- ------------------- ---------------- --------------- ------------ ------------------ 16400 0.00 668 2018-06-27 14:15 09380000 11.8 10.01 16400 0.00 670 2018-06-27 14:30 09380000 11.8 10.01 16600 0.00 665 2018-06-27 14:45 09380000 11.9 10.04 16600 0.00 669 2018-06-27 15:00 09380000 11.9 10.05 16700 0.00 668 2018-06-27 15:15 09380000 12.0 10.07 16700 0.00 667 2018-06-27 15:30 09380000 12.0 10.07 16700 0.00 663 2018-06-27 15:45 09380000 12.0 10.07 16800 0.00 666 2018-06-27 16:00 09380000 12.0 10.09 16800 0.00 667 2018-06-27 16:15 09380000 12.0 10.08 16800 0.00 667 2018-06-27 16:30 09380000 12.0 10.08 16800 0.00 668 2018-06-27 16:45 09380000 12.0 10.09 16900 0.00 670 2018-06-27 17:00 09380000 12.0 10.10 16800 0.00 670 2018-06-27 17:15 09380000 12.0 10.09