标签:方式 topic record 并行处理 并行 send union nec doc
1、foreachRDD设计模式
正确使用foreachRDD的方式,每一个分区创建一个单例connection对象。
dstream.foreachRDD { rdd =>
rdd.foreachPartition { partitionOfRecords =>
//创建单例对象
val connection = createNewConnection()
partitionOfRecords.foreach(record => connection.send(record))
connection.close()
}
}
2、并行机制
val numStreams = 5
val kafkaStreams = (1 to numStreams).map { i => KafkaUtils.createStream(...) }
val unifiedStream = streamingContext.union(kafkaStreams)
unifiedStream.print()
和spark.default.parallelism有关。
3、提交Jobs
Driver:运行main()创建SparkContext;监听Executor,提供Web UI。
在cluster模式,driver内部起一个AM,AM受yarn管理。在client模式,AM仅仅用来申请资源。
参考链接:https://spark.apache.org/docs/1.6.1/streaming-programming-guide.html
标签:方式 topic record 并行处理 并行 send union nec doc
原文地址:https://www.cnblogs.com/VillageKnight-Ding/p/9084090.html