spark的RDD分区的设定规则

news/2024/11/5 23:08:51 标签: spark, 大数据, 分布式

目录

一、第一种:parallelize 获取rdd时

二、第二种:通过外部读取数据-textFile

三、上面提到了默认分区数,那么默认分区是怎么计算呢?


一、第一种:parallelize 获取rdd时

  • 没有指定:spark.default.parallelism参数值决定
  • 指定分区:指定几个,就是几个分区

总结:假如指定了分区数,分区数就是这个,假如没有指定spark.default.parallelism。

二、第二种:通过外部读取数据-textFile

  • 没有指定:spark.default.parallelism和2取最小值,

                         具体计算并行度的公式:min(spark.default.parallelism,2)

  • 指定分区:最小分区数,最少有这么多分区,具体的分区数可以根据HDFS分片规则来 hdfs                     ( 一片是128M或者128*1.1 = 140.8M)

rdd3 = sc.textFile("hdfs://bigdata01:9820/datas/wordcount/data.txt", minPartitions=2) 

假如你这个data.txt = 500M ,此时的分区数是:4  因为 500 =  128+ 128+ 128+ 116

三、上面提到了默认分区数,那么默认分区是怎么计算呢?

  • local模式

     默认并行度取决于本地机器的核数,即:

  1. local: 没有指定CPU核数,则所有计算都运行在一个线程当中,没有任何并行计算
  2. local[K]:指定使用K个Core来运行计算,比如local[2]就是运行2个Core来执行
  3. local[*]: 自动帮你按照CPU的核数来设置线程数。比如CPU有4核,Spark帮你自动设置4个线程计算
  • 集群模式

      集群模式包含Stanalone、Yarn模式,Mesos的默认并行度为8
      默认并行度取决于所有executor上的总核数与2的最大值,比如集群模式的设置如下:

--num-executors 5
--executor-cores 2
上面配置Executor的数量为5,每个Executor的CPU Core数量为2,
executor上的总核数10,则默认并行度为Max(10,2)=10。


http://www.niftyadmin.cn/n/5739935.html

相关文章

易盾增强版滑块识别/易盾识别/滑块识别/增强版滑块识别/易盾滑块本地识别

易盾增强版滑块识别 计算思路如下: 滑动条拖动距离传入 restrict 算法处理得到 初次值 J J * 率值0.309375 得到滑块偏移量。 滑块的旋转角度滑块偏移量*attrs 所以滑块偏移量滑块的旋转角度/attrs 通过滑块偏移量 求出 滑动条拖动距离 # 应用高斯模糊warped_…

PyQt5实战——UTF-8编码器功能的实现(六)

个人博客:苏三有春的博客 系类往期文章: PyQt5实战——多脚本集合包,前言与环境配置(一) PyQt5实战——多脚本集合包,UI以及工程布局(二) PyQt5实战——多脚本集合包,程序…

省级-经济高质量发展数据(2000-2022年)

经济高质量发展是一个多维度的概念,它涵盖了经济增长方式、产业结构、发展理念、发展动力等多个方面。 2000年-2022年省级-经济高质量发展数据资源-CSDN文库https://download.csdn.net/download/2401_84585615/89466241经济高质量发展是适应经济发展新常态的主动选…

Linux服务器或Linux计算机设置不记录历史命令

1.设置环境变量 打开命令终端,编辑.bashrc文件中,修改HISTSIZE和HISTFILESIZE都为0 sudo nano ~/.bashrcfor setting history length see HISTSIZE and HISTFILESIZE in bash(1) HISTSIZE0 HISTFILESIZE0 2.生效 source ~/.bashrc 3.验证 cat ./b…

CSS基础知识六(浮动的高度塌陷问题及解决方案)

目录 1.浮动高度塌陷概念 2.下面是几种解决高度塌陷的几种方案: 解决方案一: 解决方案二: 解决方案三: 1.浮动高度塌陷概念 在CSS中,高度塌陷问题指的是父元素没有正确地根据其内部的浮动元素或绝对定位元素来计…

无人机之中继通信技术篇

一、定义与原理 无人机中继通信技术是指通过无人机搭载中继设备,将信号从一个地点传输到另一个地点,从而延长通信距离并保持较好的通信质量。其原理类似于传统的中继通信,即在两个终端站之间设置若干中继站,中继站将前站送来的信号…

雷池社区版新版本功能防绕过人机验证解析

前两天,2024.10.31,雷池社区版更新7.1版本,其中有一个功能,新增请求防重放 更新记录:hhttps://docs.waf-ce.chaitin.cn/zh/%E7%89%88%E6%9C%AC%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95 仔细研究了这个需求,…

【xxl-job总结】

文章目录 xxl-job介绍系统组成为什么不使用quartz过期处理策略避免任务重复执行源码分析 xxl-job介绍 XXL-JOB是一个轻量级分布式任务调度平台,它的核心设计目标是开发迅速、学习简单、轻量级、易扩展。 1.简单易用:XXL-JOB提供了友好的Web界面&#xf…