现在我尝试使用下面的代码从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)
答案 0 :(得分:2)
<强> PipelinedRDD 强>
PipelinedRDD操作是流水线操作并发送给工作人员;代码从上到下执行。它是RDD的子类。
<强> RDD 强>
表示可以并行处理的常量分区元素集合。