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")
数据格式 :
![](https://img-blog.csdnimg.cn/img_convert/81769d326f8e86782713569232629d1a.png)
当texfFile可以将文件作为数据处理的数据源,默认也有设定分区
minPartitions:最小分区数量
![](https://img-blog.csdnimg.cn/img_convert/2906220c55f160c8e83139f94f665aae.png)
![](https://img-blog.csdnimg.cn/img_convert/f1377d36ef0ba436d27a2fcc4a9c7353.png)
默认的最小分区数为2,但是实际的分区数可能比2要大
比如运行脚本后最后得到的分区文件为3个文件,并不是2个文件,原因是
分区数量的计算方式,spark读取文件底层使用的是hadoop读取文件方式getSplits方法
![](https://img-blog.csdnimg.cn/img_convert/dd0dbb6322b50ef0395e412b1f81db5b.png)
![](https://img-blog.csdnimg.cn/img_convert/149b3708fc4a19316ef9bc66889793f9.png)
![](https://img-blog.csdnimg.cn/img_convert/3aadc97a33caf1d72d294af1b450279f.png)
通过源码查看使用到了totalSize,这个指的是文件的字节数
![](https://img-blog.csdnimg.cn/img_convert/5961cfeb7ee849ed513702f01e7859c6.png)
通过文件打开可以看到在1 和2 的后面有特殊字符,表示回车因此该文档并不是3个字节而是7个字节
![](https://img-blog.csdnimg.cn/img_convert/c565e5a9884260af2e406da4ae89d4b5.png)
因此 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个分区文件
相关文章:
![](https://img-blog.csdnimg.cn/img_convert/c565e5a9884260af2e406da4ae89d4b5.png)
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")数据格式 &a…...
![](https://img-blog.csdnimg.cn/2fe7e13acaac41b785e7ee2c03ce2280.png)
操作系统(day08)内存
存储单元 内存的几个基本概念 存储单元 内存地址从0开始,每个地址对应一个存储单元 存储单元大小根据计算机按照什么方式编址 按字节编址 则每个存储单元大小为一字节,即1B,即8个二进制位按字编址 看这个计算的字长是多少位,如…...
![](https://img-blog.csdnimg.cn/d7040e6693cb495db48c87437d11d99b.png)
11- 聚类算法 (KMeans/DBSCAN/agg) (机器学习)
聚类算法 聚类算法和降维算法那都属于无监督算法。KMeans 是以一个值为中心, 然后所有其他点到该点距离最小值的累积和。 kmeans KMeans(n_clusters3) # n_clusters 分类数量 kmeans.fit(data.iloc[:,1:]) # 无监督,只需要给数据X就可以 DBSCAN 算法是…...
![](https://img-blog.csdnimg.cn/img_convert/d7e410c46b8976e0f3c8bdcd8a4127a6.jpeg)
日日顺供应链|想要看清供应链发展趋势,先回答这三个问题
技术变革如何支撑供应链及管理服务的发展? 数字化与科技化开始承托供应链管理能力的升级与变革? 如何从客户需求的纬度反推供应链及管理服务的模式变革?在过去的三年中,我国的供应链企业经受了最为极端的挑战,但当下&a…...
![](https://www.ngui.cc/images/no-images.jpg)
5守护进程与线程
进程组 多个进程的集合,第一个进程就是组长,组长进程的PID等于进程组ID。 进程组生存期:进程组创建到最后一个进程离开(终止或转移到另一个进程组)。与组长进程是否终止无关。 一个进程可以为自己或子进程设置进程组 ID 相关函数 pid_t …...
![](https://img-blog.csdnimg.cn/bb9f6e89589748cbbba4f5b219de6cd8.png)
EZ-Cube简易款下载器烧写使用方法
一、硬件连接 跟目标芯片接4根线 VCC、GND、TOOL、REST 四根线,如果板子芯片自己外接电源的,VCC 线可以不接。 二、 安装烧写软件和驱动 烧写软件:https://download.csdn.net/download/Stark_/87444744?spm1001.2014.3001.5503 驱动程序&a…...
![](https://img-blog.csdnimg.cn/3938d2d4ec094587a4b570b72d2cc53c.png)
sql server安装并SSMS连接
博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞ÿ…...
![](https://img-blog.csdnimg.cn/acdbc706d0804f96b53c609745746753.png)
Python_pytorch (二)
python_pytorch 小土堆pytotch学习视频链接 from的是一个个的包(package) import 的是一个个的py文件(file.py) 所使用的一般是文件中的类(.class) 第一步实例化所使用的类,然后调用类中的方法(def) Torchvision 数据集 数据集使用(CI…...
![](https://img-blog.csdnimg.cn/e9b84b51326a4b74996bc375b2471d5f.png)
java手机短信验证,并存入redis中,验证码时效5分钟
目录 1、注册发送短信账号一个账号 2、打开虚拟机,将redis服务端打开 3、创建springboot工程,导入相关依赖 4、写yml配置 5、创建controller层,并创建controller类 6、创建service层,并创建service类 7、创建工具类&#x…...
![](https://img-blog.csdnimg.cn/2284e4373d3f4191a83eee6874f4babf.png#pic_center)
kubectl命令控制远程k8s集群(Windows系统、Ubuntu系统、Centos系统)
文章目录1. 本地是linux2. 本地是Windows1. 本地是linux 安装kubectl命令 法一:从master的/usr/bin目录下拷贝kubectl文件到本机/usr/bin目录下法二:GitHub下载kubectl文件 在家目录下创建.kube目录config文件 法一:将master上对应用户的~/.…...
![](https://img-blog.csdnimg.cn/b5476e7f2ac24d9bb813512bca14d610.png)
【求解器-COPT】COPT的版本更新中,老版本不能覆盖的问题
【求解器-COPT】COPT的版本更新中,老版本不能覆盖的问题方法1方法2如果license还是找不到作者:刘兴禄 参考网址: COPT的下载和配置步骤如下: 教程 | Windows系统下如何安装COPT求解器并配置许可文件: https://zhuan…...
![](https://img-blog.csdnimg.cn/img_convert/bdcda3afb59857c4a1037aa7b92e0c14.png)
Vue3.0文档整理:一、简介
1.1:什么是vue? Vue是一款用于构建用户界面的javascript框架;它基于标准HTML、CSS和Javascript构建,并提供了一套声明式、组件化的编程模型,帮助你高效的开发用户界面。 1.2:MVVM工作原理 MVVM指的是model、view和vie…...
![](https://img-blog.csdnimg.cn/89ebf68588ba46939e6c65a4e14eba4f.jpeg)
vue2 diff算法及虚拟DOM
概括:diff算法,虚拟DOM中采用的算法,把树形结构按照层级分解,只比较同级元素,不同层级的节点只有创建和删除操作。 一、虚拟DOM (1) 什么是虚拟DOM? 虚拟 DOM (Virtual DOM,简称 VDOM) 是一种…...
![](https://img-blog.csdnimg.cn/903c82646277432ba4f415fce326997e.png)
Ray和极客们的创新之作,2月18日来发现
所在论坛:数据库技术创新&云原生论坛分享时段:2.18 10:30-11:00分享主题:云原生数据库PieCloudDB :Unbreakable安全特性剖析分享嘉宾:王淏舟,拓数派资深研发工程师 由中国开源软件推进联盟PostgreSQL分…...
![](https://www.ngui.cc/images/no-images.jpg)
Dubbo 源码分析 – 集群容错之 Router
1. 简介 上一篇文章分析了集群容错的第一部分 – 服务目录 Directory。服务目录在刷新 Invoker 列表的过程中,会通过 Router 进行服务路由。上一篇文章关于服务路由相关逻辑没有细致分析,一笔带过了,本篇文章将对此进行详细的分析。首先&…...
![](https://img-blog.csdnimg.cn/5cc71d067ad2420da94e07f41de80232.gif)
行人检测(人体检测)3:Android实现人体检测(含源码,可实时人体检测)
行人检测(人体检测)3:Android实现人体检测(含源码,可实时人体检测) 目录 行人检测(人体检测)3:Android实现人体检测(含源码,可实时人体检测) 1. 前言 2. 人体检测数据集说明 3. 基于YOLOv5的人体检测模型训练 4.人体检测模型…...
![](https://img-blog.csdnimg.cn/d806ab4fffe54243b14df71248efed8c.png)
【图像分类】基于PyTorch搭建LSTM实现MNIST手写数字体识别(单向LSTM,附完整代码和数据集)
写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 提起LSTM大家第一反应是在NLP的数据集上比较常见,不过在图片分类中,它同样也可以使用。我们以比较熟悉的 mnist…...
![](https://img-blog.csdnimg.cn/671c1973764649b0aced6b17d0c272f7.png)
Kotlin 1.8.0 现已发布,有那些新特性?
文章目录**如何安装 Kotlin 1.8.0****如果您遇到任何问题****更多文章和视频**结语Kotlin 1.8.0 版本现已发布,以下是其部分最大亮点: JVM 的新实验性功能:递归复制或删除目录内容提升了 kotlin-reflect 性能新的-Xdebug编译器选项ÿ…...
![](https://img-blog.csdnimg.cn/img_convert/3d38175224bc770937f7db676d05667e.png)
likeshop单商户SaaS商城系统—无限多开,搭建多个商城
likeshop单商户SaaS商城系统:适用于多开(SaaS)、B2C、单商户、自营商城场景,完美契合私域流量变现闭环交易使用,系统拥有丰富的营销玩法,强大的分销能力,支持DIY多模板,前后端分离。…...
![](https://img-blog.csdnimg.cn/img_convert/c03d063c3a26470e86fc81f0b7b4c7b0.png)
Bean(Spring)的执行流程和生命周期
Bean(Spring)的执行流程具体的流程就和我们创建Spring基本相似。启动 Spring 容器 -> 实例化 Bean(分配内存空间,从无到有) -> Bean 注册到 Spring 中(存操作) -> 将 Bean 装配到需要的…...
![](https://img-blog.csdnimg.cn/2d1c76a1fcba46e2a147fa430e9a5b9a.png)
工作记录------PostMan自测文件导入、导出功能
工作记录------PostMan自测文件导入、导出功能 测试文件导出 背景:写了一个文件下载功能,是数据写到excel中,下载,使用PostMan点击send后,返回报文是乱码。 解决办法: 点击send下面的 send and Downlo…...
![](https://img-blog.csdnimg.cn/img_convert/178dd24e4eea49ac90860fee8ece1819.png)
上海亚商投顾:沪指震荡上行 大消费板块全线走强
上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。市场情绪三大指数今日震荡反弹,沪指全天低开高走,深成指、创业板指均涨超1%。工程机械板块集体大涨&a…...
![](https://www.ngui.cc/images/no-images.jpg)
linux中的图形化UDP调试工具
sokit freeware version: 1.3.1 (GPLv3) website: https://github.com/sinpolib/sokit/ 这是一个TCP / UDP数据包收发和传输工具 linux汉化 默认是英文版本的,如果想使用中文,把软件目录下的sokit.lan_rename重命令为sokit.lan再次打开软件就发现已经…...
![](https://img-blog.csdnimg.cn/img_convert/6331a380dff990ae347d466becedfcf7.png)
前端react面试题指南
概述下 React 中的事件处理逻辑 抹平浏览器差异,实现更好的跨平台。避免垃圾回收,React 引入事件池,在事件池中获取或释放事件对象,避免频繁地去创建和销毁。方便事件统一管理和事务机制。 为了解决跨浏览器兼容性问题࿰…...
![](https://img-blog.csdnimg.cn/img_convert/98ca63b04eaed7e3517b1da1d9ced803.png)
深入浅出原核基因表达调控(乳糖操纵子、色氨酸操纵子)
原核基因表达调控 前言 自然界里,能量时有时无,各种生命为了让自己能够活下去,需要适应环境,在不同的环境合成不同的蛋白质。 原核生物体内有很多细胞,细胞里面有很多蛋白质,但是这些蛋白质在这些细胞里…...
![](https://www.ngui.cc/images/no-images.jpg)
10分钟理解Mysql索引
一、索引介绍 索引是什么 官方介绍索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。 一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘…...
![](https://img-blog.csdnimg.cn/42d48136f1f14c67aae17221eac2c861.png)
nVisual综合布线可视化管理系统解决方案
一、综合布线管理系统的必要性 如今企事业单位办公人员变化很快,如果还是采用传统方式通过工程竣工图或者网络拓扑图来进行网络维护工作会非常麻烦,并且对管理人员的要求也会很高,管理人员需要清楚的知道工作区的信息点与配线架点之间的对…...
![](https://img-blog.csdnimg.cn/dbcd1fbdc2dc4824921b44a737d4e6b6.png)
34岁测试工程师被辞退,难道测试岗位真的只是青春饭吗?
一:前言:人生的十字路口静坐反思 入软件测试这一行至今已经10年多,承蒙领导们的照顾与重用,同事的支持与信任,我的职业发展算是相对较好,从入行到各类测试技术岗位,再到测试总监,再…...
![](https://www.ngui.cc/images/no-images.jpg)
Java中常见的空指针异常
参考链接: java中什么是空指针异常以及为什么会产生空指针异常天上的云川的博客-CSDN博客什么是java空指针 java中容易产生空指针异常:NullPointerException的场景火龙映天的博客-CSDN博客java怎么制造空指针异常 java空指针异常是什么、怎么发生、如何…...
![](https://www.ngui.cc/images/no-images.jpg)
d亚当替换工厂模式
对象工厂替代方案 一般,需要无需用模块构造器触发d运行时的挑剔循环检测的方法来注册工厂.很多时候,混合模块构造器正是想要方法,但它有全局全开或全闭的循环检测算法. 要全局关闭它,请在Main文件中,添加以下代码行: extern(C) __gshared string[] rt_options ["oncycl…...
![](/images/no-images.jpg)
wordpress 微信主体/深圳网站优化排名
在activiti中框架中。默认支持mysql/oracle/sqlserver等数据库,下面参考activiti的做法封装一套jdbc操作。 1、针对一张表的操作者,系统表的操作有以下几种 /*** <pre>* 针对一张表的操作者,系统表的操作有以下几种* 针对表本身的&am…...
![](https://img-blog.csdnimg.cn/63dd34039b684148ad526f7d267962ad.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAVGVzdGVyaG9tZWU=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
商城网站模板源码/网络视频营销的案例
本文由5t5发表于TesterHome社区网站,点击原文链接可与作者直接交流。 本次帖子单刀直入,直接说点,谨慎查阅。 兼容性存在的意义 很简单,就是为了把覆盖普及大众的机型上项目暴露出来的问题全部扼杀掉,有效的改善/避免…...
![](https://images2018.cnblogs.com/blog/1477997/201809/1477997-20180903172253743-1057390849.jpg)
我要免费发布信息/重庆关键词seo排名
1.打开IDEA,创建新项目,选择Spring Initializr,选择SDK为你的java版本。 2.点击下一步,输入Artifact 3.点击下一步,选择web 4.finish 5.完成后idea自动生成下列结构,框出来的可以删掉。 idea会为每个module生成一个app…...
![](/images/no-images.jpg)
宽城区网站建设/免费seo营销软件
近日使用VMware fushion 8 centos 7.0时,无法使用共享功能,所以必须安装vmtools。但是安装过程中有2个错误需要解决。 1、gcc错误 Searching for GCC... The path "" is not valid path to the gcc binary. 2、内核头文件问题 Searching for …...
![](https://img-blog.csdnimg.cn/20200607111803397.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Z0aW1lcw==,size_16,color_FFFFFF,t_70)
网站设计开发软件有哪些/新闻稿在线
QT怎么自动一次性修改、替换程序中所有变量名? 熟悉的编译器都有这个功能, 初学QT,搜索无果,找了一会儿,分析给大家。 最直接的办法:选中变量名,CtrlShiftr ,变成红色之后即可更改。. 选中变…...
![](/images/no-images.jpg)
怎么做网站的导航/seo免费浏览网站
3、在解决方案的资源管理器中右键你的EyreFree.cpp文件 -> 属性 -> 找到预编译头 -> 在预编译头中选择不适用预编译头。同时去 stdafx.h 头文件中将【#define WIN32_LEAN_AND_MEAN】该句代码注释掉或删掉。4、将 C:\Program Files (x86)\Java\jdk1.7.0_17\include (JD…...