我的資料庫中有兩個表。我還需要使用條件table1.id = table2.id在這兩個表上執行左外連接,源應該匹配
下面是我的兩個源表。
表格1 :
`source id type `
eu2 10000162 N4
sus 10000162 M1
pda 10000162 XM
表二:
`source id code1 code2`
eu2 10000162 CDNG_GRP PROB_CD
sus 10000162 AANV NW
pda 10000162 PM2 VLPD
預期輸出:
source id type concat
eu2 10000162 N4 CDNG_GRP-PROB_CD
sus 10000162 M1 AANV-NW
pda 10000162 XM PM2-VLPD
我希望在 Dataframe 中得到這個結果。
提前致謝 !
uj5u.com熱心網友回復:
Spark 總是回傳一個資料幀(直到指定不這樣做)
試試這個:考慮到你的表已經是火花資料框
left_join = table1.join(table2, table1.id==table1.id, "leftouter")
left_join.show()
uj5u.com熱心網友回復:
要獲得所需的結果,您需要對source和id 列執行連接。
import pyspark.sql.functions as F
...
df = df1.join(df2, on=['id', 'source'], how='left') \
.withColumn('concat', F.concat('code1', F.lit('-'), 'code2')) \
.select(['source', 'id', 'type', 'concat'])
df.show(truncate=False)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/333881.html
