spark官网学习
Posted 乡村骑士2
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark官网学习相关的知识,希望对你有一定的参考价值。
1、foreachRDD设计模式
正确使用foreachRDD的方式,每一个分区创建一个单例connection对象。
dstream.foreachRDD { rdd =>
rdd.foreachPartition { partitionOfRecords =>
//创建单例对象
val connection = createNewConnection()
partitionOfRecords.foreach(record => connection.send(record))
connection.close()
}
}
2、并行机制
- 数据并行接收,以kafka为例,从多个topics接收数据。
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
以上是关于spark官网学习的主要内容,如果未能解决你的问题,请参考以下文章
spark关于join后有重复列的问题(org.apache.spark.sql.AnalysisException: Reference '*' is ambiguous)(代码片段