Apache spark 打印可结果对象的内容
如何打印具有行和列列表的pyspark.resultiterable.resultiterable对象的内容 有内置的功能吗 我想要类似于Apache spark 打印可结果对象的内容,apache-spark,pyspark,Apache Spark,Pyspark,如何打印具有行和列列表的pyspark.resultiterable.resultiterable对象的内容 有内置的功能吗 我想要类似于dataframe.show() 我也面临同样的问题,并最终解决了它,所以让我分享一下我的做法 假设我们有两个RDD rdd1 = sc.parallelize([(1,'A'),(2,'B'),(3,'C')]) rdd2 = sc.parallelize([(1,'a'),(2,'b'),(3,'c')]) 让我们对这些RDD进行组合,以获得可结果性 c
dataframe.show()
我也面临同样的问题,并最终解决了它,所以让我分享一下我的做法 假设我们有两个RDD
rdd1 = sc.parallelize([(1,'A'),(2,'B'),(3,'C')])
rdd2 = sc.parallelize([(1,'a'),(2,'b'),(3,'c')])
让我们对这些RDD进行组合,以获得可结果性
cogrouped = rdd1.cogroup(rdd2)
for t in cogrouped.collect():
print t
>>
(1, (<pyspark.resultiterable.ResultIterable object at 0x107c49450>, <pyspark.resultiterable.ResultIterable object at 0x107c95690>))
(2, (<pyspark.resultiterable.ResultIterable object at 0x107c95710>, <pyspark.resultiterable.ResultIterable object at 0x107c95790>))
(3, (<pyspark.resultiterable.ResultIterable object at 0x107c957d0>, <pyspark.resultiterable.ResultIterable object at 0x107c95810>))
还是像这样
def iterate2(iterable):
r = []
for x in iterable.__iter__():
for y in x.__iter__():
r.append(y)
return tuple(r)
y = cogrouped.mapValues(iterate2)
for e in y.collect():
print e
在这两种情况下,我们将得到相同的结果:
(1, ('A', 'a'))
(2, ('B', 'b'))
(3, ('C', 'c'))
希望这会对将来的人有所帮助。你能添加一些代码吗?你有没有可能接受我下面的回答?:)
(1, ('A', 'a'))
(2, ('B', 'b'))
(3, ('C', 'c'))