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的方式。

相关文章
|
Java Apache C++
别再手写RPC了,Apache Thrift帮你自动生成RPC客户端及服务端代码
Thrift 是一个轻量级、跨语言的远程服务调用框架,由 Facebook 开发并贡献给 Apache。它通过 IDL 生成多种语言的 RPC 服务端和客户端代码,支持 C++、Java、Python 等。Thrift 的主要特点包括开发速度快、接口维护简单、学习成本低和多语言支持。广泛应用于 Cassandra、Hadoop 等开源项目及 Facebook、百度等公司。
别再手写RPC了,Apache Thrift帮你自动生成RPC客户端及服务端代码
|
SQL 存储 API
Flink实践:通过Flink SQL进行SFTP文件的读写操作
虽然 Apache Flink 与 SFTP 之间的直接交互存在一定的限制,但通过一些创造性的方法和技术,我们仍然可以有效地实现对 SFTP 文件的读写操作。这既展现了 Flink 在处理复杂数据场景中的强大能力,也体现了软件工程中常见的问题解决思路——即通过现有工具和一定的间接方法来克服技术障碍。通过这种方式,Flink SQL 成为了处理各种数据源,包括 SFTP 文件,在内的强大工具。
431 15
|
11月前
|
Linux iOS开发 MacOS
deepseek部署的详细步骤和方法,基于Ollama获取顶级推理能力!
DeepSeek基于Ollama部署教程,助你免费获取顶级推理能力。首先访问ollama.com下载并安装适用于macOS、Linux或Windows的Ollama版本。运行Ollama后,在官网搜索“deepseek”,选择适合你电脑配置的模型大小(如1.5b、7b等)。通过终端命令(如ollama run deepseek-r1:1.5b)启动模型,等待下载完成即可开始使用。退出模型时输入/bye。详细步骤如下图所示,轻松打造你的最强大脑。
14747 86
|
前端开发 应用服务中间件 nginx
docker部署本地前端项目思路
docker部署本地前端项目思路
358 7
|
分布式计算 Serverless 数据处理
|
负载均衡 算法
软件体系结构 - 负载均衡算法
软件体系结构 - 负载均衡算法
207 4
|
Java
SpringMVC配置字符过滤器的两种方式
SpringMVC配置字符过滤器的两种方式
162 0
|
分布式计算 Java Scala
spark 与 scala 的对应版本查看、在idea中maven版本不要选择17,弄了好久,换成11就可以啦
spark 与 scala 的对应版本查看、.在idea中maven版本不要选择17,弄了好久,换成11就可以啦
817 2
|
JSON 前端开发 JavaScript
将 JavaScript 对象或值转换为 JSON 字符串:JSON.stringify()
将 JavaScript 对象或值转换为 JSON 字符串:JSON.stringify()
698 3
|
SQL 存储 分布式计算
关于数据仓库的Hive的安装部署的Local模式
在数据分析和数据挖掘领域,数据仓库是一个非常重要的工具。Hive是阿里云提供的一个开源数据仓库解决方案,它基于Hadoop和HiveQL语言,可以帮助用户轻松地处理大规模数据。在本文中,我们将探讨Hive的安装部署以及Local模式的概念和优势。
440 2