ETL Validator JDBC でSnowflake のデータを扱う方法
ETL Validator は、組織全体のデータプラットフォームを統合するためのデータ移動と変換機能を提供します。 CData JDBC ドライバーは ETL Validator とシームレスに統合され、ネイティブの接続機能を拡張してSnowflake のデータを含めることができます。
このチュートリアルでは、シンプルな ETL Validator データフローを構築し、Snowflake のデータを抽出して、サンプルのデータストレージソリューションである SQL Server にロードする手順を説明します。
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 経由で新しい ETL Validator データソースを追加
CData は、CData JDBC ドライバー経由で接続するデータソースを追加できるようにすることで、ETL Validator のデータ接続機能を拡張します。Snowflake のデータへの接続は、以下の手順で CData の接続スイートを通じて ETL Validator で新しいデータソースを作成するだけです。
ETL Validator にログイン
まず、ETL Validator にログインしてアプリケーションダッシュボードを表示します。
データソースの追加をクリック
CData は ETL Validator 内のデータソースオプションを拡張します。
CData をクリック
CData の接続機能は ETL Validator のデータソースオプションに組み込まれています。
CData Driver の接続文字列を設定
ETL Validator で Snowflake への接続を確立するには、JDBC 接続文字列が必要です。
それでは、Snowflake データベースに接続していきましょう。認証に加えて、以下の接続プロパティを設定します。
- Url:お使いのSnowflake URL を指定します。例:https://orgname-myaccount.snowflakecomputing.com
- Legacy URL を使用する場合:https://myaccount.region.snowflakecomputing.com
- ご自身のURL は以下のステップで確認できます。
- Snowflake UI の左下にあるユーザー名をクリックします
- Account ID にカーソルを合わせます
- Copy Account URL アイコンをクリックして、アカウントURL をコピーします
- Database(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限したい場合に設定します
- Schema(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限したい場合に設定します
Snowflakeへの認証
CData 製品では、Snowflake ユーザー認証、フェデレーション認証、およびSSL クライアント認証をサポートしています。認証するには、User とPassword を設定し、AuthScheme プロパティで認証方法を選択してください。
キーペア認証
ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成し、キーペア認証で接続することも可能です。この方法で接続するには、AuthScheme をPRIVATEKEY に設定し、以下の値を設定してください。
- User:認証に使用するユーザーアカウント
- PrivateKey:プライベートキーを含む.pem ファイルへのパスなど、ユーザーに使用されるプライベートキー
- PrivateKeyType:プライベートキーを含むキーストアの種類(PEMKEY_FILE、PFXFILE など)
- PrivateKeyPassword:指定されたプライベートキーのパスワード
その他の認証方法については、ヘルプドキュメントの「Snowflakeへの認証」セクションをご確認ください。
ビルトイン接続文字列デザイナー
JDBC URL の構成については、Snowflake JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行します。
java -jar cdata.jdbc.snowflake.jar
一般的な接続文字列は以下のようになります。
jdbc:snowflake:User=Admin;Password=test123;Server=localhost;Database=Northwind;Warehouse=TestWarehouse;Account=Tester1;
ドライバーのライセンス
JDBC ドライバーが適切にライセンスされていることを確認するには、ライセンスファイルを適切な場所にコピーします。
Snowflake 用の JDBC Driver と lic ファイルを「C:\Program Files\CData[product_name]\lib」から 「C:\Datagaps\ETLValidator\Server\apache-tomcat\bin」にコピーします。
cdata.jdbc.snowflake.jar
cdata.jdbc.snowflake.lic
注意:.lic ファイルを jar と一緒にコピーしない場合、有効なライセンスがインストールされていないことを示すライセンスエラーが表示されます。これは評価版と正式版の両方に当てはまります。
接続を保存
CData JDBC ドライバークラスのロードで問題が発生した場合は、DataGap のチームにお問い合わせください。関連するドライバーの jar ファイルをロードする方法について案内を受けることができます。
SQL Server をターゲットとして追加
この例では Snowflake のデータの保存先として SQL Server を使用しますが、任意の保存先を代わりに使用できます。
DataSources に移動し、MS_SQL_SERVER を選択
このオプションがデフォルトです。
必要な接続の詳細を入力し、接続をテスト
詳細は特定のターゲットによって異なりますが、URL、認証情報などが含まれる場合があります。
ETL Validator でデータフローを作成
Dataflows タブを開く
設定済みのデータフローがこのウィンドウに表示されます。
Create Dataflow を選択
新しいデータフローに名前を付けて保存します。
データフローを開いてデータフロー図を表示
データ移動の詳細はこのパネルで設定します。
右側から JDBC をソースとしてドラッグ&ドロップ
新しいソースに適切な名前を付けて保存します。
新しいソースの Query セクションを入力
Snowflake のデータからどのデータを取得するかを反映するテーブルを Schema オプションから選択します。
クエリの予想結果を確認
設定したクエリの予想される結果が Result タブに表示されます。
データフローに保存先を追加
「Switch to Diagram」を選択し、右側(Sink オプションの下)から DB Sink をターゲットとしてドラッグ&ドロップします。シンクに適切な名前を付けて保存します。
保存先の適切なスキーマを設定
ソーステーブルの構造に一致するスキーマとテーブルを選択します。この例では、ターゲット側のテーブルがソースに一致するように作成されているため、データがシームレスに流れます。より高度なスキーマ変換操作については、この記事の範囲外です。
RUN オプションをクリックしてレプリケーションを開始
ジョブの実行には時間がかかります。
完成したデータフローを確認
図に戻り、Snowflake のデータから SQL Server への完成したデータレプリケーションジョブを確認します。
今すぐ始めましょう
CData JDBC Driver for Snowflake の30日間無償トライアルをダウンロードして、 ETL Validator で Snowflake 連携アプリケーションの構築を始めましょう。ご不明な点がございましたら、 サポートチームまでお問い合わせください。