大数据Spark Streaming专栏
栗子呀!
这个作者很懒,什么都没留下…
展开
-
如何选择Spark Streaming 的Reveiver和Direct模式
Receiver 这里的kafka获取数据其实是从HDFS中获取(WAL机制)(恢复时间较长) task相当于一个线程 这里一个Executor中的多个task共同处理一个data中的数据,这里可以通过增加execut节点的方式增加task来提高消费能力 Direct 这里的Spark RDD的Partition 与 Kafka Partition 保持一致性。不能增加task数量,因为是一对一的关系 从kafka获取数据,比从hdfs获取数据,因为zero copy的方式,速度肯定更快。 1、rece原创 2021-02-08 13:02:03 · 379 阅读 · 1 评论 -
Spark Streaming的Receiver和Direct容错方式
Receiver容错: Reveiver两种出错方式 ①WAL预写出现问题,因为我们offset没有更新,所以可以从kafka中重新拉取数据 ②处理时出现问题,导致进程挂掉,通过ResourceManager找到另外的worker节点上来启动AM,AM找到对应的container,从checkpoint恢复这些上下文代码逻辑计算。数据可以从WAL中进行获取,重新跑起来,数据处理成功后,从memory内存中删除,再从WAL中删掉,更新Offset Direct 容错 ZK/redis/mysql保存off原创 2021-02-08 12:38:25 · 274 阅读 · 1 评论 -
Spark Streaming保存到HDFS目录中案例
Spark Streaming代码: package streaming import org.apache.spark.SparkConf import org.apache.spark.streaming.{Seconds, StreamingContext} object HDFSWordCount { def main(args: Array[String]): Unit = { // if (args.length < 1 ){ // System.err.print原创 2021-02-07 12:37:06 · 643 阅读 · 0 评论