✨Nifi系列✨ GetFTP功能介绍
Posted DATA数据猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了✨Nifi系列✨ GetFTP功能介绍相关的知识,希望对你有一定的参考价值。
Nifi系列 GetFTP功能介绍
使用GetFTP Processor去FTP服务器中同步文件,通过修改GetFTP配置项,实现不同的功能。
一、GetFTP基础配置项
SCHEDULING
如果Nifi部署的分布式集群的话,建议使用Primary node模式,否则每个节点都会从FTP服务器读取一次文件,造成数据重复。
至于调度时间,根据自己实际需求而定。
PROPERTIES
FTP服务器的IP、端口、用户名、密码为必填项
启动
通过简单修改调度项,以及配置FTP服务器的基础信息后,就已经可以成功同步到数据文件
二、Delete Original 配置项
默认情况下,Delete Original
为true,也就是每次同步成功后,都会把FTP服务器上的源数据删除。但是很多情况下,我们只是希望同步数据,并且保留FTP服务器源数据文件。
当Delete Original
为true时,同步成功后,删除源数据文件;
当Delete Original
为false时,同步成功后,不删除源数据文件;
Delete Original = true
在FTP服务器中创建一个名为zxy_delete_original的文件
重新启动后,通过list queue查看文件已经读取到
与此同时,FTP服务器中该文件已经被删除
Delete Original = false
在FTP服务器中重新创建一个名为zxy_delete_original的文件。
重新启动后,通过list queue查看文件已经读取到
再次检查FTP服务器中源文件,仍然存在
三、Search Recursively
通过修改配置项Search Recursively
,决定在同步FTP服务器的时候,是否递归搜索。默认为false。
当Search Recursively
为true时,递归搜索;
当Search Recursively
为false时,非递归搜索;
测试文件如下,且文件夹b下也有文件。
Search Recursively = true
设置递归搜索时,会去检索FTP服务器下所有文件
Search Recursively = false
设置非递归搜索时,只能获取到根目录下的文件,而不能检索根目录文件里的其他文件
四、Use UTF-8 Encoding
是否使用UTF-8编码
当Use UTF-8 Encoding
为true时,使用UTF-8编码;
当Use UTF-8 Encoding
为false时,不使用UTF-8编码;
测试文件如下,创建一个中文表名,查看不同配置下的同步情况。
Use UTF-8 Encoding = true
当设置UTF-8编码的时候,读取到的中文表名称是正常的。
Use UTF-8 Encoding = false
当设置UTF-8编码的时候,读取到的中文表名称是乱码的。
以上是关于✨Nifi系列✨ GetFTP功能介绍的主要内容,如果未能解决你的问题,请参考以下文章