尝试使用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。



请在DBCPConnecitonPool对话框中设置JDBC的常规四个项目(连接URL、驱动程序类名、用户名、密码)和驱动jar文件的文件路径。文件路径必须以”file://”开头。
設置完成后,请点击右侧的闪电图标,将状态设为“启用”。
用SELECT语句查询并将结果以JSON格式输出到文本文件中。
继续,添加处理器并通过连接将它们连接。请参考以下链接以了解基本用法。如何在Apache NiFi中创建基本的数据流?
处理器会使用三种类型,分别是”ExecuteSQL”、”ConvertAvroToJSON”和”PutFile”。
增加 ExecuteSQL 处理器。

-
- Database Connection Pooling Service ・・・先ほど作成したJDBCコネクション
- SQL select query ・・・実行したいSQLのSELECT文
添加ConvertAvroToJSON处理器
設置內容可以保持默認值。如果將該處理器省略,直接將ExecuteSQL的結果連接到PutFile,將會產生Avro格式的二進制文件。
添加PutFile处理器

- Directoryにファイルの出力先を設定します。
联系 ( )
如果添加了处理器,请使用Connection分别将ExecuteSQL连接到CovertAvroToJSON,并将CovertAvroToJSON连接到PutFile。
对于人际关系,我们会先勾选既失败又成功这两个选项。

执行 (shí
一旦准备工作完成,将全部三个处理器都设置为启动状态。如果一切正常运行,JSON文件将会被输出到配置为PutFile处理器的目录中。
还有什么待办事项需要完成。
-
- 今回は静的なSQLを実行たが、パラメータ設定したい
- 取得したデータをDB保存したい