Apache spark 参与rdd并保持rdd
我找不到一种方法来参与Apache spark 参与rdd并保持rdd,apache-spark,pyspark,Apache Spark,Pyspark,我找不到一种方法来参与rddtake似乎很有希望,但它返回一个列表,而不是rdd。我当然可以将其转换为rdd,但这似乎既浪费又丑陋 my_rdd=sc.textFile(“my_file.csv”) _my_rdd的部分=sc.parallelize(my_rdd.take(10000)) 有更好的方法吗?是的,确实有更好的方法。您可以使用RDDs中的方法,它说明: 样本(替换、分数、种子=无) 返回此RDD的采样子集 数量=10000 my_rdd=sc.textFile(“my_file.
rdd
take
似乎很有希望,但它返回一个列表,而不是rdd
。我当然可以将其转换为rdd
,但这似乎既浪费又丑陋
my_rdd=sc.textFile(“my_file.csv”)
_my_rdd的部分=sc.parallelize(my_rdd.take(10000))
有更好的方法吗?是的,确实有更好的方法。您可以使用RDD
s中的方法,它说明:
样本(替换、分数、种子=无)
返回此RDD的采样子集
数量=10000
my_rdd=sc.textFile(“my_file.csv”)
_my_rdd的部分=my_rdd.sample(False,quantity/my_rdd.count())
@Akavall,这是个好主意。但是格式有一些变化
my_rdd = sc.textFile("my_file.csv")
part_of_my_rdd = sc.parallelize(my_rdd.take(10000)).map(x=>x.slice(1, x.length-1))
拆下支架即可 谢谢,一定有东西!这是一种工作,但不能保证获得10k条目,而且你仍然可以阅读整个文件。也许作者不在乎。您也可以使用mapPartitionsWithIndex获得单个分区