我有一个rdd
rdd=sc.parallelize([[True,False,False], [True,True,True], [False,False,True]])
我想将行更改为整数。如果每行只有三个元素
def asInt(x):
return [int(x[0]), int(x[1]), int(x[2])]
rdd=rdd.map(asInt)
这给了我
[[1, 0, 0], [1, 1, 1], [0, 0, 1]]
但我有数百万行,所以我需要一个不同的解决方案。我也会接受任何使用DataFrame的解决方案。
2条答案
按热度按时间1tu0hz3e1#
除了手动枚举之外,您的方法似乎没有什么特别的错误。你可以用一个简单的列表解析来代替它:
你也可以使用
array
来代替list:关于
DataFrames
:h43kikqp2#
这是Scala的答案