Talend Open StudioでAzure SQL Data Warehouseと連携する

はじめに

前回に続き、Talend Open Studio for Data Integrationを利用して、Azureのデーターベースに対して、データのインポートとエクスポートを試してみます。
前回の記事:https://tech-lab.sios.jp/archives/5666

今回は、Azureのデーターベースには「SQL Data Warehouse」を使用します。
SQL Data Warehouseのエンジンの基盤はSQL Server のため、Talendでの設定方法は前回とほぼ同じとなります。

今回の動作環境

動作環境は下記になります。

  • Talend の環境
    –  Windows 10 64bit
    –  jdk-8u144-windows-x64.exe
  • SQL Data Warehouse の環境
    –  任意のデータベースに、テーブル名「test_table」作成する
    –  テーブル名「test_table」のスキーマは以下「※テーブルのスキーマ」のとおり設定する

※テーブルのスキーマ
カラム名:time で、 データ型:smalldatetime
カラム名:name で、 データ型:nvarchar(4000)
カラム名:age で、 データ型:smallint

Talendの利用方法

前回と同じ下図の処理フローをTalend Open Studio for Data Integrationで作成していきます。

  1. JDBC経由でAzure SQL Data Warehouseへのデータインポート
  2. JDBC経由でAzure SQL Data Warehouseからデータ取得
  3. 確認のため、取得したデータを標準出力
    input

各コンポーネントの設定方法も前回と同じ要領で、以下の設定を行います。

JDBCドライバの設定

DB接続の共有設定のために、tJDBCConnectionコンポーネントを利用します。
SQL ServerのJDBCドライバ6.2をこちらからをダウンロードします。

tJDBCConnectionの設定
JDBCのURL:"jdbc:sqlserver://${サーバ名}.database.windows.net:1433;database=${データベース名};encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;"
ドライバJarファイル:${ダウンロードしたJDBCのファイルパスを指定}
ドライバクラス:"com.microsoft.sqlserver.jdbc.SQLServerDriver"
ユーザ名:"${Azure SQL Data Warehouseに作成したユーザー}"
パスワード:"${Azure SQL Data Warehouseに作成したパスワード}"
自動コミットを使用:チェックはしない

CSVファイルの読み込み

インポート対象のデータは前回と同じUTF8のCSV形式のファイル(ヘッダー付)を用意します。

tFileInputDelimitedの設定
ファイル名/ストリーム:"${CSVファイルを配置したファイルパスを指定}"
CSVの行区切り文字:LF(\n)
フィールド区切り記号:","
CSVオプション:チェックする
ヘッダー:1
スキーマの編集:以下「※スキーマの設定」のとおり設定する
エンコード:UTF-8

※スキーマの設定
スキーマの編集にて、以下のスキーマを設定することでデータの取得が可能となります。

input

Azure SQL Data Warehouseへのデータ挿入

JDBCを利用してクエリを発行します。

tJDBCOutputの設定
既存の接続を使用:チェックする
コンポーネントリスト:(上記で設定した)tJDBCConnection_1
テーブル:"test_table"
データ操作:挿入を指定
スキーマの編集:tFileInputDelimitedとリンク設定後に、(上記で設定した)tFileInputDelimitedと同じことを確認

Azure SQL Data Warehouseからのデータ取得

JDBCを利用してデータを取得します。

tJDBCInputの設定
既存の接続を使用:チェックする
コンポーネントリスト:(上記で設定した)tJDBCConnection_1
スキーマの編集:(上記で設定した)tFileInputDelimitedと同じとすること
テーブル名:"test_table"
クエリ:"SELECT * FROM test_table"

各コンポーネント間のリンク設定

設定方法は、前回と全く同じ要領のため、詳細は前回の同じ箇所を参照。

ジョブの実行

全ての設定が完了した後、ジョブの実行をします。 実行後、下図に示されるのジョブ実行のパネルにて、処理結果が表示されます。
CSVファイルのデータを挿入したテーブルからデータを取得した内容が、”|”区切りで表示されていることが分かります。
input

クライアント管理ツールのSSMS(SQL Server Management Studio)でも確認してみます。
下図のとおり、CSVの内容がテーブルに挿入されています。
input

まとめ

以上のように、Azure SQL Data Warehouse でも、Talend Open Studio により、
ノンプログラミングで簡単にデータ連携が実現できます。

斎藤@SSTD

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です