在spark streaming读取kafka的数据中,spark streaming提供了两个接口读取kafka中的数据,分别是KafkaUtils.createDstream,KafkaUtils.createDirectStream.
KafkaUtils.createDstream自动把offset更新到zk中,默认会丢数据,效率低;KafkaUtils.createDirectStream不会使用zk来存储offset,需要自己手动维护offset,可以把offset存储在MySQL等关系型数据库或者HBASE上面。
这个问题答案不太好,需要再好好考虑下。
网友评论