将小文件存储在 hdfs 中并在 Nifi Flow 中归档

Storing small files in hdfs and archiving them in Nifi Flow

我遇到小文件和 HDFS 的问题。

场景:我正在使用 NiFi 从 Kafka 主题中读取消息,这些消息都非常小。

要求:将这些原始数据消息存储在 HDFS 中(用于重放功能)...在对它们进行进一步处理之前。

我正在考虑定期对它们使用 Hadoop Archive (HAR)。这是我可以通过 NiFi 做的事情吗? har 命令似乎是命令行的东西,而不是我可以通过 Nifi 执行的东西?很想知道一个可以满足我的要求的解决方案,而不会因为小文件而降低 HDFS。

吉尼尔

您可以使用 ExecuteProcess 处理器在 Nifi 中执行命令行:

http://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.6.0/org.apache.nifi.processors.standard.ExecuteProcess/

你也可以看看Kafka-connectHDFS,把kafka记录放到HDFS中。