一、结论:

  • 默认情况下Splits和Task和Partition数是一一对应的,数量是一样的;

  • 1.如果在没有指定分区数的时候,默认的是sc.defaultMinPartitions=min(sc.defaultParallelism,2)。也就是sc.defaultMinPartitions只有两个值1和2,当sc.defaultParallelism>1时值为2,当sc.defaultParallelism=1时,值为1;

  • 2.如果是读取HDFS的文件的话,分区是当我们计算出来splitSize之后,public List<InputSplit> getSplits(JobContext job) 方法中遍历 for (FileStatus file: files)文件,如果 文件大小/splitSzie > SPLIT_SLOP(1.1),则取splitSize作为一个Map输入分片,剩下的文件大小继续判断 文件大小/splitSzie > SPLIT_SLOP(1.1),直到 <= 1.1;如果文件 <= 1.1则直接将该文件作为一个Map输入分片;

  • 3.其实这里就只有1和2两个结论,3的话只是再细致描述一下,如果是读取本地文件的话,不传递参数的话,默认的话如下,结果是2,除非是单核CPU的机器,如果传递的话就是所传递的分区数;

    • def textFile(path: String, minPartitions: Int = defaultMinPartitions)

      • 其中def defaultMinPar

源码分析 --- Spark如何确定Splits和分区数相关推荐

  1. spark RDD详解及源码分析

    spark RDD详解及源码分析 @(SPARK)[spark] spark RDD详解及源码分析 一基础 一什么是RDD 二RDD的适用范围 三一些特性 四RDD的创建 1由一个已经存在的scala ...

  2. spark 调度模块详解及源码分析

    spark 调度模块详解及源码分析 @(SPARK)[spark] spark 调度模块详解及源码分析 一概述 一三个主要的类 1class DAGScheduler 2trait TaskSched ...

  3. spark mllib源码分析之随机森林(Random Forest)

    Spark在mllib中实现了tree相关的算法,决策树DT(DecisionTree),随机森林RF(RandomForest),GBDT(Gradient Boosting Decision Tr ...

  4. Spark MLlib: Decision Tree源码分析

    http://spark.apache.org/docs/latest/mllib-decision-tree.html 以决策树作为开始,因为简单,而且也比较容易用到,当前的boosting或ran ...

  5. Spark 随机森林算法原理、源码分析及案例实战

    图 1. Spark 与其它大数据处理工具的活跃程度比较 回页首 环境要求 操作系统:Linux,本文采用的 Ubuntu 10.04,大家可以根据自己的喜好使用自己擅长的 Linux 发行版 Jav ...

  6. Spark源码解读之Shuffle原理剖析与源码分析

    在前面几篇文章中,介绍了Spark的启动流程Spark内核架构流程深度剖析,Spark源码分析之DAGScheduler详解,Spark源码解读之Executor以及Task工作原理剖析,Spark源 ...

  7. Spark源码分析之七:Task运行(一)

    在Task调度相关的两篇文章<Spark源码分析之五:Task调度(一)>与<Spark源码分析之六:Task调度(二)>中,我们大致了解了Task调度相关的主要逻辑,并且在T ...

  8. Spark 源码分析

    2019独角兽企业重金招聘Python工程师标准>>> 一. 启动篇 (一) 引子 在spark-shell终端执行 val arr = Array(1,2,3,4) val rdd ...

  9. Spark RPC框架源码分析(二)RPC运行时序

    前情提要: Spark RPC框架源码分析(一)简述 一. Spark RPC概述 上一篇我们已经说明了Spark RPC框架的一个简单例子,Spark RPC相关的两个编程模型,Actor模型和Re ...

最新文章

  1. 用composer安装laravel-bjyblog
  2. Android真机运行错误INSTALL_FAILED_MEDIA_UNAVAILABLE
  3. mysql存储引擎处理_[MySql学习笔记] 四 存储引擎事务处理
  4. java面试题之简单介绍一下集合框架
  5. Tricks with Direct Memory Access in Java
  6. boost::safe_numerics模块实现数据类型下溢的测试程序
  7. 20个正则表达式,举一反三,相信对你很有用
  8. 罗振宇2021跨年演讲1:长大以后有多少责任和烦恼?
  9. vf省计算机考试题库,计算机二级VF上机题库及答案
  10. Data Science With R In Visual Studio
  11. 上周热点回顾(4.30-5.6)
  12. 服务器内部错误文件接收失败,您的接收电子邮件服务器报告发生内部错误.docx...
  13. 30个必会的Axure小技巧
  14. dell笔记本耳机怎么设置_戴尔笔记本电脑怎样设置耳机
  15. MYSQL排序加分页报错Out of sort memory, consider increasing server sort buffer size
  16. matlab绘制分组条形图的误差棒errorbar
  17. UVM基础-Sequence、Sequencer(一)
  18. 业务层Service的作用
  19. 最简单的,安装flash插件
  20. 我的世界java版生存种子_我的世界极限生存种子

热门文章

  1. 这就是你日日夜夜想要的docker!!!---------Harbor私有仓库
  2. 【转自果壳】学习没有“关键期”,现在开始就不晚
  3. 人脸识别简单总结(一) 生物特征识别的前世今生
  4. Payssion确认参加2019年ChinaJoy游戏展
  5. ES6 Math新增方法trunc() sign() cbrt()
  6. Tensorflow环境搭建
  7. MMORPG传奇类手游《空空西游》完整源码(客户端cocos2d-js+服务端pomelo+cocosStudio工程+搭建教程)
  8. 大数据开发技术课程报告(搭建Hadoop完全分布式集群操作集群)
  9. 期货什么情况下会强制平仓
  10. Python爬虫—手机销量