PipelinedRDD和普通RDD有啥区别?
Posted
技术标签:
【中文标题】PipelinedRDD和普通RDD有啥区别?【英文标题】:what's the differece between PipelinedRDD and normal RDD?PipelinedRDD和普通RDD有什么区别? 【发布时间】:2017-07-05 02:02:21 【问题描述】:现在我尝试使用下面的代码从 hdfs 加载数据,并尝试使用函数 'jsonParse' 将值连接到普通 csv,这样我认为我可以根据需要获得普通字符串 RDD,但似乎这种方法不起作用,当我尝试打印一些记录时,它告诉我“数据”变量是不可迭代的 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】:流水线RDD
PipelinedRDD 操作流水线发送给worker;代码从上到下执行。它是 RDD 的子类。
RDD
表示可以并行处理的恒定的、分区的元素集合。
【讨论】:
以上是关于PipelinedRDD和普通RDD有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章