使用 Nifi 将文件从 SFTP 服务器复制到 HDFS

Copy files from SFTP server to HDFS using Nifi

我正在尝试从 SFTP 服务器加载包含 225 GB(文件数量约为 1,75,000)的庞大数据,并将数据复制到 HDFS。

为了实现上述场景,我们使用了 2 个处理器。

  1. GetSFTP(从 SFTP 服务器获取文件)

已配置处理器 -> 递归搜索 = true ;使用自然排序 = true ;远程轮询批量大小 = 5000;并发任务 = 3

2.PutHDFS(推送数据到HDFS)

已配置的处理器 -> 并发任务 = 3;冲突解决策略 = replace ; Hadoop 配置资源;目录

但是一段时间后数据复制停止,并且它的大小没有在 HDFS 中更新。 当我在 GetSFTP 中将 Remote Poll Batch Size 配置设置为 5000 -> 推送到 HDFS 的总数据为 6.4 GB,当设置为 20000 -> 推送到 HDFS 的总数据为 25 GB

但我似乎无法弄清楚我做错了什么。

确保你有 scheduled GetSFTP processor 到 运行 基于定时器驱动(或)Cron 驱动。

理想的解决方案是使用 ListSFTP + FetchSFTP 处理器而不是 GetSFTP 处理器。

请参阅 this link 以获取 configuring/usage 的 List+Fetch sftp 处理器。