LoginSignup
0
1

Snowflakeの20分チュートリアルをコンソールのみで実行

Last updated at Posted at 2024-05-11

目的

Snowflakeを触り始めて最初にお世話になる以下のチュートリアル.

非常に短時間で学べる良い教材だが,コマンドライン操作を前提としているためハードルが高い.
そこでチュートリアルの内容をコンソールのみ実行するためのメモを残す.

アカウント作成までは済ませた状態とする.

Snowflakeオブジェクトを作成する

SQLを実行するためのワークシートを作成する.

  • サイドバーのメニューからCreate -> SQL Worksheetの順でクリック

スクリーンショット 2024-05-11 230227.png

あとはチュートリアルと同じクエリをワークシートで実行すればよい.

-- データベースを作成する
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の順でクリック

スクリーンショット 2024-05-11 231412.png

  • ステージ名を入力
  • スキーマを選択
  • Createクリックでステージ作成完了

スクリーンショット 2024-05-11 231800.png

サンプルデータファイルのステージング

  • サイドバーのメニューからCreate -> Add Dataの順でクリック

スクリーンショット 2024-05-11 233002.png

  • Load files into a Stageをクリック

スクリーンショット 2024-05-11 233137.png

  • アップロードしたいcsvを選択
  • アップロード先のステージを選択
  • Uploadクリックでアップロード完了

スクリーンショット 2024-05-11 233410.png

以下のクエリをワークスペースで実行し,ステージングされたファイルを確認できる.

LIST @sf_tuts.public.emp_basic;

スクリーンショット 2024-05-11 233839.png

データをターゲットテーブルにコピーする

以下のクエリをワークスペースで実行し,テーブルにデータをロードする.

-- ステージングされた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';

スクリーンショット 2024-05-11 235328.png

ロードされたデータをクエリする

チュートリアルと同様のクエリをワークシート内で実行可能.

-- すべてのデータを取得する
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;

まとめ

今回のチュートリアルの内容であればコンソール上で完結できる.

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1