从 HDFS 集群读取 Parquet 文件
Read Parquet Files from HDFS cluster
寻找有关如何使用 Apache Nifi 从 hdfs 集群读取镶木地板文件的建议。在集群中,单个目录下存在多个文件,希望在一个流程中读取所有文件。 Nifi 是否提供内置组件来读取 HDFS 目录(在本例中为 parquet)中的文件?
示例-目录中存在 3 个文件-
hdfs://app/data/customer/file1.parquet
hdfs://app/data/customer/file2.parquet
hdfs://app/data/customer/file3.parquet
谢谢!
如果您的要求是从 HDFS 读取文件,您可以使用 nifi-hadoop-bundle
中提供的 HDFS 处理器。您可以使用以下两种方法之一:
ListHDFS
和 FetchHDFS
的组合
GetHDFS
这两种方法的区别在于GetHDFS
会一直列出为每个运行配置的目录的内容,因此会产生重复。然而,前一种方法会跟踪状态,因此在每个后续 运行 中仅返回新添加的 and/or 修改。
您可以将 FetchParquet 处理器与 ListHDFS/GetHDFS..etc 处理器结合使用。
此处理器从 NiFi-1.2 版本开始添加,Jira NiFi-3724 解决了此改进。
- ListHDFS //存储状态,增量运行。
- GetHDFS //不存储状态 get's all files from the configured directory (Keep source file 属性 设置为 True incase 你不想删除源文件).
- 您可以使用其他一些方法(使用 UpdateAttribute..etc)将 完全限定的文件名作为属性 添加到流文件中,然后将连接提供给 FetchParquet 处理器,然后处理器获取那些镶木地板文件。
基于RecordWriter指定的FetchParquet
处理器reads parquet files
并按照RecordWriter指定的格式写入.
流量:
ListHDFS/GetHDFS -> FetchParquet -> other processors
寻找有关如何使用 Apache Nifi 从 hdfs 集群读取镶木地板文件的建议。在集群中,单个目录下存在多个文件,希望在一个流程中读取所有文件。 Nifi 是否提供内置组件来读取 HDFS 目录(在本例中为 parquet)中的文件?
示例-目录中存在 3 个文件-
hdfs://app/data/customer/file1.parquet
hdfs://app/data/customer/file2.parquet
hdfs://app/data/customer/file3.parquet
谢谢!
如果您的要求是从 HDFS 读取文件,您可以使用 nifi-hadoop-bundle
中提供的 HDFS 处理器。您可以使用以下两种方法之一:
ListHDFS
和FetchHDFS
的组合
GetHDFS
这两种方法的区别在于GetHDFS
会一直列出为每个运行配置的目录的内容,因此会产生重复。然而,前一种方法会跟踪状态,因此在每个后续 运行 中仅返回新添加的 and/or 修改。
您可以将 FetchParquet 处理器与 ListHDFS/GetHDFS..etc 处理器结合使用。
此处理器从 NiFi-1.2 版本开始添加,Jira NiFi-3724 解决了此改进。
- ListHDFS //存储状态,增量运行。
- GetHDFS //不存储状态 get's all files from the configured directory (Keep source file 属性 设置为 True incase 你不想删除源文件).
- 您可以使用其他一些方法(使用 UpdateAttribute..etc)将 完全限定的文件名作为属性 添加到流文件中,然后将连接提供给 FetchParquet 处理器,然后处理器获取那些镶木地板文件。
基于RecordWriter指定的FetchParquet
处理器reads parquet files
并按照RecordWriter指定的格式写入.
流量:
ListHDFS/GetHDFS -> FetchParquet -> other processors