【问题标题】:What are the advantages of using Nifi + Kafka with the Twitter API?使用 Nifi + Kafka 和 Twitter API 有什么好处?
【发布时间】:2022-01-10 03:59:15
【问题描述】:

我一直在寻找使用 Spark 在流中进行情感分析的架构,我偶然发现了这个架构。

我想知道,将 Nifi + Kafka 与 Twitter API 一起使用而不是直接将 Spark 连接到它有什么优势,我认为这样会更容错,但我真的不知道。

【问题讨论】:

  • Wifi 是......?
  • @thebluephantom 哎呀,我的意思是 Kafka,已编辑

标签: apache-spark apache-kafka apache-nifi


【解决方案1】:

NiFi 是一种数据集成工具 - 它移动数据。它非常适合从源(例如 Twitter)获取数据并将其写入目标(例如 Kafka)。

一般来说,NiFi 擅长从源源不断推送到目的地(但您也可以推送到NiFi,并且通过在您的流程中创建端点从 NiFi 中提取)。

在您的情况下,您是从 Twitter 拉取 - 您将如何拉取它,然后将如何将这些数据传递到 Spark?一般来说,Spark 想要来源。

NiFi 具有许多用于与数据源集成的内置功能,包括从 Twitter 中提取数据。通过使用 NiFi,您不必自己编写该功能。

NiFi 没有众所周知的协议来将数据推送到/提取数据,因为这不是 NiFi 的目的。您可以在 NiFi 中自己构建该功能,例如通过在 NiFi 流中创建 HTTP 端点,或使用 NiFi 的站点到站点协议,但您现在进入的路径不太成熟,并为自己。

但是,Kafka 有一个众所周知的协议,并且 Spark 与 Kafka 作为流式源具有很好的集成。只需很少的自定义工作,您就可以非常轻松地将两者联系起来。

NiFi 还与作为数据目的地的 Kafka 很好地集成。

因此,开箱即用的 NiFi 可以处理 Twitter -> Kafka,而 Spark 可以处理来自 Kafka 的开箱即用。您不必编写太多(如果有的话)自定义代码来处理获取您的 Twitter 数据。

当然,Kafka 还为这个用例添加了所有众所周知的好处,其中许多在 NiFi 中不存在(因为 NiFi 不是消息代理,也没有尝试提供相同的功能)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-10
    • 2019-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    • 2012-06-02
    • 2019-12-02
    相关资源
    最近更新 更多