各製品の資料を入手。
詳細はこちら →CData
こんにちは!テクニカルディレクターの桑島です。
Apache Nifiは、OSSのデータフローオーケストレーションツールです。Nifiでは、JDBCドライバで各種データソースに連携・接続することが可能です。 本記事では、 CData JDBC Driverを利用して、NifiからAmazon Athena からデータを取得してローカルファイルに出力するデータフローを作成します。
$ sudo /Library/nifi-1.5.0/bin/nifi.sh start
(注意)JAVA_HOMEが見つからない旨のメッセージが出た場合は、{nifi home}/bin/nifi-env.sh の下記部分をコメントアウトしてJDKパスを設定してください。
# The java implementation to use.
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
Nifi にブラウザからアクセスします。 http://localhost:8080/nifi/ でアクセスします。
DBConnectionPortを作成 します。NiFi Flow Configuration > CONTROLLER SERVICES を開き、DBCPConnectionPool 1.5.0を選択して追加します。 PROPERTIESタブを開き、下記の値を設定します。
Database Connection URL:下記の接続文字列を参照
Database Driver Class Name: cdata.jdbc.amazonathena.AmazonAthenaDriver
Database Driver Location(s): cdata.jdbc.amazonathena.jar ファイルへのパス
一般的な接続文字列は以下です:
jdbc:amazonathena:AccessKey='a123';SecretKey='s123';Region='IRELAND';Database='sampledb';S3StagingDirectory='s3://bucket/staging/';
(注意)「Database Driver Location(s)」は環境に合わせたパスを設定ください。
ExecuteSQLとPutFileプロセッサを配置して、ExecuteSQLからPutFileへフローを接続します。
各プロセッサを開き、以下の通り、プロパティ値を設定して保存します。
ExecuteSQL
ExecuteSQL
FilePut
ExecuteSQLとPutFileプロセッサそれぞれを選択した状態で、Operate内のStart(再生ボタン)をクリックします。 プロセッサのにStart(緑の再生ボタン)アイコンが表示されることを確認てPutFile内のRead/Write内のByte数が変更したらStop(停止ボタン)をクリックします。
FilePutのDirectoryで指定したパスに移動してファイルが作成されていることを確認します。
~ $ cd /wrk/data/nifi
/wrk/data/nifi $ ls -l
total 35520
-rw-r--r-- 1 root wheel 15964 2 22 15:57 24979156157239
-rw-r--r-- 1 root wheel 15964 2 22 15:57 24979616506772
-rw-r--r-- 1 root wheel 15964 2 22 15:57 24979752251311
-rw-r--r-- 1 root wheel 15964 2 22 15:57 24979844826554
-rw-r--r-- 1 root wheel 15964 2 22 15:57 24979929797593
~ (省略) ~
-rw-r--r-- 1 root wheel 15964 2 22 15:58 25202512179594