大数据分布式计算工具Spark实战讲解(数据输入实战)

Python数据容器转RDD对象

PySpark支持通过SparkContext对象的parallelize成员方法,将:

  • list

  • tuple

  • set

  • dict

  • str

转换为PySpark的RDD对象

注意:

•字符串会被拆分出1个个的字符,存入RDD对象

•字典仅有key会被存入RDD对象

python 复制代码
from pyspark import SparkConf, SparkContext

#创建一个sparkconf类对象
conf = SparkConf().setMaster("local[*]").setAppName("test_spark_app")

#基于sparkconf类对象创建sparkcontext类对象
sc = SparkContext(conf=conf)

#通过parallelize方法将python对象加载到spark内,成为rdd对象
rdd1 = sc.parallelize([1,2,3,4,5])
rdd2 = sc.parallelize((1,2,3,4,5,6))
rdd3 = sc.parallelize("absdad")
rdd4 = sc.parallelize({1,2,3,4,5})
rdd5 = sc.parallelize({"key1":"value1"})

#如果要查看rdd里面有什么内容,需要用collect()方法
print(rdd1.collect())
print(rdd2.collect())
print(rdd3.collect())
print(rdd4.collect())
print(rdd5.collect())

sc.stop()
#通过textfile方法,读取文件数据加载到spark内,成为rdd对象
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6]
['a', 'b', 's', 'd', 'a', 'd']
[1, 2, 3, 4, 5]
['key1']

读取文件转RDD对象

PySpark也支持通过SparkContext入口对象,来读取文件,来构建出RDD对象。

python 复制代码
from pyspark import SparkConf, SparkContext

#创建一个sparkconf类对象
conf = SparkConf().setMaster("local[*]").setAppName("test_spark_app")

#基于sparkconf类对象创建sparkcontext类对象
sc = SparkContext(conf=conf)

rdd = sc.textFile("D:/hello.txt")

print(rdd.collect())

sc.stop()
#['qweeqweqweqe']
相关推荐
代码匠心17 小时前
从零开始学Flink:Flink SQL四大Join解析
大数据·flink·flink sql·大数据处理
武子康2 天前
大数据-242 离线数仓 - DataX 实战:MySQL 全量/增量导入 HDFS + Hive 分区(离线数仓 ODS
大数据·后端·apache hive
SelectDB3 天前
易车 × Apache Doris:构建湖仓一体新架构,加速 AI 业务融合实践
大数据·agent·mcp
武子康3 天前
大数据-241 离线数仓 - 实战:电商核心交易数据模型与 MySQL 源表设计(订单/商品/品类/店铺/支付)
大数据·后端·mysql
茶杯梦轩3 天前
从零起步学习RabbitMQ || 第三章:RabbitMQ的生产者、Broker、消费者如何保证消息不丢失(可靠性)详解
分布式·后端·面试
IvanCodes3 天前
一、消息队列理论基础与Kafka架构价值解析
大数据·后端·kafka
武子康4 天前
大数据-240 离线数仓 - 广告业务 Hive ADS 实战:DataX 将 HDFS 分区表导出到 MySQL
大数据·后端·apache hive
回家路上绕了弯5 天前
深入解析Agent Subagent架构:原理、协同逻辑与实战落地指南
分布式·后端
字节跳动数据平台5 天前
5000 字技术向拆解 | 火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
武子康5 天前
大数据-239 离线数仓 - 广告业务实战:Flume 导入日志到 HDFS,并完成 Hive ODS/DWD 分层加载
大数据·后端·apache hive