目的
Snowflakeを触り始めて最初にお世話になる以下のチュートリアル.
非常に短時間で学べる良い教材だが,コマンドライン操作を前提としているためハードルが高い.
そこでチュートリアルの内容をコンソールのみ実行するためのメモを残す.
アカウント作成までは済ませた状態とする.
Snowflakeオブジェクトを作成する
SQLを実行するためのワークシートを作成する.
- サイドバーのメニューから
Create
->SQL Worksheet
の順でクリック
あとはチュートリアルと同じクエリをワークシートで実行すればよい.
-- データベースを作成する
CREATE OR REPLACE DATABASE sf_tuts;
SELECT CURRENT_DATABASE(), CURRENT_SCHEMA();
-- テーブルを作成する
CREATE OR REPLACE TABLE emp_basic (
first_name STRING ,
last_name STRING ,
email STRING ,
streetaddress STRING ,
city STRING ,
start_date DATE
);
-- 仮想ウェアハウスを作成する
CREATE OR REPLACE WAREHOUSE sf_tuts_wh WITH
WAREHOUSE_SIZE='X-SMALL'
AUTO_SUSPEND = 180
AUTO_RESUME = TRUE
INITIALLY_SUSPENDED=TRUE;CREATE OR REPLACE WAREHOUSE sf_tuts_wh WITH
WAREHOUSE_SIZE='X-SMALL'
AUTO_SUSPEND = 180
AUTO_RESUME = TRUE
INITIALLY_SUSPENDED=TRUE;
SELECT CURRENT_WAREHOUSE();
データファイルをステージする
Snowflakeの内部ステージを作成する
- サイドバーのメニューから
Create
->stage
->Snowflake Managed
の順でクリック
- ステージ名を入力
- スキーマを選択
-
Create
クリックでステージ作成完了
サンプルデータファイルのステージング
- サイドバーのメニューから
Create
->Add Data
の順でクリック
-
Load files into a Stage
をクリック
- アップロードしたいcsvを選択
- アップロード先のステージを選択
-
Upload
クリックでアップロード完了
以下のクエリをワークスペースで実行し,ステージングされたファイルを確認できる.
LIST @sf_tuts.public.emp_basic;
データをターゲットテーブルにコピーする
以下のクエリをワークスペースで実行し,テーブルにデータをロードする.
-- ステージングされたcsvをターゲットテーブルにロード
COPY INTO emp_basic
FROM @emp_basic
FILE_FORMAT = (type = csv field_optionally_enclosed_by='"')
PATTERN = '.*employees0[1-5].csv'
ON_ERROR = 'skip_file';
ロードされたデータをクエリする
チュートリアルと同様のクエリをワークシート内で実行可能.
-- すべてのデータを取得する
SELECT * FROM emp_basic;
-- 追加のデータ行を挿入する
INSERT INTO emp_basic VALUES
('Clementine','Adamou','cadamou@sf_tuts.com','10510 Sachs Road','Klenak','2017-9-22') ,
('Marlowe','De Anesy','madamouc@sf_tuts.co.uk','36768 Northfield Plaza','Fangshan','2017-1-26');
-- メールアドレスに基づいた行をクエリする
SELECT email FROM emp_basic WHERE email LIKE '%.uk';
-- 開始日に基づき行をクエリする
SELECT first_name, last_name, DATEADD('day',90,start_date) FROM emp_basic WHERE start_date <= '2017-01-01';
クリーンアップ
チュートリアルと同様のクエリをワークシート内で実行可能.
-- データベースを削除
DROP DATABASE IF EXISTS sf_tuts;
-- 仮想データウェアハウスを削除
DROP WAREHOUSE IF EXISTS sf_tuts_wh;
まとめ
今回のチュートリアルの内容であればコンソール上で完結できる.