BER*_*ine 7 apache-kafka apache-nifi
我是Apache NiFi的初学者,但是直到现在,我阅读的所有教程都谈到了kafka与Nifi的集成。卡夫卡是Nifi的补充吗?为什么在不使用kafka的情况下我们不直接使用Nifi来发布消息?
注意:我看到的所有教程都没有谈到这一点。
Siv*_*man 13
NiFi和Kafka在某种意义上是对NiFi而非Apache Kafka的消息传递队列的补充。相反,Apache NiFi是一种数据流管理(又名数据物流工具)。
让我们假设这种情况:您有消息(以JSON格式)通过Kafka进行流传输,并且您想要验证消息以检查消息是否具有所有字段,并且它们是否有效,您希望消息进入HBase。
NiFi可以通过以下方法为您提供帮助:
ConsumeKafka处理器,您可以使用Kafka代理和组名进行配置。ValidateRecord检查收到的消息是否全部有效PutHBaseRecord总而言之,NiFi基本上可以防止您编写大量样板代码。在这种情况下,需要使用自定义逻辑来进行模式验证和写入HBase。
在Horthonworks 社区问题上找到了一个有趣的答案,为了完整起见,我在这里分享:
Apache NiFi 和 Apache Kafka 是两种不同的工具,它们的用例可能略有重叠。以上是我对这两个项目目的的理解。
NiFi 是“一个易于使用、功能强大且可靠的系统来处理和分发数据。 ”
它是一个可视化工具(带有 REST api),它实现了基于流的编程,使用户能够制作流,这些流将从各种不同的来源获取数据,在处理数据时对数据执行丰富、路由等,并将结果输出到各种目的地。在此过程中,它捕获有关每条数据 (FlowFile) 发生的情况的元数据(出处),因为它通过 Flow 进行审计日志记录和故障排除。
“ Apache Kafka 将发布订阅消息重新考虑为分布式提交日志”
它是发布-订阅模式的分布式实现,允许开发人员使用不同的语言在大量机器上相互连接程序。它更像是分布式计算的构建块,而不是处理数据的多合一解决方案。
作为对先前答案的补充,这里有一个宝贵的资源,通过插图示例非常清楚地解释了如何结合这两种技术,尤其是为什么要这样做。
我发现它非常有价值,每当我需要关于这个主题的记忆复习时,它都是一个转到参考。
简而言之 :
NiFi 和 Kafka 是互补的
NiFi
• 提供数据流解决方案
• 从边缘到核心的集中管理
• 良好的可追溯性,从数据诞生时开始的事件级数据来源
• 交互式命令和控制
• 实时操作可见性
• 数据流管理,包括优先级、背压和边缘智能
•全局数据流的可视化表示
Kafka
• 提供持久的流存储
• 低延迟
• 分布式数据持久性
• 生产者和消费者的分散管理
• 还有更多……
| 归档时间: |
|
| 查看次数: |
5162 次 |
| 最近记录: |