本文前提是NIFI环境已经部署好。
本示例为NIFI的第一个应用示例,旨在说明Nifi的工作过程。
本文通过GetFile读取一个文件,然后将读取的内容通过PutFile写入到一个文件中。
本文分为四个部分,即添加GetFile处理器、添加PutFile处理器、添加GetFile和PutFile的连接器以及最终的验证。
本示例为NIFI的第一个应用示例,旨在说明Nifi的工作过程。
本文通过GetFile读取一个文件,然后将读取的内容通过PutFile写入到一个文件中。
本文分为四个部分,即添加GetFile处理器、添加PutFile处理器、添加GetFile和PutFile的连接器以及最终的验证。
Nifi处理器官方文档:http://nifi.apache.org/docs.html Nifi官方blog:https://blogs.apache.org/nifi/
通过getfile读取一个文件,然后再通过putfile将读取的内容输出到一个文件。
一、添加GetFile处理器
1、添加GetFile处理器
2、配置GetFile处理器
GetFile属性说明
3、创建上传文件目录
与图上的输入示例性文件路径不同
mkdir -p /usr/local/bigdata/testdata/nifiinputtest
二、添加PutFile处理器
1、添加PutFile处理器
2、设置PutFile属性
putfile处理器属性说明
3、创建写入文件目录
与图上的示例性的文件路径不同。
mkdir -p /usr/local/bigdata/testdata/nifioutputtest
三、连接两个处理器
四、验证
1、启动GetFile
2、新增输入文件
cd /usr/local/bigdata/testdata/nifiinputtest
echo "hello world" > hello-world.txt
观察nifi流程:
继续写入:
echo "hello world" > hello-world.txt
echo "hello world" > hello-world2.txt
3、putfile自连接
4、启动putfile
提示有重复的文件
写入三次文件,两个写入成功,一个写入失败。是因为报错信息中提到的,有两个文件的文件名重复了。
5、覆盖写入
修改配置项Conflict Resolution Strategy
6、验证
再次启动PutFile处理器后,写入文件(文件名重复)
echo "hello world again" > hello-world.txt
文件内容如下:
7、关闭处理器
不用的时候关闭处理器,否则会持续运行读取数据。
以上演示了NIFI的一次数据同步的基础流程。更多信息见下篇文章。