ステップ1。データをターゲットテーブルにコピーする¶
COPY INTO <テーブル> を実行して、ステージングされたデータをターゲット RAW_SOURCE
テーブルにロードします。
注釈
データをテーブルにロードするには、ウェアハウスが必要です。前提条件の指示に従ってウェアハウスを作成した場合は、次の段落に進んでください。自動再開が構成されていないウェアハウスを使用している場合は、 ALTER WAREHOUSE を実行してウェアハウスを再開します。ウェアハウスの起動には最大5分かかることがあります。
ALTER WAREHOUSE mywarehouse RESUME;
次の COPY ステートメントは、前提条件スクリプトを使用して作成した外部ステージ上の特定のパスからデータをロードします。この例では、パスは2016年7月15日の17時間(5 PM)に書き込まれたデータをターゲットにしています。Snowflakeは各ファイルの ETag 値をチェックして、1回だけコピーされるようにします。このステートメントは、前提条件スクリプトを使用して作成したターゲット RAW_SOURCE
テーブルへのパスにあるすべての新しいファイルをロードします。
COPY INTO raw_source FROM @my_stage/server/2.6/2016/07/15/15 FILE_FORMAT = (TYPE = JSON);
raw_source
テーブルは、 JSON データをタイプ VARIANT の単一の列に保存します。以下は、テーブルの現在のデータ構造です。列には、2つのイベントの単一バッチのデータが含まれます。この簡単な例では、 device_type
および version
キー値は特定のデバイスからのイベントのデータソースとバージョンを識別します。
SELECT * FROM raw_source; +-----------------------------------------------------------------------------------+ | SRC | |-----------------------------------------------------------------------------------| | { | | "device_type": "server", | | "events": [ | | { | | "f": 83, | | "rv": "15219.64,783.63,48674.48,84679.52,27499.78,2178.83,0.42,74900.19", | | "t": 1437560931139, | | "v": { | | "ACHZ": 42869, | | "ACV": 709489, | | "DCA": 232, | | "DCV": 62287, | | "ENJR": 2599, | | "ERRS": 205, | | "MXEC": 487, | | "TMPI": 9 | | }, | | "vd": 54, | | "z": 1437644222811 | | }, | | { | | "f": 1000083, | | "rv": "8070.52,54470.71,85331.27,9.10,70825.85,65191.82,46564.53,29422.22", | | "t": 1437036965027, | | "v": { | | "ACHZ": 6953, | | "ACV": 346795, | | "DCA": 250, | | "DCV": 46066, | | "ENJR": 9033, | | "ERRS": 615, | | "MXEC": 0, | | "TMPI": 112 | | }, | | "vd": 626, | | "z": 1437660796958 | | } | | ], | | "version": 2.6 | | } | +-----------------------------------------------------------------------------------+
次: ステップ2。クエリデータ