hadoop - 使用 NiFi 附加到 HDFS 中现有的 avro 文件
问题描述
我有这个 NiFi 流,它从 MQTT 代理获取 JSON 中的事件,根据某些标准对它们进行分组,将它们转换为 Avro 行,并且应该通过 Hadoop 集群中的文件输出它们。
我选择 Avro 作为存储格式,因为它能够将新数据附加到现有文件。
这些事件按源分组,理想情况下,我应该在 HDFS 中为每个事件源创建一个单独的 Avro 文件,因此 NiFi 会在每个文件出现时在每个文件中累积新事件(当然要进行适当的写入批处理,因为每个新事件都会发出写入)不是很好,我已经用 MergeContent 处理器解决了这个问题)。
我已经解决了流程,但我发现最后一步 PutHDFS 处理器与文件格式无关,也就是说,它不知道如何附加到现有的 Avro 文件。
我发现这个 pull request正是实现了这一点,但由于各种问题,它从未合并到 NiFi 中。
有没有办法用现有的 NiFi 处理器做到这一点?还是我必须推出了解如何附加到现有 Avro 文件的自定义 PutHDFS 处理器?
解决方案
推荐阅读
- python - 如何在python中用\x00填充地址
- javascript - 如果通过[谷歌电子表格]如何为单元格着色
- validation - Apache Commons Validator - 验证 VPN(子)域
- dependencies - DDD驱动的解决方案结构
- javascript - 是否有任何 javascript 库可以使用网络摄像头检测图像?如果是,那么继续执行一项功能?
- xamarin.forms - Xamarin 表单自定义控件仅在更改 ItemSelected 时通知模型
- html - 404文件夹外的链接
- php - 登录站点的 PHP 会话 - 理论
- c# - 尝试处理菜单和电影
- docker - Kubernetes Hostalias 重定向到没有请求标头的 Kubernetes 服务