spark
文章平均质量分 66
街北槐花
这个作者很懒,什么都没留下…
展开
-
关于Spark Streaming 如何进行commit kafka的offset
收到就提交提交方式 记为 X:接收到数据就会直接commit,假如某个batch失败,重启job,则消费会从上次commit的offset消费,所以会导致失败的那个batch的部分数据丢失。batch结束才commit的方式 记为 Y: 会有消息重复消费的问题。如果要保证消费的逻辑的正确性,则需要做处理逻辑是幂等的。举例:假设三个batch,每个batch有三条消息 t1原创 2018-01-11 13:40:28 · 1426 阅读 · 0 评论 -
spark streaming kafka offset commit
由于spark的 rdd.asInstanceOf[HasOffsetRanges].offsetRanges这个操作:stream.foreachRDD { rdd => val offsetRanges = rdd.asInstanceOf[HasOffsetRanges].offsetRanges rdd.foreachPartition { iter =>原创 2018-01-11 15:59:54 · 671 阅读 · 0 评论 -
Spark 和 kafka 集成 Spark Streaming + Kafka Integration Guide (Kafka broker version 0.10.0 or higher)
Kafka 0.10 与 Spark Streaming 流集成在设计上与0.8 Direct Stream 方法类似。它提供了简单的并行性,Kafka分区和Spark分区之间的1:1对应,以及对偏移量和元数据的访问。然而,由于新的集成使用了新的 Kafka consumer API 而不是简单的API,所以在使用方面有显著的差异。这个版本的集成被标记为实验性的,因此API有可能发生变化。链原创 2018-01-16 09:52:40 · 1695 阅读 · 0 评论 -
Spark Streaming 和kafka 集成指导(kafka 0.8.2.1 或以上版本)
本节介绍一下如何配置Spark Streaming 来接收kafka的数据。有两个方法:1、老的方法 -使用Receivers 和kafka的高级API2、新的方法( Spark 1.3 开始引入)-不适用Receivers。这两个方式拥有不同的编程模型,性能特征和语义保证,为了获得更多细节,继续往下读。对于目前的版本的spark。这两个方式都是稳定的。方法1 基于Receiver原创 2018-01-10 10:28:14 · 4053 阅读 · 0 评论