【问题标题】:'DataFrame' object has no attribute 'orderby''DataFrame' 对象没有属性 'orderby'
【发布时间】:2021-01-08 01:54:40
【问题描述】:

我在我的应用程序中使用 azure databrick。 我使用 ML 进行插补。得到结果后,我想加入 & union 使其成为一个完整的数据集,以便我可以将其写入 blob 存储。

df3 = spark.sql("""

select * from df1 
FULL OUTER JOIN df2 
on df1.columnindex == df2.columnindex

""")

加入完成后,我显示结果,发现'columnindex'中的很多索引都丢失了,所以我执行orderBy

df3 = df3.orderBy('columnindex')

在我看来,索引没有丢失,但没有正确排序。 但是在我执行联合之后

df5 = spark.sql("""

select * from unmissing_data 
union
select * from df4

""")

并执行 orderBy

df5  = df5.orderBy('columnindex')

我收到以下错误:“DataFrame”对象没有“orderby”属性。有谁知道为什么会发生这种情况以及为什么我在“columnindex”列中的初始索引没有像我在原始数据集中那样正确排序?

【问题讨论】:

  • 我也在加入之前尝试使用 df = df1.join(df2, key = ['columnindex'], on = 'outer')。在我执行了几次联接和联合之后,我无法运行第二个 ML 模型并导致 JVM 出现堆内存不足错误。如果有人能告诉我原因,将不胜感激

标签: sql azure join pyspark union


【解决方案1】:

我刚刚在 Spark 版本 3.2.0 中遇到了这个问题。我认为这可能是一个错误。使用sort 代替orderBy 解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 2021-07-14
    • 2013-10-23
    • 2017-10-22
    • 2021-11-01
    • 2016-03-09
    • 2016-04-02
    相关资源
    最近更新 更多