网站首页 > 精选文章 / 正文
flatMap算子
和map算子类似,它通过函数func将RDD分区数据转换为新的RDD分区数据,只不过它还会额外的将处理后的RDD所有集合数据进行合并,最终只有一个分区。
题目要求
使用flatMap算子,将RDD的数据([1,2,3],[4,5,6],[7,8,9])合并。
代码实现
# -*- coding: UTF-8 -*-
from pyspark import SparkContext
if __name__ == "__main__":
# 1.初始化 SparkContext,该对象是 Spark 程序的入口
sc = SparkContext("local","flatMap app")
# 2.创建一个[[1, 2, 3], [4, 5, 6], [7, 8, 9]] 的列表List
ls = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 3.通过 SparkContext 并行化创建 rdd
rdd = sc.parallelize(ls)
# 4.使用rdd.collect() 收集 rdd 的元素。
print(rdd.collect())
"""
使用 flatMap 算子,将 rdd 的数据 ([1, 2, 3], [4, 5, 6], [7, 8, 9]) 按照下面的规则进行转换操作,规则如下:
需求:
合并RDD的元素,例如:
([1,2,3],[4,5,6]) --> (1,2,3,4,5,6)
([2,3],[4,5],[6]) --> (1,2,3,4,5,6)
"""
# 5.使用 flatMap 算子完成以上需求
rdd2 = rdd.flatMap(lambda x:x)
# 6.使用rdd.collect() 收集完成 flatMap 转换的元素
print(rdd2.collect())
# 7.停止 SparkContext
sc.stop()
Tags:java8 flatmap
猜你喜欢
- 2025-01-09 精通Spring Boot 3 : 9. Spring Boot 安全 (3)
- 2025-01-09 精通Spring Boot 3 : 7. Spring Boot 响应式 (1)
- 2025-01-09 别挠了,都快秃了,双因素认证我直接告诉你算了
- 2025-01-09 java8-Optional类使用介绍
- 2025-01-09 Java 中的 Optional
- 2025-01-09 知识总结-Java开发指Optional详解
- 2025-01-09 精通Spring Boot 3 : 7. Spring Boot 响应式 (2)
- 2025-01-09 读图数据库实战笔记08遍历与子图
- 2025-01-09 Java8中的Stream API详细分析
- 2025-01-09 学习Java 8 Stream Api (2) - Stream的中间操作