如何将列表保存到Spark中?

thi*_*rou 5 python apache-spark pyspark

我已经阅读了这篇SO帖子,但是我仍然需要随机。

我有数据集,如下所示:

123456789
23458ef12
ef12345ea
111223345
Run Code Online (Sandbox Code Playgroud)

我想从中得到一些朗姆线,因此我编写了以下pyspark代码:

rdd = spark_context.textFile('a.tx').takeSample(False, 3)
rdd.saveAsTextFile('b.tx')
Run Code Online (Sandbox Code Playgroud)

所以takeSample返回列表,它将出现一个错误:

'list' object has no attribute 'saveAsTextFile'
Run Code Online (Sandbox Code Playgroud)

mrs*_*vas 5

takeSample()返回数组。您需要并行化并保存它。

rdd = spark_context.textFile('a.tx')
spark_context.parallelize(rdd.takeSample(False, 3)).saveAsTextFile('b.tx')
Run Code Online (Sandbox Code Playgroud)

但是最好的方法是sample()返回RDD

rdd.sample(False, 0.3).saveAsTextFile('b.tx')
Run Code Online (Sandbox Code Playgroud)