this SO post我已经读过了,但我还需要随机数。
我有数据集,如下所示:
123456789
23458ef12
ef12345ea
111223345
我想从中获取一些随机行,所以我编写了以下 pyspark 代码:
rdd = spark_context.textFile('a.tx').takeSample(False, 3)
rdd.saveAsTextFile('b.tx')
因此 takeSample 返回列表,它会出现一个错误:
'list' object has no attribute 'saveAsTextFile'
最佳答案
takeSample()
返回数组。您需要将其并行化并保存。
rdd = spark_context.textFile('a.tx')
spark_context.parallelize(rdd.takeSample(False, 3)).saveAsTextFile('b.tx')
但最好的方法是使用sample()
(在这里,我拿了 30%),这将返回 RDD
rdd.sample(False, 0.3).saveAsTextFile('b.tx')
关于python - 如何将列表保存到 spark 中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41331667/