clock2015.11.06 08:45
SERVICE
home

TOSを使ってMicrosoft Azure SQL Data Warehouseを操作する|Talend Open Studio によるビッグデータ分析(第10回)

AUTHOR :   ギックス

JDBCドライバを直接指定することでAzure SQL Database/Azure SQL Data Warehouseに接続できる

前回までは、クラウド環境としてAWSを中心に説明してきました。AWSはクラウドシェアの1位ですが、Microsoft社のAzureクラウドも様々なサービスがリリースされています。今回は、AzureクラウドのDB操作として、Azure SQL Data Warehouse(以下、Azure SQL DW)に接続する方法をご説明したいと思います。

(参照:Azure SQL Data Warehouse関連記事)

TOSのSQL Server接続ではAzureデータベースには接続できない

過去にご紹介した方法を使って、メタデータから「DB接続の作成」画面を開いて、SQL ServerとしてAzure SQL DWに接続しようとすると、下記のようなダイヤログが表示され、DB接続されません。talend_azure1

大概のDB接続失敗の場合は、接続先情報やパスワードが間違っている事が多いですが、今回の場合は違います。上記の画面の「詳細」ボタンを押すと下記のような画面が表示されます。エラーメッセージを見ると「Client driver version is not supported」と見慣れないメッセージが出力されているのが分かります。どうやら、TOSからSQL Serverに接続するための「jTDS JDBC Driver」が、Azure SQL DWに対応していないようです。talend_azure2

JDBCドライバを直接指定してAzure SQL DWに接続する

SQL ServerのJDBCドライバを入手

JDBCドライバとは、TalendがDBに接続する時に中継するライブラリ(実行ファイルのようなもの)です。JDBCドライバは、DB種類ごとに異なるため、Azure SQL DWに対応した最新のSQL ServerのJDBCドライバを入手する必要があります。(SQL ServerのJDBCドライバは、SQL Server、Azure SQL DW、Azure SQL Databaseに対応しています)

SQL ServerのJDBCドライバは、Microsoft社のホームページから入手可能です。ダウンロードページの「ダウンロード」をクリックするとダウンロードリストが表示されますので、「sqljdbc_4.0.2206.100_jpn.exe」をダウンロードしてください。(他のJDBCドライバも対応しているかもしれませんが試していません)talend_azure3

ダウンロードが完了しましたら、ダウンロードファイル(自己解凍形式)を実行して、解凍後の「sqljdbc4.jar」をパソコン上の任意の場所に保存してください。

JDBCドライバの接続方法

過去にご紹介した方法を使って、メタデータから「DB接続の作成」画面を開いてください。この時、DB種類(DB Type)を「SQL Server」ではなく、「General JDBC」にするのがポイントです。その他の設定情報は下記のようになります。

  • JDBC URL:jdbc:sqlserver://[接続先サーバー名]:1433;database=[DB名]
  • ドライバJar:sqljdbc4.jar (「…」をクリックしてファイルを選択)
  • クラス名:com.microsoft.sqlserver.jdbc.SQLServerDriver (「…」をクリックしてリスト表示)
  • User name:DBのユーザー名
  • パスワード:DBのパスワード
  • Schema:dbo (接続チェックを行うと項目が表示される)
  • マッピングファイル:id_MSSQL (「…」をクリックして選択)talend_azure4

 

General JDBC接続からでは基本的な機能しか使えない

作成したDB接続メタデータから過去にご紹介した方法を使って、自動的にテーブル情報から「スキーマ情報の取得」が行えるため非常に便利です。(日付型などは自動取得後に変更が必要) しかし、今回のGeneral JDBCを使ったDB接続メタデータからは、汎用的なDBコンポーネントしか使えないため、基本的なDB操作しかできません。そのため、DB固有の機能はコンポーネントで用意されていないため、データファイルのインポート命令などは、手作業で命令文を書く必要があります。talend_azure6

現在(2015.11.06)、Azure SQL DWは、プレビュー版(試用版)のため、利用者は多くありません。今後、正式リリースされ、多くの人が利用するようになった時には、有志によってAzure SQL DW専用のTalendコンポーネントが開発され、無料で配布されるかもしれません。

【連載、Talend Open Studio によるビッグデータ分析】
  1. ”Talend”と”RapidMiner Studio”、2つのETLツールを比較してみた
  2. Talendのインストールと初期設定(Windows 8.1編) ~Javaのバージョンに気を付けろ~
  3. Talendで簡単なジョブの作成
  4. フォルダ中のファイルを変換して1つにまとめる
  5. フィルタリングと文字列置換とプログラムによる変換方法
  6. DB間のデータコピーを2つのコンポーネントだけで行う
  7. Amazon Redshiftへのデータインポートを2つのコンポーネントだけで行う
  8. Talendがバッチ処理の開発方法を変える ~スマートな開発を行おう~
  9. Talendの無償版(TOS)と有償版(Enterprise)の違い
  10. TOSを使ってMicrosoft Azure SQL Data Warehouseを操作する (本稿)
  11. TOSでギガ単位の適切なテストデータを作成する
  12. Web API からの取得結果をデータベースに登録する処理をノンプログラミングで実現する
SERVICE