如何获取PySpark中列的最后一个值

时间:2019-06-21 09:18:21

标签: python pyspark pyspark-sql

这个问题非常琐碎,但是我在PySpark领域是一个全新的人,即使完成简单的任务,我也面临许多问题。

假设我们有一个带有A列的数据框df。

我想创建另一个仅包含最后一个值为A的列的数据框(在这里,这里的最后一个值表示真正的记录位于列n的底部)。

我已经尝试过

df["A"][-1],但出现错误。

请,如果可能的话,我想为PySpark和Pyspark Sql中的Python代码提供一个解决方案。

1 个答案:

答案 0 :(得分:1)

请谨慎订购,因为在pyspark中,默认情况下不订购DataFrame。这意味着df.take(1)可能不会总是返回相同的值。

此帖子对此非常清楚。 https://issues.apache.org/jira/browse/SPARK-16207

2个解决方案:

  1. 从列中选择任意随机值-> take(1)很好
  2. 您有某种顺序,然后可以使用sort函数和asc参数来反转排序。