Spark 中的 RDD 分区的设定规则与高阶函数、Lambda 表达式详解

Spark 的介绍与搭建:从理论到实践_spark环境搭建-CSDN博客

Spark 的Standalone集群环境安装与测试-CSDN博客

PySpark 本地开发环境搭建与实践-CSDN博客

Spark 程序开发与提交:本地与集群模式全解析-CSDN博客

Spark on YARN:Spark集群模式之Yarn模式的原理、搭建与实践-CSDN博客

Spark 中 RDD 的诞生:原理、操作与分区规则-CSDN博客

目录

一、RDD 分区的设定规则

(一)parallelize 获取 rdd 时的分区设定

(二)通过外部读取数据 - textFile 时的分区设定

(三)子 RDD 分区数

(四)RDD分区的设定规则

二、高阶函数及 Lambda 表达式

(一)复习 Python 函数语法

(二)需求示例与高阶函数概念引入

一个简单的需求场景

高阶函数的定义

(三)Lambda 表达式与高阶函数的结合使用

使用 Lambda 表达式优化代码

更复杂的需求示例

在集合操作中的应用

三、总结


        在大数据处理领域,Apache Spark 是一个强大的开源分布式计算框架。它提供了丰富的功能和灵活的编程接口,其中弹性分布式数据集(RDD)是其核心概念之一。RDD 的分区设定规则对于数据处理的性能和资源利用至关重要,同时,高阶函数和 Lambda 表达式的运用能让我们在 Spark 编程中更加简洁高效地处理数据。本文将深入探讨 RDD 分区的设定规则以及高阶函数和 Lambda 表达式的相关知识。

一、RDD 分区的设定规则

(一)parallelize 获取 rdd 时的分区设定

方式一:并行化集合:parallelize
没有指定:spark.default.parallelism参数值决定
指定分区:指定几个,就是几个分区
list_rdd = sc.parallelize(data,numSlices=2)

总结:假如指定了分区数,分区数就是这个,假如没有指定spark.default.parallelism。

(二)通过外部读取数据 - textFile 时的分区设定

没有指定:spark.default.parallelism和2取最小值,具体计算并行度的公式:
   min(spark.default.parallelism,2) 
指定分区:最小分区数,最少有这么多分区,具体的分区数可以根据HDFS分片规则来 
hdfs的一片是128M或者128*1.1 = 140.8M
file_rdd =sc.textFile("../datas/function_data/filter.txt", minPartitions=2)

# 假如你这个data.txt = 500M ,此时的分区数是:4  因为 500 =  128+ 128+ 128+ 11

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天冬忘忧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值