【Snowflake】初心者向け│SnowflakeでSQLを実行する方法

【Snowflake】初心者向け│SnowflakeでSQLを実行する方法

更新日:2024/05/09

この記事をシェア

  • X
  • Facebook
  • LINE
  • COPY LINK
クリップボードにコピーしました

この記事が解決できること

  1. SnowflakeでSQLクエリを作成することができる。
  2. クエリを実行するまでの基本的な操作が分かる

はじめに

Snowflakeはクラウドベースのデータウェアハウスサービスであり、柔軟性、スケーラビリティ、使いやすさを特徴としています。
この記事を読めば、Snowflakeの大枠の構造と基本構造を理解して、”とりあえずSnowflakeでSQLを回してデータを取得できる” までが可能です。

Snowflakeの基本概念

まずはSnowflakeをクエリを作成する際に必要な、「Snowflakeの基本概念」をできるだけ分かりやすく紹介します。

■データウェアハウス

Snowflakeにおける「ウェアハウス」とは、SQLクエリの実行に使用される計算リソース(=計算処理の能力)のことです。
Snowflakeは使用量によって料金が変動する「従量課金制」となっていますが、必要に応じて「ウェアハウス」を調整することができます。

例えば……

大量のデータをすばやく分析したい場合には、ウェアハウスのサイズを大きくすることでより多くの計算リソースを使って作業を速めることができます。 逆に、データ量が少ない時や急いでいない時には、ウェアハウスのサイズを小さくしてリソースを少なくすることで、コストを節約することも可能です。

ウェアハウスサイズクレジット / 時間クレジット / 秒注意
XS10.0003Snowsight で作成され CREATE WAREHOUSE を使用するウェアハウスのデフォルトサイズ。
S20.0006
M40.0011
L80.0022
XL160.0044Classic Console を使用して作成されたウェアハウスのデフォルトサイズ。
2XL320.0089
3XL640.0178
4XL1280.0356
5XL2560.0711Amazon Web Servicesリージョンで一般公開され、 US 政府およびAzureリージョンではプレビュー段階にあります。
6XL5120.1422Amazon Web Servicesリージョンで一般公開され、 US 政府およびAzureリージョンではプレビュー段階にあります。
▲ウェアハウスの一覧

※XS(一番小さい)~6XLの順番で処理スピードが速くなるが、料金もその分高くなります
👉公式ドキュメント

■データベースとスキーマ

Snowflakeにおける「データベース」とは、一つの大きなデータの箱のようなもの。さまざまな種類のデータが集められ、保存される場所です。
Snowflakeにおける「スキーマ」は、データベース内でさらにデータを小分けに整理する役割を持っています。これにより、特定のデータセットへのアクセスが簡単になります
また、スキーマの中には、「テーブル」「ビュー」等のデータベースオブジェクトが保管されています。

■ロール

Snowflakeにおける「ロール」は、ユーザーがデータベース内で何ができるかを決定する役割を持つセキュリティ機能です。ロールはユーザーに特定の権限を与えることで、どのデータにアクセスできるか、どのような操作ができるかを管理します。

ロール説明
SYSADMINシステム管理タスクを実行するためのロール。データベースやウェアハウスの作成、ユーザー管理などの操作が可能です。
ACCOUNTADMINアカウントレベルの最高管理者ロール。すべてのデータベースオブジェクト、ユーザー、ロール、ウェアハウスに対する完全な権限を持ち、請求やアカウント設定の変更が可能です。
SECURITYADMINユーザーとロールの管理に特化したロール。ユーザーの作成やロールの割り当て、パスワードポリシーの設定などの権限を持ちます。
USERADMINユーザーとロールの作成および管理を行うロール。SECURITYADMIN よりも限定的な権限で、主にユーザー管理に関連するタスクに使用されます。
PUBLICSnowflake に作成されるすべてのユーザーに自動的に割り当てられるロール。最低限のアクセス権限が付与されています。
▲主なロール

※ロールをカスタマイズすることも可能です。
👉公式ドキュメント

Snowflakeの基本操作方法

Snowflakeでクエリを作成→実行する際の基本的な操作をご紹介します。

