Python数据容器转RDD对象
PySpark支持通过SparkContext对象的parallelize成员方法,将:
- list
- tuple
- set
- dict
- str
转换为PySpark的RDD对象
注意:
•字符串会被拆分出1个个的字符,存入RDD对象
•字典仅有key会被存入RDD对象
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对象。
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']