spark02-内存数据分区分配原理

news2024/9/20 16:45:42

代码:

val conf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("wordcount")
val sc=new SparkContext(conf)
//[1] [2,3] [4,5]
val rdd: RDD[Int] = sc.makeRDD(List(1,2,3,4,5),3)
//将处理的数据保存分区文件
rdd.saveAsTextFile("output2")
sc.stop()

通过sc.makeRDD(List(1,2,3,4,5),3) 得到3个文件分别存储数据为[1] [2,3] [4,5]

点击makeRDD方法

positions(array.length, numSlices) 有两个参数一个是数组的长度,一个是分区的数量

对应代码为positions(5,3)

0 until numSilces 的结果为0 1 2,进行迭代 i的取值分别去 0 1 2

当i=0时,start=0,end=1*5/3=1 返回(0,1)

当i=1是,start=1*5/3=1,end=2*5/3=3 返回 (1,3)

当i=2时,start=3 ,end=3*5/3=5 返回(3,5)

得到元祖之后进行操作array.slice(start, end).toSeq

i=0 => (0,1)=> slice(0,1) => 0 索引 => 1

i=1 => (1,3)=> slice(1,3) => 1,2 索引 => 2,3

i=2 => (3,5)=> slice(3,5) => 3,4 索引 => 4,5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/343789.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Apifox Helper】自动生成接口文档,IDEA+Apifox懒人必备

文章目录前言🍊缘由接口文档对接爽,整理起来真费脑⏲️本文阅读时长约10分钟🥮前置条件1. IDEA开发工具2. Apifox(不必要)🎯主要目标一秒生成接口文档🍩水图IDEA中项目接结构图生成到Apifox接口文档图👨‍&…

Django框架之模板系列

模板 思考 : 网站如何向客户端返回一个漂亮的页面呢? 提示 : 漂亮的页面需要html、css、js.可以把这一堆字段串全都写到视图中, 作为HttpResponse()的参数,响应给客户端. 问题 : 视图部分代码臃肿, 耦合度高.这样定义的字符串是不会出任何效果和错误的.效果无法及时…

论文投稿指南——中文核心期刊推荐(矿业工程)

【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…

springMVC概念(第一个入门案例)

目录 一、概念 1.什么是mvc? 2.mvc的工作流程? 3.什么是springMVC? 4.springMVC的特点 二、入门案例 准备工作: 正式代码例子 : 一、概念 1.什么是mvc? 答:MVC是一种软件架构的思想&a…

leaflet 上传包含shp的zip文件,在map上解析显示图形(059)

第059个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中本地上传包含shp的zip文件,利用shapefile读取shp数据,并在地图上显示图形。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果 文章目录 示例效果加载shapefile.js方式安装引用jszip(…

大数据框架之Hadoop:HDFS(四)HDFS的数据流(面试重点)

4.1HDFS写数据流程 4.1.1 剖析文件写入 HDFS写数据流程,如下图所示。 1)客户端通过 Distributed FileSystem 模块向 NameNode 请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。 2)NameNode 返回是否可…

c++函数指针进阶

c中有两种函数指针 普通函数指针成员函数指针 而对于成员函数指针,又分为两种 静态成员函数指针非静态成员函数指针 定义普通函数指针与静态函数指针的语法类似 void (*pa)(); 定义非静态成员函数指针 void (A::* pa)(); 在调用非静态成员函数时,实…

Spring循环依赖问题,Spring是如何解决循环依赖的?

文章目录一、什么是循环依赖1、代码实例2、重要信息二、源码分析1、初始化Student对Student中的ClassRoom进行Autowire操作2、Student的自动注入ClassRoom时,又对ClassRoom的初始化3、ClassRoom的初始化,又执行自动注入Student的逻辑4、Student注入Class…

8. QT_OpenGL--1. 在QtWidget中搭建OpenGL加载框架

