Pentaho Data Integration でSnowflake のデータを連携

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
Pentaho Data Integration で Snowflake のデータ をベースにした ETL パイプラインを構築します。

CData JDBC Driver for Snowflake を使用すると、データパイプラインからリアルタイムデータにアクセスできます。Pentaho Data Integration は、ETL(Extraction, Transformation, and Loading)エンジンであり、データをクレンジングし、アクセス可能な統一フォーマットでデータを格納します。この記事では、Snowflake のデータ に JDBC データソースとして接続し、Pentaho Data Integration で Snowflake のデータ をベースにしたジョブやトランスフォーメーションを構築する方法を説明します。

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


はじめに


Snowflake への接続を設定

それでは、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

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

JDBC URL を設定する際には、Max Rows 接続プロパティの設定も検討してください。これにより返される行数が制限され、レポートやビジュアライゼーションの設計時にパフォーマンスを向上させることができます。

一般的な JDBC URL は次のようになります:

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

接続文字列を保存して、Pentaho Data Integration で使用します。

Pentaho DI から Snowflake に接続

Pentaho Data Integration を開き、「Database Connection」を選択して CData JDBC Driver for Snowflake への接続を設定します。

  1. 「General」をクリックします。
  2. Connection name を設定します(例:Snowflake Connection)。
  3. Connection type を「Generic database」に設定します。
  4. Access を「Native (JDBC)」に設定します。
  5. Custom connection URL に Snowflake の接続文字列を設定します(例:
    jdbc:snowflake:User=Admin;Password=test123;Server=localhost;Database=Northwind;Warehouse=TestWarehouse;Account=Tester1;
    )。
  6. Custom driver class name を「cdata.jdbc.snowflake.SnowflakeDriver」に設定します。
  7. 接続をテストし、「OK」をクリックして保存します。

Snowflake のデータパイプラインを作成

CData JDBC Driver を使用して Snowflake への接続が設定されたら、新しいトランスフォーメーションまたはジョブを作成する準備が整いました。

  1. 「File」>>「New」>>「Transformation/job」をクリックします。
  2. 「Table input」オブジェクトをワークフローパネルにドラッグし、Snowflake 接続を選択します。
  3. 「Get SQL select statement」をクリックし、Database Explorer を使用して利用可能なテーブルとビューを表示します。
  4. テーブルを選択し、必要に応じてデータをプレビューして確認します。

ここから、適切な同期先を選択し、レプリケーション中にデータを変更、フィルタリング、その他の処理を行うトランスフォーメーションを追加することで、トランスフォーメーションまたはジョブを続行できます。

無料トライアルと詳細情報

CData JDBC Driver for Snowflake の 30日間無料トライアルをダウンロードして、Pentaho Data Integration で Snowflake のデータ のリアルタイムデータを今すぐ活用しましょう。

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

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

 ダウンロード

詳細:

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

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