03-28-202247 PM
在一個循環中我幾乎沒有dataframes創建。我可以結合他們與一個問題如果他們有相同的模式使用(df_unioned =減少(DataFrame。unionAll, df_list)。現在我的問題是如何聯盟如果dataframe之一df_list有不同數量的列?我認為,減少(df_unioned = DataFrame。unionByName、df_list allowMissingColumns = True)將解決這個問題,但這是給我的錯誤:reduce()沒有關鍵字參數。提前謝謝。讓我知道如果你需要任何細節的問題。
03-31-2022上午08:19
@Joseph Kambourakis我發現實現這一目標的一種方式。使用函數
def union_all (dfs):
如果len (dfs) > 1:
返回dfs [0] .unionByName (union_all (dfs [1:]), allowMissingColumns = True)
其他:
返回dfs [0]
在原帖子查看解決方案
03-29-2022淩晨5點
工會不工作如果他們有不同的模式和列。如果你需要與不同的聯盟dataframes模式,隻需添加列的null遺漏什麼讓他們相同的模式。
04-01-202205:37我
太棒了! !
@Kris柯伊拉臘,謝謝你分享你的解決方案! !
3周之前——最後一次編輯3周之前
你好,我遇到過同樣的場景中,使用減少()和unionByname我們可以實現解決方案如下:
val lstDF:列表[Datframe] = (df1、df2 df3, df4, df5)
val combinedDF = lstDF。減少((df2 df1) = > df1。unionByName (df2 allowMissingColumns = true))
Scala # # #火花多個模式
從未顯出
加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。
點擊在這裏注冊今天,加入!
參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。