1. 说明: 在 Qt 中使用 OpenGL,实际上时严格遵循一种代码开发框架的,在 QtWidget 中,需要使用 openGlWidget 控件,并自定义类,类中还需继承 QOpenGLWidget,QOpenGLFunctions_3_3_Core 两个类,并…

Word控件Spire.Doc 【Table】教程(14): 如何在C#中为word表格设置AutoFit选项

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转…

【沁恒WCH CH32V307V-R1的单线半双工模式串口通讯】

【沁恒WCH CH32V307V-R1的单线半双工模式串口通讯】1. 前言2. 软件配置2.1 安装MounRiver Studio3. UASRT项目测试3.1 打开UASRT工程3.2 编译项目4. 下载验证4.1 接线4.2 演示效果5. 小结1. 前言 该模块包含 3 个通用同步异步收发器(USART1/2/3)和 5 个通…

vivo 自研Jenkins资源调度系统设计与实践

作者:vivo 互联网服务器团队- Wu Qinghua 本文从目前业界实现Jenkins的高可用的实现方案,分析各方案的优缺点,引入vivo目前使用的Jenkins高可用方案,以及目前Jenkins资源的调度方案的设计实践和目前的落地运行效果。 一、前言 现…

微服务实战--高级篇:分布式事务seata

分布式事务 1.分布式事务问题 1.1.本地事务 本地事务,也就是传统的单机事务。在传统数据库事务中,必须要满足四个原则: 1.2.分布式事务 分布式事务,就是指不是在单个服务或单个数据库架构下,产生的事务&#xff0c…

PPP协议

PPP协议PPP协议概述PPP链路建立过程PPP链路接口状态机LCP报文格式LCP协商过程—正常协商(链路层协商过程)LCP协商过程—参数不匹配(链路层协商过程)LCP协商过程—参数不识别(链路层协商过程)PPP认证模式PAP…

vTESTstudio - VT System CAPL Functions - General/Trigger Function

前面文章中我们已经介绍了常用的几种板卡的基本信息,那这些板卡该如何去通过软件调用呢?带着这个问题我们开始新的一块内容 - VT系统相关的自动化控制函数介绍,我会按照不同的板卡来分类,对其可控制的函数进行介绍,方便…

快速理解 JVM 原理 - 【基础概念篇】

快速理解 JVM 原理 - 【基础概念篇】 Java虚拟机 是什么? Java 虚拟机 本质就是一台”虚拟的“计算机 ,大家通俗的理解是一款 “软件”安装在电脑上 虚拟机通常分为两类: 系统虚拟机【可运行完整操 作系统的软件平台】程序虚拟机 【为执行…

AA-PEG-AA,Acetic Acid-PEG-Acetic Acid,羧酸-聚乙二醇-羧酸供应

英文名称:Acetic Acid-PEG-Acetic Acid,AA-PEG-AA 中文名称:羧酸-聚乙二醇-羧酸 AA-PEG-AA是一种线性双功能PEG羧酸试剂。PEG和COOH基团之间存在亚甲基(CH2)键。AA-PEG-AA也称为CM-PEG-CM,CM:…

【GD32F427开发板试用】使用TinyMaix进行手写数字识别

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:xusiwei1236 一、TinyMaix简介 TinyMaix是国内sipeed团队开发一个轻量级AI推理框架,官方介绍如下: TinyMaix 是面向单…

django+mysql实现一个简单的web登录页面

目录 一、使用pyacharm创建一个django项目 二、启动django项目验证 三、配置mysql数据库 1、本地安装mysql数据库 1)安装mysql数据库 2)自己创建一个数据库 2、安装 pymysql 3、配置mysql数据库 1)在项目同名包下的_init_.py里面添加…

OpenGL渲染管线介绍

一、概述 OpenGL是跨平台计算机图形应用程序的应用规范,广泛应用于仿真、游戏、GIS系统等领域,实现二三维图形的渲染。OpenGL渲染过程需要经历CPU、GPU两个阶段,CPU中进行图形计算,完成之后调用OpenGL开发接口在GPU中创建缓存区缓…