寻找有关如何使用Apache Nifi从hdfs集群读取实木复合地板文件的建议。在群集中,单个目录下存在多个文件,想要一次读取所有文件。 Nifi是否提供内置组件来读取HDFS目录(在这种情况下为镶木地板)中的文件?
示例-目录中存在3个文件-
hdfs://app/data/customer/file1.parquet
hdfs://app/data/customer/file2.parquet
hdfs://app/data/customer/file3.parquet
谢谢!
答案 0 :(得分:1)
您可以将 FetchParquet 处理器与 ListHDFS / GetHDFS..etc 处理器结合使用。
此处理器从NiFi-1.2版本和Jira NiFi-3724开始添加,以解决此问题。
基于 RecordWriter 指定的FetchParquet
处理器reads parquet files
,并以 RecordWriter 中指定的格式写入它们。
流量:
ListHDFS/GetHDFS -> FetchParquet -> other processors
答案 1 :(得分:0)
如果需要从HDFS读取文件,则可以使用nifi-hadoop-bundle
中可用的HDFS处理器。您可以使用以下两种方法之一:
ListHDFS
和FetchHDFS
的组合GetHDFS
两种方法之间的区别是GetHDFS
将继续列出为每次运行配置的目录的内容,因此将产生重复项。但是,前一种方法会跟踪状态,因此在以后的每次运行中仅返回新的添加和/或修改。