【问题标题】:spark dataframe how to get the latest n rows using javaspark数据框如何使用java获取最新的n行
【发布时间】:2016-03-04 21:15:48
【问题描述】:

我是 Spark 的新手。现在我正在尝试将两个 DataFrame 连接在一起。我想将我的数据框保持在 5000 行中。由于我的第一个数据框已经有 5000 行,我需要获得最新的 4000 行,因为我的第二个数据框有 1000 行。有人可以帮助我如何在第一个数据框中获取具有最新 4000 行的数据框吗?提前致谢。

【问题讨论】:

标签: java apache-spark


【解决方案1】:

我不确定您真正希望通过这种方式实现什么,但如果您使用的是 Spark 1.5,您可以使用 monotonicallyIncreasingId 执行类似的操作:

val df4000 = df.sort(monotonicallyIncreasingId().desc).limit(4000)

它将按数据框中每一行的 ID 降序排序,然后将结果限制为前 4000 个。

否则,您可以使用任何您知道会持续增加的列来执行相同的操作。

【讨论】:

  • 我也在寻找同样的东西。只是为了确保 df.take(100) 应该给我前 100 行,然后 df.sort(monotonicallyIncreasingId().desc).limit(100) 应该给最后 100,对吧?
猜你喜欢
  • 1970-01-01
  • 2017-03-25
  • 1970-01-01
  • 1970-01-01
  • 2021-03-03
  • 2015-06-01
  • 1970-01-01
  • 2021-02-10
  • 2019-12-02
相关资源
最近更新 更多