大数据分布式计算工具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']
相关推荐
字节跳动数据平台8 小时前
代码量减少 70%、GPU 利用率达 95%:火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
得物技术9 小时前
深入剖析Spark UI界面:参数与界面详解|得物技术
大数据·后端·spark
武子康10 小时前
大数据-238 离线数仓 - 广告业务 Hive分析实战:ADS 点击率、购买率与 Top100 排名避坑
大数据·后端·apache hive
武子康1 天前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天1 天前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
武子康3 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
肌肉娃子4 天前
20260227.spark.Spark 性能刺客:千万别在 for 循环里写 withColumn
spark
初次攀爬者4 天前
ZooKeeper 实现分布式锁的两种方式
分布式·后端·zookeeper
武子康4 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet