2019-10-29

transformation:

JavaRDD :  flatMap => JavaRDD : Iterator

JavaRDD : mapToPair => JavaPairRDD : Tuple2

JavaRDD : reduceByKey=> JavaPairRDD : v1+v2

groupByKey,combineByKey



action:

count,first,collectAsMap,countByKey



Spark简述:

1.每个Application由1个Driver和多个Worker组成,driver可通过YARN或其他资源调度工具与worker联系。

2.driver发起的JOB,通过YARN找到满足资源要求的分布式节点,并创立executor,然后executor去driver注册,driver将代码与文件传送给executor。taskset,task.....

3.每个JOB,转为DAG,再分为stage1,stage2,stage3......宽依赖的转换要在不同的stage(子RDD的某一分区依赖于某一父RDD的>=2个分区,即为宽依赖,我的理解~)

4.RDD的Lineage与checkpoint,血缘关系是容错机制实现的根本原因。当transformation出错时,如果是窄依赖,可直接快速从父RDD重新计算;如果是宽依赖,则麻烦些。



应用场景:

1.spark离线计算数据,sparkSQL提供数据查询

2.社交关系相关,GraphX

3.实时监测数据,比如spark计算历史数据,用MLlib算出模型,再通过sparkStreaming比较



以上为学习内容的不完全复述,部分内容实践。

你可能感兴趣的:(2019-10-29)