RDD 的分区和 Shuffle 查看分区 | 学习笔记

简介: 快速学习 RDD 的分区和 Shuffle 查看分区

开发者学堂课程【大数据Spark2020最新课程(知识精讲与实战演练)第二阶段RDD 的分区和 Shuffle 查看分区学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/689/detail/11991


RDD 的分区和 Shuffle 查看分区


内容介绍

一、查看分区的方法

二、验证

 

一、查看分区的方法

本节继续学习 RDD 的分区和 Shuffle 的过程,讲解如何查看分区。

第一种方式通过 webui 的方式:

首先进入 shell 窗口:

image.png

因为有一些分区操作放在集群里更直观。

编写命令如下:

cd/export/servers/spark

bin/spark-shell --master local[6]

//通过 master 指定 spark shell 的交互式窗口,交互式窗口的运行的位置呢,可以指定 local,也可以指定spark//node01等等。为了便于我们的控制,所以呢,我们直接指定 local[6] 就可以,指定6个分区。

打开 spark

image.png

注意:其中的 Spark context available as'sc 创建了一个对象,叫做 SC,类型是 spark context

Spark context Web UI available athttp://172.21.0.11:4040

//sparkshell 为我们提供了一个 ui 4040的端口上。

继续编写代码:

val rdd1 = sc.parallelize(Seq(12345678910))

拿到 RDD 对象:

image.png

通过创建 RDD并不能直接执行 RDD,只能拿到一个 RDD 对象,执行 RDD 需要调用 RDD1中的 action

每一次调用 action,就会生成一个 job 放在集群当中。第二步就是分阶段,每个阶段叫做一个 stages 。接下来先调用 collect。执行,

rdd1.collect()

获取到结果如下:

image.png

然后通过浏览器打开 node01 4040端口:

image.png

此处指 RDD 6个分区,在开启 spark shell 窗口时,指定的 master local[6] 。然后  :quit  退出。

猜测:通过 local[6] 来开启 spark shell ,默认创建一个 ID 时,就会有六个分区。接下来验证想法。

 

二、验证

编写代码:

bin/spark-shell --master local[8]

指定 local[8]

image.png

val rdd1 = sc.parallelize(Seq(12345678910))

image.png

rdd1.collect()

再次进入浏览器打开 node01 4040端口:

image.png

默认分区变为8。证明猜测正确。

第二种查看分区的方法:

rdd1.partitions

rdd1.partitions.size

可以查看集合数量,通过 size 查看有8个分区,partition 这个集合中保留分区的信息。

image.png

查看分区的2种方式:

1.  通过 webui 的方式。

2.   通过partitions的方式。

相关文章
|
机器学习/深度学习 缓存 Oracle
【数据库设计与实现】第7章:缓存与检查点
缓存与检查点设计原则数据缓冲区与检查点是相辅相成的,所以放在同一个章节介绍。由于CPU与持久化设备之间存在巨大的速度差距,所以在内存中引入缓冲区缩小这个差距。从读的角度来看,将热点数据或预判用户可能读取的数据提前加载到内存中,从而将持久化设备的读时延和带宽提升至内存的时延和带宽。从写的角度来看,直接修改缓冲区中的数据而不是磁盘中的数据,可以带来两方面的优势。其一,将持久化设备的写时延和带宽提升至内
【数据库设计与实现】第7章:缓存与检查点
|
缓存 前端开发 JavaScript
大开眼界:CSS指纹
大家好,我是零一。之前我发过一篇文章,是关于浏览器指纹的:浏览器隐身模式下的你,仍然没有任何隐私,里面介绍了各种各样的指纹生成方式,今天讨论另一个比较新奇的思路:CSS指纹
449 0
大开眼界:CSS指纹
|
自然语言处理 算法 Oracle
elasticsearch插件六—— 分词 IK analyzer插件安装详解
一、 IK Analyzer 介绍 IK Analyzer是一个开源的,基于Java语言开发的轻量级的中文分词工具包,最初的时候,它是以开源项目Lucene为应用主体的,结合词典分词和文法分析算法的中文分词组件,从3.0版本之后,IK逐渐成为面向java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现,IK实现了简单的分词 歧义排除算法,标志着IK分词器从单纯的词典分词向模拟语义分词衍化。
542 0
elasticsearch插件六—— 分词 IK analyzer插件安装详解
|
Java
SpringBoot AOP @Pointcut切入点execution表达式排除类中的具体方法
SpringBoot AOP @Pointcut切入点execution表达式排除类中的具体方法
521 0
|
10月前
|
机器学习/深度学习 数据采集 监控
Scikit-learn机器学习
【5月更文挑战第3天】Scikit-learn是一个基于NumPy、SciPy和Matplotlib的Python机器学习库,提供数据预处理到模型评估的全套工具。支持监督学习、无监督学习和降维等任务。要安装Scikit-learn,运行`pip install scikit-learn`。流程包括:数据准备(如加载鸢尾花数据集并划分训练测试集)、选择模型(如SVM分类器)、模型训练、模型评估(计算准确度)、特征工程和数据预处理(如特征缩放)、超参数调优(如Grid Search CV)、模型可视化(如混淆矩阵)和部署。
149 3
|
IDE 前端开发 开发工具
如何方便的为团队所有项目统一 ESLint 配置
近期给团队项目 CLI 做重构,其中涉及到 ESLint 的部分,这部分之前的方式是通过开发和编译时调用 ESLint 的 CLI 去检查项目代码,虽然不会出什么问题,但是各种 IDE 的提示就废掉了,所以打算换一种比较通用的方式。
|
SQL 存储 数据库
【SQL Server】数据库开发指南(六)索引和视图的使用技巧、方法与综合应用
索引就是数据表中数据和相应的存储位置的列表,利用索引可以提高在表或视图中的查找数据的速度。它类似于书籍的索引,可以帮助快速定位和检索数据。在数据库中,索引是对一个或多个列的值进行排序和存储的结构,它们包含指向实际数据位置的指针。视图就是一个虚拟的数据表,该数据表中的数据记录是由一条查询语句的查询结果得到的。
443 1
【SQL Server】数据库开发指南(六)索引和视图的使用技巧、方法与综合应用
|
开发工具 git Windows
【Git】git clone 报错:fatal: index-pack failed 解决办法
【Git】git clone 报错:fatal: index-pack failed 解决办法
BXA
|
负载均衡 安全 前端开发
Spring Boot和Spring Cloud实现微服务架构下的API网关
为了满足微服务架构下的挑战API网关应运而生。API网关是服务的单一入口,提供了路由、转发、安全性、监测和协议转换等功能。API网关能够管理和保护API接口、统一访问和处理各个微服务的请求,同时能够提高服务的可用性和可靠性。
BXA
491 0