この例では、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