尝试使用Apache NiFi发送SQL查询

我尝试使用Apache NiFi将SQL查询发送到RDB,并将结果输出为文本。

安装

从官方网站下载.tar.gz或.zip文件,并进行解压缩。

启动

在bin目录中执行shell。

Mac用户的示例:
$ nifi-0.4.1/bin/nifi.sh 启动

参考になるのは、このページに他の方が詳しく書かれています。Apache NiFiは何ですか?

设置JDBC连接

从画面左上方的Controller Settings图标打开NiFi Flow Settings对话框,并添加DBCPConnecitonPool。

スクリーンショット 2016-01-22 11.52.57.png
スクリーンショット 2016-01-22 12.01.48.png
スクリーンショット 2016-01-22 12.20.54.png

请在DBCPConnecitonPool对话框中设置JDBC的常规四个项目(连接URL、驱动程序类名、用户名、密码)和驱动jar文件的文件路径。文件路径必须以”file://”开头。

設置完成后,请点击右侧的闪电图标,将状态设为“启用”。

用SELECT语句查询并将结果以JSON格式输出到文本文件中。

继续,添加处理器并通过连接将它们连接。请参考以下链接以了解基本用法。如何在Apache NiFi中创建基本的数据流?

处理器会使用三种类型,分别是”ExecuteSQL”、”ConvertAvroToJSON”和”PutFile”。

增加 ExecuteSQL 处理器。

スクリーンショット 2016-01-22 13.13.55.png
    • Database Connection Pooling Service ・・・先ほど作成したJDBCコネクション

 

    SQL select query ・・・実行したいSQLのSELECT文

添加ConvertAvroToJSON处理器

設置內容可以保持默認值。如果將該處理器省略,直接將ExecuteSQL的結果連接到PutFile,將會產生Avro格式的二進制文件。

添加PutFile处理器

スクリーンショット 2016-01-22 13.20.46.png
    Directoryにファイルの出力先を設定します。

联系 ( )

如果添加了处理器,请使用Connection分别将ExecuteSQL连接到CovertAvroToJSON,并将CovertAvroToJSON连接到PutFile。

对于人际关系,我们会先勾选既失败又成功这两个选项。

スクリーンショット 2016-01-22 12.56.44.png

执行 (shí

一旦准备工作完成,将全部三个处理器都设置为启动状态。如果一切正常运行,JSON文件将会被输出到配置为PutFile处理器的目录中。

还有什么待办事项需要完成。

    • 今回は静的なSQLを実行たが、パラメータ設定したい

 

    取得したデータをDB保存したい
bannerAds