spark数据分区划分和任务执行相关内容

本文详细探讨了Spark中的RDD并行度和分区概念。内容包括:1) 分区个数的生成规则,如textFile的分区计算方式;2) Spark如何以分区形式保存数据;3) Spark读取TextFile数据的分区分配方式,解释了以行为单位读取、偏移量处理等细节;4) 并行度与分区的关系,说明了分区数量与任务并行运行的对应关系。
摘要由CSDN通过智能技术生成

## RDD并行度和分区
  1. 能够并行计算的任务数量,我们称之为并行度。例如只有一个executor-cores,那并行计算的任务就只有一个
  2. 分区是能够并行计算的最大的并行度
  


## 1.分区个数生成规则
  ### 1.textFile 文件数据源
1.分区相关参数定义

        val rdd=sc.textFile(path="xxxx",用户指定的分区)<br>
        如果没有用户指定的分区,则用defaultMinPartitions<br>
        defaultMinPartitions: Int = math.min(defaultParallelism, 2)<br>
        defaultParallelism= scheduler.conf.getInt("spark.default.parallelism", totalCores)<br>

2. **分区数据计算方式**<br>
            使用了HadoopFile.spark读取文件底层是hadoop的方式<br>
            totalSize 代表该文件的大小<br>
            gogalSize= totalSize/并行度=M(byte)<br>
            M代表每个分区的字节。 <br>
3. **1.1概念** <br>
            在hadoop划分分区时,如果余下的分区长度大于M数量的10%就放在新分区,如果小于10%就放在老的分区

  ### 2.makeRDD 并行度
    1. spark.makrRDD在没有设置分区的时候下,在默认情况下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值