製品をチェック

無償トライアル:

無償トライアルへ

製品の情報と無償トライアルへ:

Google Cloud Storage JDBC Driver

Google Cloud Storage データを組み込んだパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。

データ連携でお困りですか?

お問い合わせ

Apache Nifi からGoogle Cloud Storage データ連携を行う方法


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


googlecloudstorage ロゴ画像
jdbc ロゴ画像

JDBC

Apache Nifi ロゴ画像


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

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 でのGoogle Cloud Storage設定手順

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.googlecloudstorage.GoogleCloudStorageDriver
Database Driver Location(s): cdata.jdbc.googlecloudstorage.jar ファイルへのパス

一般的な接続文字列は以下です:
jdbc:googlecloudstorage:ProjectId='project1';

(注意)「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