有没有办法获取 Spark 数据帧的前1000行?

我使用 randomSplit函数获取少量的数据帧,以便在开发中使用,最后只获取该函数返回的第一个 df。

val df_subset = data.randomSplit(Array(0.00000001, 0.01), seed = 12345)(0)

如果我使用 df.take(1000),那么我最终得到的是一个行数组——而不是一个数据框架,所以这对我来说不起作用。

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

178103 次浏览

The method you are looking for is .limit.

Returns a new Dataset by taking the first n rows. The difference between this function and head is that head returns an array while limit returns a new Dataset.

Example usage:

df.limit(1000)

Limit is very simple, example limit first 50 rows

val df_subset = data.limit(50)