摘要:
filter 将数据根据指定的规则进行筛选过滤,符合规则的数据保留,不符合规则的数据丢弃。 当数据进行筛选过滤后,分区不变,但是分区内的数据可能不均衡,生产环境下,可能会出 现数据倾斜。 val dataRDD = sparkContext.makeRDD(List( 1,2,3,4 ),1) va 阅读全文
摘要:
glom 将同一个分区的数据直接转换为相同类型的内存数组进行处理,分区不变 val dataRDD = sparkContext.makeRDD(List( 1,2,3,4 ),1) val dataRDD1:RDD[Array[Int]] = dataRDD.glom() groupBy 将数据根 阅读全文
摘要:
mapPartitionsWithIndex 将待处理的数据以分区为单位发送到计算节点进行处理,这里的处理是指可以进行任意的处 理,哪怕是过滤数据,在处理时同时可以获取当前分区索引。 val dataRDD1 = dataRDD.mapPartitionsWithIndex( (index, dat 阅读全文
摘要:
map 将处理的数据逐条进行映射转换,这里的转换可以是类型的转换,也可以是值的转换。 val dataRDD: RDD[Int] = sparkContext.makeRDD(List(1,2,3,4)) val dataRDD1: RDD[Int] = dataRDD.map( num => { 阅读全文
摘要:
从集合(内存)中创建 RDD val sparkConf = new SparkConf().setMaster("local[*]").setAppName("spark") val sparkContext = new SparkContext(sparkConf) val rdd1 = spa 阅读全文
摘要:
从计算的角度来讲,数据处理过程中需要计算资源(内存 & CPU)和计算模型(逻辑)。执行时,需要将计算资源和计算模型进行协调和整合。 Spark 框架在执行时,先申请资源,然后将应用程序的数据处理逻辑分解成一个一个的计算任务。然后将任务发到已经分配资源的计算节点上, 按照指定的计算模型进行数据计算。 阅读全文
摘要:
![](https://img2020.cnblogs.com/blog/1717425/202103/1717425-20210301161304238-418420342.png) ![](https://img2020.cnblogs.com/blog/1717425/202103/1717425-20210301161340748-1578078315.png) ![](https://i 阅读全文