Pyspark RDD 收集前 163 行
Pyspark RDD collect first 163 Rows
有没有办法在不转换为 df 的情况下获取 rdd 的前 163 行?
我试过类似 newrdd = rdd.take(163)
的东西,但是 returns 一个列表,rdd.collect()
returns 整个 rdd。
有办法吗?或者,如果没有,有没有办法将列表转换为 rdd?
它不是很有效,但你可以 zipWithIndex
和 filter
:
rdd.zipWithIndex().filter(lambda vi: vi[1] < 163).keys()
在实践中,简单地 take
和 parallelize
:
更有意义
sc.parallelize(rdd.take(163))
有没有办法在不转换为 df 的情况下获取 rdd 的前 163 行?
我试过类似 newrdd = rdd.take(163)
的东西,但是 returns 一个列表,rdd.collect()
returns 整个 rdd。
有办法吗?或者,如果没有,有没有办法将列表转换为 rdd?
它不是很有效,但你可以 zipWithIndex
和 filter
:
rdd.zipWithIndex().filter(lambda vi: vi[1] < 163).keys()
在实践中,简单地 take
和 parallelize
:
sc.parallelize(rdd.take(163))