当前位置: 首页 > news >正文

spark03-读取文件数据分区数量个数原理

代码

    val conf: SparkConf = new SparkConf().setMaster("local").setAppName("wordcount")val sc: SparkContext = new SparkContext(conf)val rdd: RDD[String] = sc.textFile("datas/1.txt",2)rdd.saveAsTextFile("output")

数据格式 :

当texfFile可以将文件作为数据处理的数据源,默认也有设定分区

minPartitions:最小分区数量

默认的最小分区数为2,但是实际的分区数可能比2要大

比如运行脚本后最后得到的分区文件为3个文件,并不是2个文件,原因是

分区数量的计算方式,spark读取文件底层使用的是hadoop读取文件方式getSplits方法

通过源码查看使用到了totalSize,这个指的是文件的字节数

通过文件打开可以看到在1 和2 的后面有特殊字符,表示回车因此该文档并不是3个字节而是7个字节

因此 totalSize=7

long goalSize = 7 / (long)(2 == 0 ? 1 : 2)=7/2=3 表示每个分区的字节数

totalSize/goalSize=7/3=2 个分区 余 1个字节 ,1个字节占3个字节的30%

在hadoop的切分原理(1.1)时如果剩余的数据量大于10%产生新的分区

因此最后产出的是3个分区文件

http://www.lryc.cn/news/5186.html

相关文章:

  • 操作系统(day08)内存
  • 11- 聚类算法 (KMeans/DBSCAN/agg) (机器学习)
  • 日日顺供应链|想要看清供应链发展趋势,先回答这三个问题
  • 5守护进程与线程
  • EZ-Cube简易款下载器烧写使用方法
  • sql server安装并SSMS连接
  • Python_pytorch (二)
  • java手机短信验证,并存入redis中,验证码时效5分钟
  • kubectl命令控制远程k8s集群(Windows系统、Ubuntu系统、Centos系统)
  • 【求解器-COPT】COPT的版本更新中,老版本不能覆盖的问题
  • Vue3.0文档整理:一、简介
  • vue2 diff算法及虚拟DOM
  • Ray和极客们的创新之作,2月18日来发现
  • Dubbo 源码分析 – 集群容错之 Router
  • 行人检测(人体检测)3:Android实现人体检测(含源码,可实时人体检测)
  • 【图像分类】基于PyTorch搭建LSTM实现MNIST手写数字体识别(单向LSTM,附完整代码和数据集)
  • Kotlin 1.8.0 现已发布,有那些新特性?
  • likeshop单商户SaaS商城系统—无限多开,搭建多个商城
  • Bean(Spring)的执行流程和生命周期
  • 工作记录------PostMan自测文件导入、导出功能
  • 上海亚商投顾:沪指震荡上行 大消费板块全线走强
  • linux中的图形化UDP调试工具
  • 前端react面试题指南
  • 深入浅出原核基因表达调控(乳糖操纵子、色氨酸操纵子)
  • 10分钟理解Mysql索引
  • nVisual综合布线可视化管理系统解决方案
  • 34岁测试工程师被辞退,难道测试岗位真的只是青春饭吗?
  • Java中常见的空指针异常
  • d亚当替换工厂模式
  • Real-time Scene Text Detection with Differentiable Binarization