【第1回】 Snowflake データベース・スキーマ・テーブル作成

こちらの記事は、Azure BLOB StorageのデータをSnowflakeに連携しPower BIで可視化するまでの手順を解説する、計4記事に渡るシリーズものの1記事です。

  • 【第0回】 Snowflake とは
  • 【第1回】 データベース・スキーマ・テーブル作成 ★本記事
  • 【第2回】 Azure~Snowflake間のデータ連携
  • 【第3回】 テーブルの可視化

本記事の内容

様々なシステムから得られたデータを効率的に分析するためには、一貫した形式に整形して一元管理する必要があります。その役割を担うのがData Warehouse(Snowflake)です。

本記事では最初の一歩として、データソースから収集したデータの格納先となるSnowflakeのオブジェクト(データベース、スキーマ、テーブル)を作成する手順を紹介します。

次の記事ではAzure BLOB StorageからSnowflakeにデータを連携する手順を紹介するのですが、Snowflakeに連携したデータは本記事で作成したテーブルにロードします。

Snowflake 無料トライアル

https://www.snowflake.com/?lang=jaから30日間400ドル相当の無料トライアルが可能です。

 

  1. 上記リンクからSnowflakeのサイトに飛び、「無料トライアル」をクリックします。

  2. 名前やメールアドレス等の情報を入力します。

  3. エディションとクラウドプロバイダー、リージョンを選択し「はじめる」をクリックします。

    エディションはスタンダード、エンタープライズ、ビジネスクリティカル、クラウドプロバイダーはAWS、GCP、Azureが選択可能です。今回は最終的にAzure Blob上のデータを連携したいので、Azureのjapan-east、エディションはエンタープライズを選択します。

  4. 2で入力したメールアドレス宛にメールが届きますので、「CLICK TO ACTIVATE」をクリックします。

  5. 無料トライアルで使用するユーザーのユーザー名、パスワードを入力し、「はじめる」をクリックします。

  6. ここまでの作業で無料トライアルが利用可能になります。

データベース作成

テーブルを作成する前に、データベースとスキーマを作成します。

通常、データベースは、本番、検証、開発などの作成粒度で作成されます。スキーマの作成粒度に関しては様々ありますが、本記事では割愛します。

データベース、スキーマ、テーブルはWEB UI、またはDDLで作成可能ですが、今回はDDLで作成します。DDLとは、SQLという言語を使って記述したものです。SQLはデータベースを操作するための標準的な言語で、多くのデータベース管理システムで使用されています。

1.左の「Worksheets」タブを選択し、右上の「+ Worksheet」をクリックします。

2.ワークシートにDDLを入力し、右上の「RUN」をクリックします。

 

3.TESTデータベースが作成されました。

スキーマ作成

続いてTESTデータベースにTESTスキーマを作成します。

同様にDDLを入力し、右上の「RUN」をクリックします。

テーブル作成

TESTスキーマにTESTテーブルを作成します。

同様にDDLを入力し、右上の「RUN」をクリックします。

WEB UIからもTESTデータベース、TESTスキーマ、TESTテーブルが作成されていることが確認できます。

データINSERT

テーブルにデータを入れる方法は、主に3つあります。

  • クラウドストレージ上のデータをロードする
  • WEB UIからローカルのデータをロードする
  • INSERT文でデータを挿入する

Amazon S3やAzure BLOB Storage等のクラウドストレージ上からデータをロードするためにはクラウド側の設定も必要になるため、別記事で紹介します。

WEB UIからのロードは、classic web interface(旧インタフェース)から可能です。

Snowflakeでは現在、Snowsightと呼ばれる新しいインタフェースが提供されており、無料トライアルではSnowsightのみ使うことができます。そのためトライアルではWEB UIからデータをロードすることはできません。

有料版では、classic web interfaceとSnowsightどちらのインタフェースも使用することができます。

そのため、この記事ではINSERTによりデータを挿入します。

下記のINSERT文で、NO:1,NAME:山田太郎、NO:1,NAME:山田花子のレコードをTESTテーブルに挿入します。

テーブルデータ抽出

プレビューまたはSELECT文でテーブルに入っているデータを抽出することができます。

テーブルに入っているデータをフィルタせずに抽出する場合には、プレビュー、SELECT文のどちらでも可能ですが、フィルタして表示する場合にはSELECT文を使用する必要があります。

プレビューは、左の「Databases」タブ⇒TESTデータべース⇒TESTスキーマ⇒TESTテーブルを選択し、左下の虫眼鏡のアイコンをクリックすることでデータINSERTで挿入したレコードが表示されました。プレビューでは100行まで表示可能です。

WEB UIからのSELECT文では、プレビューよりも多くの行数を表示できますが表示サイズが大きい場合には一部のデータしか表示されません。

また、指定した列だけを表示する、フィルタして表示するなど加工した結果を表示することが可能です。

SELECT文を実行し、データINSERTで挿入したレコードが確認できました。

おわりに

以上で、「【第1回】 Snowflake データベース・スキーマ・テーブル作成」の紹介を終わります。ここまでの手順でデータベース・スキーマ・テーブルを作成することができました。

次回は、クラウドストレージ上のデータをSnowflakeのテーブルにロードする部分(Azure~Snowflake間のデータ連携)について紹介したいと思います。

執筆担当者プロフィール
平木 伊織

平木 伊織(日本ビジネスシステムズ株式会社)

ハイブリッドクラウド本部ハイブリッドクラウド5部4グループ。Snowflake、AWS、Azureなどを扱っています。

担当記事一覧