PipelinedRDD和普通RDD之间的区别是什么?

时间:2017-07-05 02:02:22

标签: python apache-spark pyspark

现在我尝试使用下面的代码从hdfs加载数据,并且我尝试使用fucntion' jsonParse'将值连接到正常的csv,这样我认为我可以得到正常的字符串RDD,但我觉得这个方法不起作用,当我试图打印一些记录时,它告诉我& #39;数据'变量是一个不可迭代的PipelinedRDD,任何人都可以告诉我如何获得'(正常的rdd)想要的,谢谢:

def jsonParse(x):
    s=json.loads(x)
    print "ssssssssssss"+s['age']+","+s['sex']+","+s['xueya']+","+s['danguchun']+","+s['na']+","+s['k']+","+s['yaowu']
    return s['age']+","+s['sex']+","+s['xueya']+","+s['danguchun']+","+s['na']+","+s['k']+","+s['yaowu']

conf = SparkConf()
sc = SparkContext(conf=conf)
hc = HiveContext(sc)
#json=sc.textFile('hdfs://hacluster/new')
json=hc.sql("select * from default.test_yj_200 limit 1000").toJSON()

data=json.map(jsonParse)

1 个答案:

答案 0 :(得分:2)

<强> PipelinedRDD

PipelinedRDD操作是流水线操作并发送给工作人员;代码从上到下执行。它是RDD的子类。

<强> RDD

表示可以并行处理的常量分区元素集合。