大数据之PySpark的RDD创建和分区

news2024/10/6 10:34:43

文章目录

  • 前言
  • 一、RDD创建
  • 二、RDD分区数
  • 总结


前言

#博学谷IT学习技术支持#
上篇文章对PySpark的RDD做了简单的介绍,以及总结了RDD的特性,该篇文章主要介绍RDD的创建方式,PySpark的RDD创建方式主要有两种,一种是在程序中直接创建,另一种是通过加载外部系统创建。

一、RDD创建

  1. 创建SparkContext对象
    SparkContext为Spark程序的入口,代表和Spark集群的链接,Spark集群中通过SparkContext创建RDD,创建SparkContext对象前需要先创建SparkConf,该SparkConf对象用来传递应用的基本信息。
    在这里插入图片描述
  2. 并行化方式创建RDD
    第一步已经得到SparkContext对象,通过该对象的parallelize方法即可创建RDD,该方法需要传入可迭代的对象或集合;
    在这里插入图片描述
    使用SparkContext对象时可以指定分区数量
    在这里插入图片描述
  3. 读取小文件创建RDD
    实际需求中,有时需要读取大量的小文件,文件不大,但数量很多,如果一个文件读取为RDD的一个分区,处理数据效率较为低下,此时可以使用SparkContext对象的wholeTextFiles方法,该方式主要用于读取小文件。
    在这里插入图片描述
  4. PySpark可以从Hadoop支持的任何存储源创建RDD,例如本地文件系统、HDFS、HBase等,同时支持整个目录,多文件,并且也支持压缩文件。
    使用SparkContext对象的textFile即可读取外部数据,返回DataFrame对象
    e

二、RDD分区数

  • 概念
    分区是一个偏物理层的概念,是RDD并行计算的单位;数据在RDD上被切分为多个子集合,一个子集合可以看成一个分区,运算逻辑会作用在每一个分区上,每个分区是由单独的任务执行,所以分区数越高,整个应用的并行度越高。
  • 影响分区数据的因素,主要有三点:·
    (1)RDD分区的原则是使分区数尽可能等于集群CPU核数,这样可最大限度发挥CPU的性能
    (2)实际操作中,为了充分利用CPU的性能,并行度会设置为CPU核数的2至3倍
    (3)与启动时指定的核数、调用方法时指定的分区数、文件本身分区数有关系

总结

RDD的创建主要有两种,一种是并行化方式创建RDD,另一种是通过外部存储系统创建RDD,具体使用哪种方式,需要根据实际需求判断适合使用哪种方式创建RDD。

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

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

相关文章

11 dubbo源码学习_dubbo协议通信

dubbo在通信上也支持非常多的网络协议,而dubbo协议属于dubbo框架自研,整体协议也比较有代表性,采用定长协议头+变长协议休的形式; 1. dubbo协议格式 Magic - Magic High & Magic Low (16 bits)标识协议版本号,Dubbo 协议:0xdabbReq/Res (1 bit)标识是请求或响应。请…

「OceanBase 4.1 体验」|OCP Express

文章目录 一、简介二、特性介绍2.1 数据库管理2.2 数据库可观测性 一、简介 OCP Express 是一个基于 Web 的 OceanBase 4.x 轻量化管理工具,作为 OceanBase 数据库的工具组件,它集成在 OceanBase 数据库集群中,支持数据库集群关键性能指标查看…

MyBatis第一章 搭建MyBatis的运行环境

这里写自定义目录标题 一 创建Maven工程1 打包方式设置为jar2 引入依赖进去 二 创建MyBatis的核心配置文件1 配置核心文件2 创建mapper接口3 创建mabatis的映射文件4 测试文件的写法5 需要代码可以访问gitee仓库去看看6 log4j的日志功能 三 先改方法,后改映射文件1 …

Qt开发笔记(Qt5.9.9下载安装环境搭建win10)

#1 Qt下载网站(国内、国外镜像) #2 Qt5.9.9安装选项 #3 配置系统环境变量 #4 创建测试项目 #1 Qt下载网站(国内、国外镜像) 官方下载地址(慢):http://download.qt.io/ 国内镜像网站 这里给大家…

私有jar包发布到maven中央仓库

一、注册Jira Sonatype JIRAhttps://issues.sonatype.org/secure/Dashboard.jspa 二、新建issue 提交后,等待5-10分钟,会收到中央机器人的评论,如下: 在这里,我没有自己的域名,此时: 1、机器人…

网络编程 lesson2 TCP基础编程

目录 sockt介绍 socket类型 socket所在位置 端口号(重点) 端口号作用 端口号范围 字节序(面试常见) 大端序 小端序 验证当前主机字节序 字节序转换和IP转换函数接口(常用) TCP编程 函数接口 …

