Snowflakeを使ってみた ~無料トライアルのやり方をわかりやすく解説!~(vol.10)
- 公開日:
- 最終更新日:
「Snowflakeに興味はあるけど、説明文や紹介文を読んでも、なかなかイメージがつかない」とお悩みの場合、まずは無料トライアルでSnowflakeを使ってみることをお勧めします。難しく感じるしれませんが、Snowflakeはクラウドベースのサービスなので、利用開始のハードルはあまり高くありません。
本ブログ記事では、筆者が実際にSnowflakeを使ってみた記録をご紹介、Snowflakeの無料トライアルのはじめ方や基本的な利用方法について、わかりやすく解説します。
本ブログ記事が、読者の皆様がSnowflakeを使ってみる、その一歩を踏み出すきっかけとなれば幸いです。
Snowflakeを使ってみた ~まずはアカウントを作ろう!~
まずは、無料トライアルの申し込みページを開きます。
無料トライアルは、30日間で400ドル分のSnowflakeを利用することができます。
Step1:トライアル申し込みページで、名前、メールアドレス、会社名、役職を入力し、次へ進みます。
Step2:利用するSnowflakeのEdition、クラウドプロバイダー、クラウドリージョンを選択し、最後に「はじめる」をクリックします。
SnowflakeのEditionは、スタンダード/エンタープライズ/ビジネスクリティカル の3つを選択できます。
Editionごとに利用可能な機能が異なるため、実際にビジネスで利用する想定のEditionを選択することをお勧めします。ちなみに、我々が担当するプロジェクトでは、セキュリティ・ガバナンスの観点から、ビジネスクリティカルを選択される企業様が多いです。
アジア太平洋地域の場合、Snowflakeをホスト可能なクラウドプラットフォーム・リージョンは次の通りです。ここで選択したクラウドプラットフォームのリージョン上に、Snowflakeがプロビジョニングされます。
クラウドプロバイダー | クラウドリージョン |
Amazon Web Services(AWS) | アジア太平洋(東京) or アジア太平洋(大阪) |
Google Cloud Platform(GCP) | ※アジア太平洋地域へのホストをサポートしていません。 |
Microsoft Azure(Azure) | 日本 東部(東京) |
Step3:Step1で登録したメールアドレス宛に、Snowflakeからアクティベーションメールが届きます。72時間以内に、メール内の「CLICK TO ACTIVATE」リンクを押します。
Step4:Snowflakeの初回ログイン画面がブラウザで開きます。ログインユーザー名・パスワードを設定し、「はじめる」をクリックします。
Step5:SnowflakeのWeb管理コンソールにログインできました。これで、Snowflakeの利用が可能となりました。
Step1~5まで、たった5分程の時間で、Snowflakeのアカウントを作成することができました。
Snowflakeを使ってみた ~クエリを発行してみよう!~
アカウントを作成してログインすると、既にチュートリアル用のワークシートとサンプルデータベースが用意されおり、すぐにSnowflakeのデータベースを操作可能な状態となっています。
サンプルデータベースには数億規模のサンプルデータも用意されていて、簡単に性能を検証することができます。
ここでは、「Tutorial1」のワークシートを開いてみます。
ワークシート上のSQLを選択し、ブラウザ右上の実行ボタンを押すと、選択していたSQLが実行されます。
すると、「アクティブなウェアハウスがありません」、というエラーが出ました。
ウェアハウスとは、Snowflakeのコンピュートを担うコンピュートリソースです。
SnowflakeでSQLクエリを実行する際には、“どのウェアハウス(コンピュートリソース)を利用するか”を指定する必要があります。
*Snowflakeでは、データを保管するストレージ層と処理を実行するコンピュート層が分離独立しており、コンピュートをつかさどるクラスタを「ウェアハウス」と呼びます。この独自のアーキテクチャにより享受できるメリットについては、「Snowflakeとは? ~機能・特徴・データクラウドの意味をわかりやすく解説~(vol.1)」をご覧ください。
このエラーを解消するため、ワークシート上部のウェアハウスの選択バーから、利用するウェアハウスを選択します。
ウェアハウスを指定し、再度SQLを実行すると、無事にSQLクエリの結果が取得できました。
操作が簡単なので、他にも様々なSQLクエリを発行してみました。
すると、データ量の多いスキーマのテーブルに対して相応のクエリを発行してしまい、2分近く待っても結果が戻ってこない状態に陥ってしまいました。仕方ないので、「Cancel」をします。
このような時は、Snowflakeの本領発揮です。
ワークシートの上部に、ウェアハウスの選択バーから、利用しているウェアハウスのサイズ(コンピュートリソースの性能)を変更します。
ここでは、「X-Small」から「Large」に変更してみました。サイズ変更により、処理性能は8倍になります。
ウェアハウスのサイズを「Large」にした直後にSQLを発行すると、わずか16秒で無事に結果が返ってきました。
ここでのポイントは、Webブラウザ上で簡単に処理性能の変更ができること、そして、その変更が即時反映されることです。
以上の一連の操作から、ウェアハウスの起動・停止、コンピュートリソースのスケールアウト・スケールアップが簡単に行えることが実感できました。
Snowflakeを使ってみた ~データをロードしてみよう!~
次に、自社で保持するオリジナルデータをSnowflakeにロードする方法を解説します。
最初に、WebのUIを利用して、ローカルにあるファイルをロードする方法を解説します。
Classic Consoleの「データベース」メニューから、対象のテーブルを開きます。
「テーブルをロード」ボタンを押します。
次に、ロードに利用するウェアハウスを選択します。
ロードするファイルを選択します。
ファイル形式を選択し、ロードします。
ここまで、SQL等のコマンドは不要で、すべてWebUIを使って操作ができました。
サンプルではファイル形式でCSVを選択していますが、TSVやJSON、圧縮済みファイル等のファイル形式を定義可能です。
ただし、WebUIを使たローカルファイルのロードについては、50MBのサイズ上限があります。テストデータ等であれば問題ありませんが、PoCでレスポンスを検証したい場合、それなりのボリュームのデータをロードする必要があります。
50MB以上のデータをロードする場合は、クラウドストレージにデータファイルを用意し、クラウドストレージを介してSnowflakeにデータをロードしましょう。その手順を簡単に解説します。
- Snowflakeにロードするデータファイルを、Amazon S3やAzure Strageなどのクラウドストレージに配置します。
- 1.のストレージを、Snowflakeの外部ステージとして登録します。
例えば、ストレージがAWS S3であった場合、下記コマンドで外部ステージを登録することができます。CREATE STAGE my_ext_stage
URL=’s3://xxx
CREDENTIALS=(AWS_ROLE=’arn:aws:iam:: xxx:role/ xxx role’)※S3のバケットやIAMロールの「xxx」には、クラウドストレージの設定を記載します。
- COPY文を使って、②のストレージ上のデータファイルをテーブルに読み込みます。
例えば、下記コマンドで外部ステージ上のデータファイル(CSV)をテーブルにロードすることができます。COPY INTO TBL1 from @my_ext_stage/xxxx.csv file_format=(type=csv);
なお、データ量が多くなってきた場合は、複数に分割されたデータファイルを並列で取り込むことをおすすめします。処理の並列度が上がることで、データ取込がより高速になるためです。
まとめ
さてここまで、筆者が実際にSnowflakeを使ってみた記録や、Snowflakeの利用手順を解説して参りました。
一連の流れから、次のような印象を受けたのではないでしょうか?
- Snowflakeの無料トライアル環境は、簡単に作成できる
- Snowflakeの環境には、あらかじめサンプルデータベースやチュートリアルが用意されていて、トライアルであってもすぐに学習をはじめられる
- ローカルやクラウドストレージ上のデータファイルを、簡単にSnowflakeにロードできる
是非、皆さまも一度、無料トライアルをお試しください。実際に触ってみることで、Snowflakeの特徴やメリット、操作性などを実感していただければと思います。
弊社では、Snowflake導入前のPoC(Proof of Concept)をご支援するサービスをご提供しております。
・PoC支援サービス:https://itsol.dentsusoken.com/snowflake/service/poc/
データ分析基盤の構築において、データ量と処理性能は、ソリューションの選定における非常に大きなポイントとなりますので、パフォーマンス検証などをご検討の場合は、お気軽にお声掛けください。
◆ お問い合わせページ:https://itsol.dentsusoken.com/snowflake/inquiry/
*本記事は、2023年5月1日時点の情報を基に作成しています。
製品・サービスに関する詳しいお問い合わせは、電通総研のWebサイトからお問い合わせください。