Pyspark-数据输出-输出为python对象

目录

数据输出

collect算子

reduce算子 

 take 算子

count算子


数据输出

python对象或文件 变成 RDD  这是数据输入

RDD 自己计算计算 ,再将RDD 在输出成python对象或文件

collect算子

reduce算子 

# 导包
from pyspark import SparkConf, SparkContext
#Caused by: org.apache.spark.SparkException: Python worker failed to connect back.
# 就是代码没有准确的找到python解释器
import os
os.environ["PYSPARK_PYTHON"] = "D:/APP/Anaconda/envs/teat1/python.exe"

# 创建SparkConf 类对象
conf = SparkConf().setMaster("local[*]").setAppName("test_spark")
# 拿到执行环境入口对象
sc = SparkContext(conf=conf)

# 通过parallelize 方法将python对象加载到spark内,成为RDD对象
rdd = sc.parallelize([1, 2, 2, 2, 5]) # 列表
# reduce算子,对RDD进行两两聚合
num = rdd.reduce(lambda a, b: a+b)

print(num)
# 12



 take 算子

count算子

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PySpark 中,你可以使用 `map()` 或 `flatMap()` 函数来进行数据的转换操作,而可以使用 `saveAsTextFile()` 函数来将转换后的数据写入到文件中。 为了设置输出数据的压缩格式,你可以使用 `conf` 对象来设置 `mapreduce.output.fileoutputformat.compress` 参数为 `true`,以启用压缩。然后,你可以设置 `mapreduce.output.fileoutputformat.compress.codec` 参数为所需的压缩编解码器,例如 `org.apache.hadoop.io.compress.GzipCodec`。 以下是一个示例代码: ``` python from pyspark import SparkConf, SparkContext # 创建 SparkConf 对象 conf = SparkConf().setAppName("CompressedOutput").setMaster("local") # 创建 SparkContext 对象 sc = SparkContext(conf=conf) # 设置输出数据的压缩格式 sc._jsc.hadoopConfiguration().set("mapreduce.output.fileoutputformat.compress", "true") sc._jsc.hadoopConfiguration().set("mapreduce.output.fileoutputformat.compress.codec", "org.apache.hadoop.io.compress.GzipCodec") # 读取数据 data = sc.textFile("input_file.txt") # 进行转换操作 result = data.flatMap(lambda line: line.split(" ")).map(lambda word: (word, 1)).reduceByKey(lambda x, y: x + y) # 写入数据 result.saveAsTextFile("output_file") ``` 在上面的代码中,我们首先创建了一个 `SparkConf` 对象,并设置了应用名称和主节点为本地模式。然后,我们创建了一个 `SparkContext` 对象,并将 `SparkConf` 对象传递给它。 接下来,我们使用 `_jsc.hadoopConfiguration()` 方法来获取 `Configuration` 对象,以便设置 Hadoop 配置参数。我们设置了 `mapreduce.output.fileoutputformat.compress` 参数为 `true`,以启用压缩,并设置了 `mapreduce.output.fileoutputformat.compress.codec` 参数为 `org.apache.hadoop.io.compress.GzipCodec`,以使用 Gzip 压缩编解码器。 然后,我们使用 `textFile()` 函数来读取输入文件,并使用 `flatMap()` 和 `map()` 函数来进行数据转换操作。最后,我们使用 `saveAsTextFile()` 函数将结果写入到输出文件中。由于我们已经设置了输出数据的压缩格式,因此输出文件将以 Gzip 压缩格式保存。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值