[230517] TPO71 | 2022年托福阅读真题第5/36篇 | Minoan Palaces | 14:51~16:00+22:00~23:20

7102 Minoan Palaces 目录 7102 Minoan Palaces 正文 题目 Paragraph 1 问题 1 Paragraph 2 问题 2 Paragraph 3 问题 3 4 Paragraph 4 问题 5 6 Paragraph 5 问题 7 8 Paragraph 2-问题9 全篇-问题10 正确率:7/10 正文 Paragraph 1 The…

JavaScript实现输入指定行数,输出三角形的代码

以下为实现输入指定行数,输出三角形的程序代码和运行截图 目录 前言 一、实现输入指定行数,输出三角形 1.1 运行流程及思想 1.2 代码段 1.3 JavaScript语句代码 1.4 运行截图 前言 1.若有选择,您可以在目录里进行快速查找;…

HCIP周日ISIS

ISIS:中间系统到中间系统 ES:终端系统 ES-IS:终端系统到中间系统 ISIS是一种链路状态协议,使用SPF算法 早期的ISIS是基于CLNP(无连接网络协议)而开发的,为了继续追逐TCP/IP的发展&#xff0…

关于getchar的用法及实例解析

一、getchar()函数是什么? getchar()函数是获取一个字符。说到这里就有人问了,为什么他的返回类型是int? 因为实际上EOFend of file(-1),EOF实际上就等于-1。当你返回失败的时候返回的是-1,所以…

计算机网络(四上)——网络层!!!重中之重

先来个整章的大框架,看起来也没有多少东西(bushi)。 这篇文章,就先写 一、网络层的功能 互联网在网络层的设计思路是,向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务 1.1.异构网络互联 1.网络互联是…

Springboot +Flowable,流程表单应用之动态表单

一.简介 整体上来说,我们可以将Flowable 的表单分为三种不同的类型: 动态表单 这种表单定义方式我们可以配置表单中每一个字段的可读性、可写性、是否必填等信息,不过不能定义完整的表单页面。外置表单 外置表单我们只需要定义一下表单的 k…

kafka 从入门到精通

kafka 从入门到精通 安装 zookeeper模式 创建软件目录 mkdir /opt/soft cd /opt/soft下载 wget https://downloads.apache.org/kafka/3.4.0/kafka_2.13-3.4.0.tgz解压 tar -zxvf kafka_2.13-3.4.0.tgz 修改目录名称 mv kafka_2.13-3.4.0 kafka配置环境变量 vim /etc/pr…

C51基础之单片机编程中通用指针和定向指针

通用指针和定向指针 参考资料:Keil > Help > uVision Help > Cx51 Compiler User’s Guide > Language Extensions > Pointers 一、Cx51指针的几种用法 int *ptr; /* 指向:任意空间的int变量, 存储在&…

什么是Java中的finalize()方法?它有什么作用

在Java中,finalize()方法是一个由Object类定义的方法,用于在对象被垃圾回收器回收之前执行一些清理工作。finalize()方法是一个被保护的方法,可以被子类重写,但是通常情况下不需要显式地调用该方法。 finalize()方法的作用 在Jav…

MYSQL原理、设计与应用

概述 数据库(Database,DB)是按照数据结构来组织、存储和管理数据的仓库,其本身可被看作电子化的文件柜,用户可以对文件中的数据进行增删改查等操作。 数据库系统是指在计算机系统中引入数据库后的系统,除了数据库,还…

首次开通社交账号亲自招聘人才 周星驰都在关注的Web3 你知道是什么吗?

60岁的“星爷”周星驰要进军元宇宙了? 谁能想到,向来低调的他首次注册社交账号,竟是为了发布一条招人信息,挑选的还不是新片男女主角,而是Web3人才,一脚跨界到了互联网科技领域。 今天一整天,…

2022-2023 年度广东省职业院校学生专业技能大赛中职组“网络安全”赛项竞赛任务书(样题)

2022-2023 年度广东省职业院校学生专业技能大赛中职组“网络安全”赛项竞赛任务书(样题) 一、竞赛时间 总计:210 分钟 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 A 模块 A-1 登录安全加固 90 分钟 200…

node笔记_express结合formidable实现前后端的文件上传

文章目录 ⭐前言⭐安装http请求的文件解析依赖库💖 安装 formidable💖 node formidable接受formData上传参数 ⭐上传的页面搭建💖 vue2 element upload💖 node 渲染 上传文件 ⭐后端生成api上传文件到指定目录💖完整的…

【Spring篇】Spring入门案例

🍓系列专栏:Spring系列 🍉个人主页:个人主页 目录 一、IOC入门案例 1.入门案例思路分析 2.入门案例代码实现 二、DI入门案例 1.入门案例思路分析 2.入门案例代码实现 三、图书推荐 介绍完Spring的核心概念后,接下来我们得思考一个问题…