【问题标题】:Creating Hive Table Producer for Kafka Topic为 Kafka 主题创建 Hive 表生产者
【发布时间】:2018-07-27 21:39:19
【问题描述】:

我的用例是使用 Apache Hive 表记录创建生产者并将其发送到 Kafka 主题。

我探索了 Confluent Kafka Connect,但到目前为止,他们只提供了一个使用 HDFS 连接器从 Kafka 主题到 Hive 表的演示。

有没有人使用 Kafka 连接器从源 Hive 表到 Kafka 主题?
或者是否有其他选项,例如编写我们可以使用的自定义 Java API 包?
我对其他选择持开放态度。

【问题讨论】:

  • 数据进入HDFS之前从哪里来? [data source] --> [Kafka] --> [HDFS][data source] --> [HDFS] --> [Kafka] 更常见的模式
  • 它来自许多来源,不同的 RDBMS。这不是我的决定,但它被放入 Hive(数据存储)中,然后在我们想要将其发送到 Kafka 之前进行一些简单的转换。

标签: hadoop hive apache-kafka hdfs apache-kafka-connect


【解决方案1】:

你说得对,Kafka HDFS Connect 只是一个 Sink,不是 Kafka 的 Source。 编辑:似乎现在有一个 HDFS3Source(在试用许可证下)

就个人而言,我会完全跳过 Hive,并从 HDFS 读取。

您可以使用纯 Java 来执行此操作,也可以使用 Spark/Flink 与那些 Kafka 库集成,或者您可以尝试更多的可视化工具,如 Apache NiFi 或 Streamsets 来提取 HDFS 数据并将其发送到 Kafka。

根据我所见,通常情况下,HDFS 不是 Kafka 数据的来源。如果您需要解决问题,Spark 似乎是最常用的工具。写入 Kafka 主题是一个实现细节。

【讨论】:

  • 感谢您的回复。一些同事建议我使用 Spark,因为 Spark 您可以查询 Hive 数据,然后将其发送到 Kafka 主题。我唯一的问题是这将是真正的流媒体吗?即更改源数据将自动捕获在主题中?
  • 您可以设置 Spark Streaming 来观看 HDFS 上新创建的文件,是的。或者,如前所述,NiFi 或 Streamsets 可以在不涉及编程的情况下代替
  • 谢谢,我会注意的!
  • 只是一个更新,我已经实现了 Spark 的 HDFS 文件流以监控目录中的新文件。然而,它并没有像我希望的那样始终如一地工作,因为有时它不会提取新文件进行流式传输,尤其是排队大小为 500MB 的文件。我不确定是否与我们的 Yarn 资源管理器没有足够的资源有关,因为它的共享 Hadoop 集群环境(我可能需要就此发表不同的问题)但我想分享进度 =)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-05
  • 2020-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多