MySQL Workbench からSnowflake のデータをクエリする方法

MySQL Workbench からSnowflake のリアルタイムデータにクエリを実行します。

古川えりか
コンテンツスペシャリスト

最終更新日:2022-06-10

この記事で実現できるSnowflake 連携のシナリオ

こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。

ODBC Driver for Snowflake とSQL Gateway を使用することで、MySQL インターフェースを使ってSnowflake にクエリを実行できます。この記事では、MySQL Workbench からSnowflake のデータにSQL クエリを投げてデータを取得する方法をご紹介します。

CData ODBC ドライバとは?

CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。

  1. Snowflake をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
  2. 多様なアプリケーション、ツールにSnowflake のデータを連携
  3. ノーコードでの手軽な接続設定
  4. 標準 SQL での柔軟なデータ読み込み・書き込み

CData ODBC ドライバでは、1.データソースとしてSnowflake の接続を設定、2.MySQL Workbench 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC ドライバのインストールとSnowflake への接続設定

まずは、本記事右側のサイドバーからSnowflake ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

未指定の場合は、データソース名(DSN)で必要な接続プロパティの値を指定します。ドライバーのインストールの最後にODBC アドミニストレーターが開きます。Microsoft ODBC データソースアドミニストレーターでDSN を作成及び設定する方法については、ヘルプドキュメントの[はじめに]チャプターを参照してください。

Snowflake データベースに接続するには、認証に加えて次のプロパティを設定します。

  • Url:自身のSnowflake URL、例えばhttps://orgname-myaccount.snowflakecomputing.com
    • Legacy URL を使用する場合:https://myaccount.region.snowflakecomputing.com
    • 自身のURL を見つけるには:
      1. Snowflake UI の左下にある自身の名前をクリックします。
      2. Account ID にカーソルを合わせます。
      3. Copy Account URL アイコンをクリックして、アカウントURL をコピーします。
  • Database(オプション):によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限します。
  • Schema(オプション):本製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限します。

Snowflake への認証

本製品は、Snowflake ユーザー認証、フェデレーション認証、およびSSL クライアント認証をサポートしています。認証するには、UserPassword を設定し、AuthScheme プロパティで認証メソッドを選択します。

キーペア

ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成することにより、キーペア認証を使用して認証できます。この方法で接続するには、AuthSchemePRIVATEKEY に設定し、次の値を設定します。

  • User:認証に使用するユーザーアカウント。
  • PrivateKey:プライベートキーを含む.pem ファイルへのパスなど、ユーザーに使用されるプライベートキー。
  • PrivateKeyType:プライベートキーを含むキーストアの種類(PEMKEY_FILE、PFXFILE など)。
  • PrivateKeyPassword:指定されたプライベートキーのパスワード。

その他の認証方法は、ヘルプドキュメントの「Snowflake への認証」セクションを参照してください。

SQL Gateway を構成する

Snowflake への接続を仮想MySQL データベースとして設定する方法については、SQL Gateway の解説記事 を参照してください。クライアントからのMySQL リクエストを受けるMySQL リモートサービスを構築します。このサービスは、SQL Gateway のUI で構成できます。

SQL Gateway でMySQL のリモーティングサービスを設定

MySQL Workbench からSnowflake をクエリ

以下のステップでは、MySQL Workbench からSQL Gateway で作成された仮想Snowflake のデータベースに接続し、Snowflake のデータをリアルタイムで操作するための基本的なクエリを発行する方法を説明します。

SQL Gateway を介してSnowflake に接続

  1. MySQL Workbench で、[add a new MySQL connection]をクリックします。
  2. 接続(CData SQL Gateway for Snowflake)に名前を付けます。
  3. HostnamePortUsername のパラメータを設定し、SQL Gateway に接続します。
  4. Store in Vault をクリックしてパスワードを設定し、保存します。
  5. Test Connection をクリックして接続が正しく構成されていることを確認し、OK をクリックします。

Snowflake のデータをクエリしてみる

  1. 作成した接続(CData SQL Gateway for Snowflake)を開きます。
  2. [File]->[New Query Tab]と進みます。
  3. SELECT * FROM `CData Snowflake Sys`.Products; のようなSnowflake のデータを取得するSQL を書いて、実行します。
  4. 無事、Snowflake のデータが取得できました。

おわりに

MySQL Workbench からリアルタイムSnowflake のデータにアクセスすることで、MySQL データベースと同じようにSnowflake をクエリおよび更新できます。CData ODBC Driver for Snowflake とCData SQL Gateway の30日の無償評価版はこちらです。

CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。