摘要: sparkEnv是spark环境变量1、可以从其中get 缓存2、为master workder driver 管理和保存运行时对象。3、excutorid ,excutor 一种为driver类型,一种具体处理task 内部有线程池的excutor4、actorSystem ,如果运行在drive... 阅读全文
posted @ 2015-12-29 17:35 逸新 阅读(1060) 评论(0) 推荐(0) 编辑
摘要: spark 每次提交一个作业,都会划分成不同的stage,除了最后一个stage(shuffle map task),前边的stage属于一种类型(result task)。spark中的job,内部是由具体task构成,由于spark的调度模式根据宽依赖的模式划分成不同的stage,而我们从spa... 阅读全文
posted @ 2015-12-29 16:19 逸新 阅读(1082) 评论(0) 推荐(0) 编辑
摘要: hadoop RDD 把hdfs的block转换为split 的逻辑映射mapPartitioned RDD 从split中转换,与hadoop RDD 一一映射textFileflatMap 也是mapPartitioned RDDmapreduceByKey会将前期的窄依赖部分合并作为一个sta... 阅读全文
posted @ 2015-12-29 15:50 逸新 阅读(892) 评论(0) 推荐(0) 编辑
摘要: 窄依赖 narrow dependencymap,filter,union ,join(co-partitioned)制定了父RDD中的分片具体交给哪个唯一的子RDD并行的,RDD分片是独立的。只依赖相同ID的分片range分片one to dependencyrange dependency内部可... 阅读全文
posted @ 2015-12-29 15:31 逸新 阅读(4978) 评论(0) 推荐(0) 编辑
摘要: DAG图(RDD 依赖关系图,有向图,无环图)shuffledRDD为宽依赖在spark shell的页面上查看具体的job执行情况我们实际操作save》》》 val cache = sc.textFile("hdfs://hadoop-1:9000/data/test/test.dat").fla... 阅读全文
posted @ 2015-12-29 15:11 逸新 阅读(671) 评论(0) 推荐(0) 编辑
摘要: 1、缓存persist =>storage level对运算中间数据持久化。对数据缓存了,就会重用。使用场景:步骤1=>步骤2=>【步骤3.1、步骤3.2】 就需要在步骤2进行缓存;每个分片都会进行缓存;有缓存就会有丢失,分片有可能丢失,会造成数据不完整,根据RDD的依赖机制,丢失的会从前边的步骤重... 阅读全文
posted @ 2015-12-29 14:38 逸新 阅读(1373) 评论(0) 推荐(0) 编辑
摘要: count返回整个RDD所有元素的个数top返回最大key的top个数元素。会进行倒叙排序返回的为数组reduce针对每个分区进行reduceLeft操作。前两个进行reduce操作,然后结果与第三个元素操作。。。。。。。然后对所有分区的结果进行reduceLeft操作串行处理aggregate也是... 阅读全文
posted @ 2015-12-29 14:15 逸新 阅读(637) 评论(0) 推荐(0) 编辑
摘要: saveAsTextFile将RDD中的每个元素变为(null,element.toString)每个分区都会存储成一个block,基本都是一一映射。 sc.textFile("hdfs://hadoop-1:9000/data/test/test.dat").flatMap(_.split(" "... 阅读全文
posted @ 2015-12-29 14:15 逸新 阅读(3536) 评论(1) 推荐(0) 编辑
摘要: foreach(较常用)直接循环遍历RDD中的元素collect (较常用)将RDD中的数据收集起来,变成一个Array,仅限数据量比较小的时候。collectAsMap()返回hashMap包含所有RDD中的分片,key如果重复,后边的元素会覆盖前面的元素。reduceByKeyLocally先执... 阅读全文
posted @ 2015-12-29 14:14 逸新 阅读(2979) 评论(0) 推荐(0) 编辑
摘要: cache只是persist中的一种情况。cache由persist实现SotrageLevel 缓存级别,是一个枚举。从磁盘缓存到内存中cache算子对RDD转换persist(MEMORY_AND_DISK) lazy级别从磁盘获取数据,如果内存不够则缓存到磁盘中。unpersist (立即生效... 阅读全文
posted @ 2015-12-29 14:13 逸新 阅读(543) 评论(0) 推荐(0) 编辑
摘要: filterf:T->Boolean 为true则保留,为false则丢弃。产生filter后的RDDdistinct去除重复元素cartesian笛卡尔积union单纯合并两个RDD,并不会去重。 阅读全文
posted @ 2015-12-29 14:12 逸新 阅读(540) 评论(0) 推荐(0) 编辑
摘要: join两个RDD,先进行cogroup操作生成一个新的RDD,对同一个key下的value进行笛卡尔积操作。leftOuterJoinrightOuterJoin直接参看源码的函数注释。 阅读全文
posted @ 2015-12-29 14:12 逸新 阅读(289) 评论(0) 推荐(0) 编辑
摘要: combineByKey,返回相同的key的value序列reduceByKey((A,B)=(A+B)),相同key的合并,合并后接value进行累加。 阅读全文
posted @ 2015-12-29 14:11 逸新 阅读(232) 评论(0) 推荐(0) 编辑
摘要: mapValues针对key-value类型的value进行操作,不会对key进行操作。maValue(a=>a+2) 所有的value 都变成value+2subtract对两个RDD进行运算 A∪B - A∩B sample对RDD进行采样,输入RDD,返回采样RDDfraction 百分比se... 阅读全文
posted @ 2015-12-29 14:10 逸新 阅读(817) 评论(0) 推荐(0) 编辑
摘要: groupBy针对key进行分组操作。partitionBy原有partitioner和现在partitioner不同才触发重新分片,如果一直则不会触发一般都是根据key进行分片的。cogroup协同,针对两个RDD进行协同划分返回的结果,key-value value为两个数据的集合的迭代器。 阅读全文
posted @ 2015-12-29 14:10 逸新 阅读(706) 评论(0) 推荐(0) 编辑