製品をチェック

Amazon Athena Driver の30日間無償トライアルをダウンロード

 30日間の無償トライアルへ

製品の詳細

Amazon Athena アイコン Amazon Athena JDBC Driver 相談したい

Amazon Athena 連携のパワフルなJava アプリケーションを素早く作成して配布。

Apache Nifi からAmazon Athena データ連携を行う方法

Amazon Athena 連携を行い、データをローカルファイルに出力するデータフローをApache Nifi で作成。

桑島義行
テクニカルディレクター

最終更新日:2022-07-03
athena ロゴ

CData

jdbc ロゴ画像
Apache Nifi ロゴ

こんにちは!テクニカルディレクターの桑島です。



Apache Nifiは、OSSのデータフローオーケストレーションツールです。Nifiでは、JDBCドライバで各種データソースに連携・接続することが可能です。 本記事では、 CData JDBC Driverを利用して、NifiからAmazon Athena からデータを取得してローカルファイルに出力するデータフローを作成します。

Nifi を起動

$ 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 でのAmazon Athena設定手順

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)」は環境に合わせたパスを設定ください。

SQL 実行とファイルアウトプットのデータフローの作成

ExecuteSQLとPutFileプロセッサを配置して、ExecuteSQLからPutFileへフローを接続します。

各プロセッサを開き、以下の通り、プロパティ値を設定して保存します。

ExecuteSQL

  • Database Connection Pooling Service : 上記手順で作成したDBConnectionPortの名称
  • SQL select query :select * from Account

ExecuteSQL

  • For Relationships : failure, success

FilePut

  • Directory : /wrk/data/nifi/
  • Automatically Terminate Relationships : failure, success

ExecuteSQLとPutFileプロセッサの実行

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

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。