有没有办法获取Spark Dataframe的前1000行?

Mic*_*nza 59 scala apache-spark

我正在使用该randomSplit函数来获取少量的数据帧以用于开发目的,我最终只取这个函数返回的第一个df.

val df_subset = data.randomSplit(Array(0.00000001, 0.01), seed = 12345)(0)
Run Code Online (Sandbox Code Playgroud)

如果我使用df.take(1000)那么我最终得到一个行数组 - 而不是数据帧,所以这对我不起作用.

有没有更好,更简单的方法来说出df的前1000行并将其存储为另一个df?

Mar*_*kon 116

您正在寻找的方法是.limit.

取前n行返回一个新的数据集.此函数与head之间的区别在于head返回一个数组,而limit返回一个新的数据集.

  • 只是为了记录,我使用.limit并返回数据集而不是DataFrame(这不是问题) (4认同)
  • 感谢更新。似乎Spark 2.X发生了很大变化:) (2认同)