我有一份表格
[Row(_1=u'5', _2=u'6')]
我想将其转换为
[(5,6)]
使用PySpark
答案 0 :(得分:4)
如果您的 [行(_1 = u' 5',_2 = u' 6')] 是您的rdd中的一行:
from pyspark.sql import Row
a = [Row(_1=u'5', _2=u'6')]
rdd = sc.parallelize(a)
print rdd.take(1)
# >>> [Row(_1=u'5', _2=u'6')]
b = rdd.map(lambda line: tuple([int(x) for x in line]))
print b.take(3)
# >>> [(5, 6)]
答案 1 :(得分:2)
Row
是一个元组,所以你只需要:
rdd.map(tuple)
获取RDD[tuple]
或
rdd.map(list)
获取RDD[list]
。