テーブル定義
この例のテーブル定義は、次のとおりです。この文は、LOCATIONパラメータが、Amazon S3に保存されているJSONファイルを指定する外部テーブルriverflowを定義します。
DefAuth許可オブジェクトをまだ作成していない場合は作成します。例: 許可オブジェクトの作成を参照してください。
CREATE FOREIGN TABLE riverflow , EXTERNAL SECURITY DEFINER TRUSTED DefAuth USING ( LOCATION ('/s3/td-usgs.s3.amazonaws.com/DATA/09380000/2018/06/27') );
JSONファイルでのキーの表示
このクエリーでは、JSON_KEYS関数を使用して、外部テーブルriverflowで指定されたJSONファイル内のキーを表示します。
SELECT DISTINCT * FROM JSON_KEYS (ON (SELECT payload FROM riverflow)) AS j;
結果表示は、次のとおりです。
JSONKeys --------------- "Flow" "Precipitation" "Conductance" "datetime" "site_no" "Temp" "GageHeight"
サンプルのクエリーと結果
このクエリーは、温度が11.0を超えゲージの高さが10.00を超える外部テーブルriverflowから、行を日付と時刻の順に返します。
SELECT payload.Flow, payload.Precipitation, payload.Conductance, payload.datetime, payload.site_no, payload.Temp, payload.GageHeight FROM riverflow 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