読者です 読者をやめる 読者になる 読者になる

Apache nifi ローカルファイル_to_Database

BigData nifi

前回はインストールと簡単な動作確認を行いました。

kashigeru.hatenablog.com

今回はローカルのファイルからDATABASE(PosgreSQL)へデータを移行してみます。

設定

まず[GetFile][ConvertJSONToSQL][PutSQL]を配置します。 f:id:kashigeru:20161222161201j:plain:w400

1.[GetFile]を設定します。
前回同様にInputDirectoryに/tmp/nifi_sourceを指定します。 f:id:kashigeru:20161222161252j:plain:w400

2.[ConvertJSONToSQL]を設定します。
PROPERTIESタブのJDBC connection PoolのValueをクリックして新しい接続を作成します。
今回はPostgreSQLを使用します。
f:id:kashigeru:20161222161416j:plain:w400

作成出来たらEnableにします(カミナリのようなボタンをクリック)

その他は下記のように設定します。
f:id:kashigeru:20161222161552j:plain:w400

3.[PutSQL]を設定します。
手順2で作成したJDBC connection Poolを選択します。 f:id:kashigeru:20161222161634j:plain:w400

設定が完了したら下記のように3つ全てを接続しStartします。
f:id:kashigeru:20161222161709j:plain:w400

確認

[ConvertJSONToSQL]で設定したテーブル(nifitest)をあらかじめPostgreSQLで作成しておきます。

CREATE TABLE nifitest (
  user_id int,
  name varchar(5) ,
  region_id int
);

JSON形式のファイルを/tmp/nifi_sourceディレクトリに作成します。

{"user_id":1,"name":"test","region_id":"11"}

nifiの画面を確認するとそれぞれIn Outがカウントアップしています。 f:id:kashigeru:20161222161842j:plain:w400

PostgreSQLで確認

testdb=# SELECT * from nifitest ;
 user_id | name | region_id
---------+------+-----------
       1 | test |        11
(1 行)

以上、データが移行出来ていることが確認出来ました。
とりあえずDatabaseを絡めて動作確認出来たので業務で使えそうなら他のProcessor含めて使っていこうかな。