将Kafka中的流数据“导入”到HBase中的最佳实践是什么?
使用案例如下:将车辆传感器数据流式传输到Kafka。然后,必须对这些传感器数据进行转换(即,将protobuf反序列化为人类可读的数据),并将其存储在HBase中。
1)您推荐哪个工具集(如Kafka --> Flume --> HBase、Kafka --> Storm --> HBase、Kafka --> Spark Streaming --> HBase、Kafka --> HBase)
2)哪里是进行protobuf反序列化的最佳位置(例如,在Flume中使用拦截器)?
谢谢您一直鼓励我。
最好的,托马斯
发布于 2015-08-18 22:54:47
我认为你只需要做暴风Kafka -> -> HBase。
Storm:Storm spout将订阅Kafka topic。
然后,Storm bolts可以转换数据并将其写入HBase。
您可以使用java中的HBase客户端接口将数据从Storm写入HBase。
我之所以推荐Storm,是因为它实际上一次只处理一个元组。In Spark streaming, a micro-batch is processed
。但是,如果您希望使用通用的基础设施进行批处理和流处理,那么Spark可能是一个不错的选择。
如果你最终使用Spark,那么你的流程也将是Kafka -> Spark -> HBase。
发布于 2017-03-02 07:42:46
1)我推荐使用'Kafka连接‘接口将您的数据从Kafka流式传输到HBase。Kafka社区有几个接收器连接器:http://docs.datamountaineer.com/en/latest/hbase.html https://github.com/mravi/kafka-connect-hbase 2)至于数据转换,你可以使用Kafka Streams,这是自2016年5月Kafka 0.10发布以来包含在Kafka中的轻量级Java库:http://kafka.apache.org/documentation/streams
https://stackoverflow.com/questions/32065717
复制相似问题