Spark---数据输出

1. 输出为Python对象

collect算子:将RDD各个分区内的数据,统一收集到Driver中,形成一个List对象

reduce算子:对RDD数据集按照传入的逻辑进行聚合

take算子:取RDD的前N个元素,组合成list返回给你

count算子:计算RDD有多少条数据,返回值是一个数字

python 复制代码
# collect算子:将RDD各个分区内的数据,统一收集到Driver中,形成一个List对象
# 语法:rdd.collect()  # 返回一个list

from pyspark import SparkConf, SparkContext
import os

os.environ['PYSPARK_PYTHON'] = "D:/Program Files/Python3.11.4/python.exe"
conf = SparkConf().setMaster("local[*]").setSparkHome("test_spark")
sc = SparkContext(conf=conf)

rdd = sc.parallelize([1, 2, 3, 4, 5])
my_list = rdd.collect()
print(my_list)  # [1, 2, 3, 4, 5]
print(type(my_list))  # <class 'list'>

# reduce算子:对RDD数据集按照传入的逻辑进行聚合
# 语法:rdd.reduce(func)
#   func(T,T) - > T   # 两个参数,一个返回值,且类型一致
num = rdd.reduce(lambda a, b: a + b)
print(num)  # 15

# take算子:取RDD的前N个元素,组合成list返回给你
take_list = rdd.take(3)
print(take_list)  # [1, 2, 3]

# count算子:计算RDD有多少条数据,返回值是一个数字
num_count = rdd.count()
print(num_count)  # 5

2. 输出到文件中

saveAsTextFile算子:将RDD的数据写入文本文件中

修改RDD分区为1个

  • 方式1:SparkConf对象设置属性全局并行度为1
  • 方式2:创建rdd的时候设置(parallelize方法传入numSlices参数为1)
python 复制代码
# Spark数据输出到文件中
# saveAsTextFile算子:将RDD的数据写入文本文件中
from pyspark import SparkConf, SparkContext
import os

os.environ['PYSPARK_PYTHON'] = "D:/Program Files/Python3.11.4/python.exe"
conf = SparkConf().setMaster("local[*]").setSparkHome("test_spark")
sc = SparkContext(conf=conf)

# 修改RDD分区为1个
# 方式1:SparkConf对象设置属性全局并行度为1
conf.set("spark.default.parallelism", "1")
# 方式2:创建rdd的时候设置(parallelize方法传入numSlices参数为1)
rdd1 = sc.parallelize([1, 2, 3, 4, 5], numSlices=1)
# rdd1 = sc.parallelize([1, 2, 3, 4, 5],1)

# rdd1 = sc.parallelize([1, 2, 3, 4, 5])
rdd2 = sc.parallelize([("hello", 3), ("Spark", 5), ("Hi", 7)])
rdd3 = sc.parallelize([[1, 3, 5], [6, 7, 9], [11, 13, 11]])

rdd1.saveAsTextFile("./output1")
rdd2.saveAsTextFile("./output2")
rdd3.saveAsTextFile("./output3")
相关推荐
断眉的派大星11 分钟前
工厂模式(Factory Pattern)完整详解
python·设计模式
好家伙VCC12 分钟前
**基于RISC-V架构的嵌入式系统开发:从零开始构建高效低功耗应用**在当前物联网(IoT)和边缘计
java·python·物联网·架构·risc-v
大佬王35 分钟前
WebSocket 连接池生产级实现:实时行情高可用与负载均衡
python·架构
ronindong1 小时前
Cursor 插件分享 | md-couture:一键将 Markdown 转换成带精美样式的 HTML
人工智能·python·ai编程
智慧地球(AI·Earth)1 小时前
规则引擎实战:Python中re库和pyknow库规则引擎实战教程
开发语言·python·程序人生
是小蟹呀^1 小时前
【总结】LangChain中的中间件Middleware
python·中间件·langchain·agent
qq_342295821 小时前
如何为容器内多个列表实现统一滚动条.txt
jvm·数据库·python
FreakStudio2 小时前
MicroPython对接大模型:uopenai + 火山方舟实现文字聊天和图片理解
python·单片机·ai·嵌入式·面向对象·电子diy
Kimliao1662 小时前
TFT-LCD液晶显示模组常见驱动电压的作用
python
qq_206901392 小时前
CSS如何引入自适应图标_利用svg外链配合css控制颜色
jvm·数据库·python