python - Pyspark RDD 收集前 163 行

标签 python apache-spark pyspark rdd

有没有办法在不转换为 df 的情况下获取 rdd 的前 163 行?

我试过类似 newrdd = rdd.take(163) 的方法,但它返回一个列表,而 rdd.collect() 返回整个 rdd。

有没有办法做到这一点?或者,如果没有,是否有办法将列表转换为 rdd?

最佳答案

效率不是很高,但您可以zipWithIndexfilter:

rdd.zipWithIndex().filter(lambda vi: vi[1] < 163).keys()

在实践中,简单地takeparallelize 更有意义:

sc.parallelize(rdd.take(163))

关于python - Pyspark RDD 收集前 163 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34213846/

相关文章:

python - 如果输入参数在 Django 模板中无效,如何抛出异常

python-3.x - pyspark写入wasb blob存储容器

python - 何时在 PySpark 中使用 UDF 与函数?

apache-spark - 为什么vcore总是等于YARN上Spark中的节点数?

apache-spark - Spark Dataframe列,另一列的最后一个字符

apache-spark - 如何从 Databricks Notebook 中调用 Cluster API 并启动集群?

python - 在自定义 ML 管道中的阶段之间传递变量

python - 为什么我的 .so 文件由 boost.python 和 c++ 头文件编译失败?

python - 即使使用相同的数据,Keras 训练和验证指标值也不同(逻辑回归)

python - 尝试使用 aiohttp-cors 设置 connexion.AioHttpApp() 来实现异步路由失败