PySpark如何输入数据到Spark中?【RDD对象】

PySpark支持多种数据的输入,在输入完成后,都会得到一个:RDD类的对象RDD全称为弹性分布式数据集(Resilient Distributed Datasets),PySpark针对数据的处理,都是以RDD对象作为载体,即:

•数据存储在RDD内

•各类数据的计算方法,也都是RDD的成员方法

•RDD的数据计算方法,返回值依旧是RDD对象

PySpark的编程模型(左图)可以归纳为:准备数据到RDD -> RDD迭代计算 -> RDD导出为list、文本文件等,即:源数据 -> RDD -> 结果数据

PySpark如何输入数据到Spark中?【RDD对象】_第1张图片

PySpark支持通过SparkContext对象的parallelize成员方法,将list、tuple、set、dict、str转换为PySpark的RDD对象,示例代码如下:

from pyspark import SparkConf,SparkContext

conf = SparkConf(.setMaster("local[*]").\
    setAppName("test_spark_app")
sc = SparkContext(conf=conf)

rdd=sc.para1lelize(数据容器对象)

# 输出RDD的内容
print(rdd.collect(0)

注意:字符串会被拆分出1个个的字符,存入RDD对象,字典仅有key会被存入RDD对象。

PySpark也支持通过SparkContext入口对象,来读取文件,来构建出RDD对象,示例代码如下:

from pyspark import SparkConf,SparkContext

conf = SparkConf().setMaster("loca][*]").\
    setAppName("test_spark_app")
sc = SparkContext(conf=conf)

rdd=sc.textFile(文件路径)

#打印RDD内容
print(rdd.collect())

你可能感兴趣的:(spark,大数据,分布式)