Google Data Fusion で Snowflake に連携した ETL プロセスを作成

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
CData JDBC Driver を Google Data Fusion にロードし、Snowflake のデータ にリアルタイムでアクセスできる ETL プロセスを作成します。

Google Data Fusion を使用すると、セルフサービス型のデータ連携を行い、異なるデータソースを統合できます。CData JDBC Driver for Snowflake をアップロードすることで、Google Data Fusion のパイプライン内から Snowflake のデータ にリアルタイムでアクセスできるようになります。CData JDBC Driver を使用すると、Snowflake のデータ を Google Data Fusion でネイティブにサポートされている任意のデータソースにパイプできますが、この記事では、Snowflake から Google BigQuery へデータをパイプする方法を説明します。

Snowflake データ連携について

CData は、Snowflake のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:

  • Snowflake データを迅速かつ効率的に読み書きできます。
  • 指定された Warehouse、Database、Schema のメタデータを動的に取得できます。
  • OAuth、OKTA、Azure AD、Azure マネージド サービス ID、PingFederate、秘密鍵など、さまざまな方法で認証できます。

多くの CData ユーザーは、CData ソリューションを使用して、お気に入りのツールやアプリケーションから Snowflake にアクセスし、さまざまなシステムからデータを Snowflake にレプリケートして、包括的なウェアハウジングと分析を行っています。

CData ソリューションとの Snowflake 統合についての詳細は、ブログをご覧ください:https://jp.cdata.com/blog/snowflake-integrations


はじめに


CData JDBC Driver for Snowflake を Google Data Fusion にアップロード

CData JDBC Driver for Snowflake を Google Data Fusion インスタンスにアップロードして、Snowflake のデータ にリアルタイムでアクセスしましょう。Google Data Fusion では JDBC ドライバーの命名規則に制限があるため、JAR ファイルを driver-version.jar という形式に合わせてコピーまたはリネームしてください。例:cdatasnowflake-2020.jar

  1. Google Data Fusion インスタンスを開きます
  2. をクリックしてエンティティを追加し、ドライバーをアップロードします
  3. "Upload driver" タブで、リネームした JAR ファイルをドラッグまたは参照します。
  4. "Driver configuration" タブで以下を設定します:
    • Name: ドライバーの名前(cdata.jdbc.snowflake)を作成し、メモしておきます
    • Class name: JDBC クラス名を設定します:(cdata.jdbc.snowflake.SnowflakeDriver)
  5. "Finish" をクリックします

Google Data Fusion で Snowflake のデータ に接続

JDBC Driver をアップロードしたら、Google Data Fusion のパイプラインで Snowflake のデータ にリアルタイムでアクセスできます。

  1. Pipeline Studio に移動して、新しいパイプラインを作成します
  2. "Source" オプションから "Database" をクリックして、JDBC Driver 用のソースを追加します
  3. Database ソースの "Properties" をクリックしてプロパティを編集します

    NOTE:Google Data Fusion で JDBC Driver を使用するには、ライセンス(製品版またはトライアル)とランタイムキー(RTK)が必要です。ライセンス(またはトライアル)の取得については、CData までお問い合わせください。

    • Label を設定します
    • Reference Name を将来の参照用の値に設定します(例:cdata-snowflake)
    • Plugin Type を "jdbc" に設定します
    • Connection String を Snowflake の JDBC URL に設定します。例:

      jdbc:snowflake:RTK=5246...;User=Admin;Password=test123;Server=localhost;Database=Northwind;Warehouse=TestWarehouse;Account=Tester1;

      それでは、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(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限したい場合に設定します
      • Schema(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限したい場合に設定します

      Snowflakeへの認証

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

      キーペア認証

      ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成し、キーペア認証で接続することも可能です。この方法で接続するには、AuthSchemePRIVATEKEY に設定し、以下の値を設定してください。

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

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

      ビルトイン接続文字列デザイナー

      JDBC URL の作成には、Snowflake JDBC Driver に組み込まれている接続文字列デザイナーを使用できます。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行してください。

            java -jar cdata.jdbc.snowflake.jar
            

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。

    • Import Query を Snowflake から取得したいデータを抽出する SQL クエリに設定します。例:
      SELECT * FROM Products
  4. "Sink" タブから、同期先シンクを追加します(この例では Google BigQuery を使用します)
  5. BigQuery シンクの "Properties" をクリックしてプロパティを編集します
    • Label を設定します
    • Reference Name を snowflake-bigquery のような値に設定します
    • Project ID を特定の Google BigQuery プロジェクト ID に設定します(またはデフォルトの "auto-detect" のままにします)
    • Dataset を特定の Google BigQuery データセットに設定します
    • Table を Snowflake のデータ を挿入するテーブル名に設定します

Source と Sink を設定すると、Snowflake のデータ を Google BigQuery にパイプする準備が整います。パイプラインを保存してデプロイしてください。パイプラインを実行すると、Google Data Fusion が Snowflake からリアルタイムデータをリクエストし、Google BigQuery にインポートします。

これはシンプルなパイプラインの例ですが、変換、分析、条件などを使用してより複雑な Snowflake パイプラインを作成できます。CData JDBC Driver for Snowflake の 30日間の無償トライアルをダウンロードして、今すぐ Google Data Fusion で Snowflake のデータ をリアルタイムで活用しましょう。

はじめる準備はできましたか?

Snowflake Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Snowflake Enterprise Data Warehouse Icon Snowflake JDBC Driver お問い合わせ

驚くほど簡単にJDBC でJava アプリケーションからSnowflake にデータ連携!