簡體   English   中英

Spark scala 在 dataframe 內加入 dataframe

[英]Spark scala join dataframe within a dataframe

我有一個要求,我需要連接數據框 A 和 B 並計算一列,並在具有不同連接條件的相同 2 個數據框之間的另一個連接中使用該計算值。

例如:

 DF_Combined = A_DF.join(B_DF,'Join-Condition',"left_outer").withColumn(col1,'value')

完成上述操作后,我需要進行相同的連接,但使用上一個連接中計算的值。

 DF_Final=A_DF.join(B_DF,'New join COndition',"left_outer").withcolumn(col2,DF_Combined.col1*vol1*10)

當我嘗試這樣做時,我遇到了笛卡爾積問題。

您不能使用 dataframe 中不存在的列。 我的意思是,當您在生成的 dataframe 中執行A_DF.join(B_DF,...時,您只有A_DFB_DF的列。如果您想擁有新列 - 您需要使用DF_Combined

根據您的問題,我相信您不需要再次加入,但您有 2 個可能的選擇: 1. 當您第一次加入時 - 在這個地方計算vol1*10 2.加入后做DF_Combined.withColumn...

但請記住 - withColumn(name, expr)創建一個name設置值為expr結果的列。 所以.withcolumn(DF_Combined.col1,vol1*10)沒有意義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM