[英]Join two tables and concat columns using Pyspark (databricks)
我的數據庫中有兩個表。 我還需要使用條件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 中得到這個結果。
提前致謝 !
要獲得所需的結果,您需要對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)
Spark 總是返回一個數據幀(直到指定不這樣做)
試試這個:考慮到你的表已經是火花數據框
left_join = table1.join(table2, table1.id==table1.id, "leftouter")
left_join.show()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.