apache-spark - 集成Kafka和HBase的最佳实践

标签 apache-spark hbase apache-kafka apache-storm flume

从Kafka“导入”流数据到HBase的最佳实践是什么?

用例如下:车辆传感器数据流式传输到 Kafka。之后,必须转换这些传感器数据(即,从人类可读数据中的 protobuf 反序列化)并存储在 HBase 中。

1)您推荐哪种工具集(例如,Kafka --> Flume --> HBase、Kafka --> Storm --> HBase、Kafka --> Spark Streaming --> HBase、Kafka --> HBase)

2) 进行 protobuf 去盐化的最佳位置是什么(例如,在 Flume 中使用拦截器)?

感谢您的支持。

最好的,托马斯

最佳答案

我想你只需要做 Kafka -> Storm -> HBase .

Storm : Storm 喷口 将订阅 Kafka 主题。
然后 Storm bolt 可以转换数据并写入HBase。
你可以在java中使用HBase客户端api从Storm向HBase写入数据。

我建议使用 Storm,因为它实际上一次处理一个元组。 In Spark streaming, a micro-batch is processed .但是,如果您想使用通用基础设施进行批处理和流处理,那么 Spark 可能是一个不错的选择。

如果您最终使用 Spark,那么您的流程也是 Kafka -> Spark -> HBase .

关于apache-spark - 集成Kafka和HBase的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32065717/

相关文章:

apache-spark - 在 yarn 模式下提交作业到 Spark 时无法连接到 Spark 驱动程序

java - HBase on Tomcat7 安装错误: Could not initialize class org. apache.hadoop.security.ShellBasedUnixGroupsMapping

apache-spark - 使用spark-submit设置Spark Job的HBase属性

java - Oozie Java 操作 : Passing Hbase classpath

csv - 根据以下逻辑加载数据

scala - 共享 HDInsight SPARK SQL 表 saveAsTable 不起作用

scala - 从 Kafka 主题读取数据并使用 scala 和 spark 写回 Kafka 主题

scala - 控制结构化 Spark Streaming 的微批处理

apache-kafka - 卡夫卡流 : RocksDB TTL

scala - 如何将 Spark 数据帧写入 Kinesis Stream?