NiFi数据流实例一
程序员文章站
2022-03-08 14:38:12
...
NiFi数据流实例系列文章,是将我个人做过的一些数据流项目和探索整理成数据流实例,旨在提供NiFi实用方法。
示例说明
本实例构建一条最简单的数据流,从文件系统的一个本地目录读取文件,生成数据流,然后分别写入到另一个本地目录下和指定的HDFS目录下。
流程图
处理器配置
说明
每个处理器的配置窗口,有四个Tab,说明如下:
Tab | 描述 |
---|---|
SETTINGS | 处理器信息的配置,例如处理器名称。可以说是一个处理器类型的实例。 |
SCHEDULING | 处理器的调度配置,可以进行定时调度和调整分配给此处理器的资源,例如可以使用的线程数。 |
PROPERTIES | 定义处理器的行为,是处理器配置的重点部分。 |
COMMENTS | 一个文本区,可以写一些描述信息或者其他信息,也可以不写任何内容。 |
详情可参考 Configuring a Processor。
下面的处理器配置说明,我只写改动的和添加的配置部分。
GetFile
类型:GetFile
PROPERTIES:
Name | Value |
---|---|
Input Directory | /opt/xwd/input |
PutFile
类型:PutFile
PROPERTIES:
Name | Value |
---|---|
Directory | /opt/xwd/localdir |
PutHDFS
类型:PutHDFS
PROPERTIES:
Name | Value |
---|---|
Hadoop Configuration Resources | /etc/hadoop/conf/core-site.xml |
Directory | /nifi |
测试运行
创建测试目录和文件
mkdir -p /opt/xwd/input
mkdir /opt/xwd/localdir
cd /opt/xwd
touch test.txt
echo 'Hello World!' > test.txt
测试数据流
确保GetFile处理器处于关闭状态,执行命令:
cd /opt/xwd
cp test.txt input/test0.txt
查看/opt/xwd/input目录,可发现test0.txt文件。
启动所有处理器。
再次查看/opt/xwd/input目录,没有任何文件。
查看/opt/xwd/localdir目录,可发现test0.txt文件。
查看HDFS的/nifi目录(hdfs dfs -ls /nifi
),可发现test0.txt文件。
继续测试,执行命令:
cd /opt/xwd
cp test.txt input/test1.txt
cp test.txt input/test2.txt
查看/opt/xwd/input目录,会发现目录下没有任何文件。
如果想要保留数据流的源文件,这里是保留/opt/xwd/input目录下的文件,可以对GetFile处理进行如下设置:
Name | Value |
---|---|
Keep Source File | true |