日本語表記ではまれにエラーになることがあるので、本記事では言語設定:Englishのまま説明していきます。

言語設定の変更方法

①左下のアイコンから「My profile」を選択
②Languageより、「日本語」にチェックを入れて「save」ボタンをクリック
 →日本語表記になります

SQLクエリの作成→実行方法

①最初にSQLのワークシートを開きます

「Worksheet」→右上の「+」をクリック

「SQL Worksheet」を選択

SQLのワークシートが表示される

②ロールとウェアハウスを選択します

SQLワークシート右上をクリック

ロールとウェアハウスを選択

ウェアハウスの詳細確認

以下のボタンからウェアハウスの詳細を確認することもできます。

③SQLワークシート左上より、使用するデータベースを選択します

事前にデータベースを設定することで、参照元を明確にし、クエリ内でデータベース名を完全に修飾しなくても、スキーマ内を参照できます。 (スキーマまで設定するとスキーマ名も省略可能)

例えば……

データベースに「SNOWFLAKE_SAMPLE_DATA」を選択した場合、 クエリで「SNOWFLAKE_SAMPLE_DATA」を省略してもクエリが実行されます

④実際にクエリを書いて、実行します

クエリを実行する際は、Ctrl+Enterまたは、右上のボタンをクリックします

👇
クエリ実行中……

👇
クエリ結果が表示されます!

クエリ結果はテーブルとして表示されます。スプレッドシートの場合と同様に、結果テーブルの列、セル、行、または範囲を選択できます。また、選択内容をコピーして貼り付けることができます。

全体の実行方法

ワークシート全体を実行するには、「∨」のドロップダウンメニューから「Run All」を選択します。

結果テーブルのダウンロード・コピー方法

結果テーブルのダウンロード方法

結果テーブル右上のボタンより、ダウンロードが可能です。

結果テーブルのコピー方法

結果テーブルをCtrl+C(⌘+C)でコピーしてExcel等にそのまま貼り付けることも可能です。
左上の空白部分をクリックするとカラム全体が選択されるので、Ctrl+C(⌘+C) でコピー完了です。

以下のように指定の列を選択することも可能です。

ShiftやCtrlで複数列選択することや、行の選択も可能です。

※クエリ結果は、最大10,000行のテーブルとして表示されます。クエリが10,000行を超える場合は、 必ず「ダウンロード」を使用しましょう。

ワークシートの名前変更方法

ワークシート名は、デフォルトでワークシートを作成した時刻(例:2024-04-19 5:54pm)になります。

ワークシート名を変更する場合は、ワークシート名部分をダブルクリック、もしくはRenameより変更しましょう。

Snowflakeは、クエリ入力時にワークシート・クエリ内容が自動的に保存されます。

ワークシートを削除したい場合は、「Delete Worksheet」から削除できます。

最後に

Snowflakeは、データを扱う際の多くの課題を解決する強力なツールです。
この記事を通じて、Snowflakeの基本を理解し、どのようにビジネスに活用できるかの第一歩を踏み出しましょう。

データ活用でお困りの方へ

私たちDX-Accelerator事業では、データ活用についての様々なスキルを持った人材が常駐でデータ活用支援を行うサービスを提供しています。
当事業はローンチから約2年(24年2月時点)ですが、これまでに様々な業界・業種のお客さまのお手伝いをさせていただいております。

少しでも興味を持ってくださったり、すでにご相談をしたいことがある方はお気軽にご相談ください。現在あなたの組織のフェーズがどこにあるかは関係ありません。まずはお話をしましょう。

もう少しサービスについて知りたい方はサービス紹介資料もご用意しています。

この記事をシェア

  • X
  • Facebook
  • LINE
  • COPY LINK
クリップボードにコピーしました

カテゴリから記事を探す

データエンジニアの呟き

オウンドメディア分析

アクセスログ分析

施策効果分析

関連記事

DX-Acceleratorについて
より詳しく知りたい方!

DX-Accelerator データ人材常駐支援サービス

即戦力の
アナリティクスエンジニアが
常駐支援!
まずはお気軽にご相談ください。

DX-Acceleratorについて
より詳しく知りたい方!