はじめに
私は初めてプロジェクト参画する前にsnowflakeの無料トライアルを用いて学習を行い、プロジェクトに参画した中で苦労した点が2つありました
-
SQLをサイトで学習してみたけど、細かいデータベースの見方や、使い方がわからない
-
お客様環境と無料トライアルとの違いがありすぎる
ということで、snowflakeを初めて触る人向けに記事を記載することにしました!
今回の記事のアジェンダは以下の通りです
- snowflakeの基本構成をハンズオン形式で簡単なSELECT文を実行
- お客様環境と無料トライアルの違い
まず、snowflakeって?
Snowflakeは、米国Snowflake Inc.が提供するクラウドベースのデータプラットフォームです。
データプラットフォームとは・・・
企業が保有するデータを統合・管理・分析するツールです
snowflakeを使ってみよう
今回やってみること
顧客番号が、5220063の人を選んで、削除してみましょう!
- データベースの確認
- ワークシートの作成
- 実行する
の流れで行います!
無料トライアルアカウント作成
30日間無料でトライアルアカウントを使用できます。
メールアドレスがあれば作成できます!
その他の設定は基本スキップで問題ありません!
データベースはAWSにしてみました
英語が苦手な人は設定必須!
myprofile ⇒ language
で日本語設定ができます
データベースの確認
snowflakeではサンプルデータを用意してくれています!
ログインしたら、snowflakeにあるデータベースを確認してみましょう。
データベースのタブから確認できます。
今回、実行に使用するデータベース、スキーマ
データベース:SNOWFLAKE_SAMPLE_DATA
スキーマ:TPCH_SF100
データベース > SNOWFLAKE_SAMPLE_DATA > TPCH_SF100 >データプレビュー
からどんなデータが入っているか確認できます。
プロジェクトの際はテーブル定義書を確認します。
CUSTOMERというテーブルにC_CUSTKEYで定義されている列があることがわかります。
ワークシートの作成
次はワークシートを作成してみましょう。
プロジェクト > ワークシート > 右上の+ボタンのSQLワークシートを作成をクリック
デフォルトではワークシートを作成した時間になっているので、ダブルクリックしてシート名を変更しましょう。
ワークシートはそのワークシートでやったこと_自分の名前などで保存しておくと他のメンバーが見ても作成者が何をしたのか理解しやすいので変えるように意識しましょう。
今回はTESTと名前を付けてみました。
実行する
データベースとスキーマを選択
権限とウェアハウスを指定
今回はACCONTADMINという権限を付与して、ウェアハウスはCOMPUTE_WHとします。
ウェアハウスの指定についてはお客様環境との違いでお話しします
SQL文を記載し、実行します。
SELECT * FROM CUSTOMER WHERE C_CUSTKEY = 5220063;
実行する際は、実行する部分を選択してから、実行ボタンを押しましょう!
理由は下のお客様環境との違いの章で説明します
無事、顧客番号が、5220063の人を選ぶことができましたね!
お客様環境との違い
私がお客様環境と無料トライアルを使用する際に感じた違いを
- データ分析基盤の三層構造
- 実行の仕方
の観点でお話します
データ分析基盤の三層構造
今回使用したsnowflakeではサンプルデータがもともと入っていました。
しかし、実際のお客様環境は様々なシステムとたくさんのデータを連携しています。
どこに何のデータがあるかを分類する必要があります。
そこで活用されている考え方がデータ分析基盤の三層構造です。
プロジェクト使用したのはDS層,CWH層,DM層の3つです。
-
DS(Data Sourse)
データの読み込みや書き出しを行うためのデータベース -
CWH(Central Ware House)
企業全体にわたるデータを中央に集中化したデータウェアハウス -
DM(Data Mart)
特定の目的に使用するデータのみを抽出して格納するデータベース
ウェアハウスを分類することで、どこの処理にそれくらいのコストがかかっているかや役割の分担などをスムーズに行うことができます。
実行の仕方
右上の▶ボタンは実行ボタンですが、ワークシート上からすべてを実行してしまいます。
お客様環境で新しくテーブルを作成したり、違う時間でタスクを作成してしまうと本番環境に影響を及ぼす可能性があります
実行する際は、実行したいSQL文の部分をマウスでドラッグして選択してから、実行ボタンを押しましょう。
この手順を守ることで、意図しないクエリの実行を避けることができます。
おわりに
今回snowflakeについてまとめてみて、初めて使用する人に説明するにはどうするべきかや調べなおしや嘘を言っていないかの確認など意外と考えることが多く、苦労しました。
記事にしてみることで知識が整理されたり、新たな疑問に気付いたりすることができたので、今後も投稿していきたいと思います。
学習方法について時間があれば追記したいです