【发布时间】:2018-03-31 15:20:17
【问题描述】:
我想访问 spark 数据帧的前 100 行并将结果写回 CSV 文件。
为什么take(100) 基本上是即时的,而
df.limit(100)
.repartition(1)
.write
.mode(SaveMode.Overwrite)
.option("header", true)
.option("delimiter", ";")
.csv("myPath")
需要永远。 我不想获取每个分区的前 100 条记录,而只想获取任何 100 条记录。
为什么take() 比limit() 快这么多?
【问题讨论】:
-
所以,你确实可以使用
take(100);问题是什么? -
为什么take比limit快这么多。
-
确实可以,但到目前为止还没有一种方法可以创建本地数组的 df 以使用 Sparks 不错的 CSV 处理功能。限制应该只提供这个。
标签: apache-spark apache-spark-sql limit