Pyspark連線兩個dataframe,橫向連線,(可能是中文網際網路上首個正確方法)
阿新 • • 發佈:2020-12-19
技術標籤:問題出現我就告訴大家
簡單的問題,橫向連線兩個df,如下圖所示。
pyspark中沒有類似padas中的pd.concat([df1,df2],axis='columns')用以連線兩個df,中文搜尋半天都是些文不對題的答案,還是得科學搜尋,牆外出真知。特此記錄解決辦法:
from pyspark.sql.functions import monotonically_increasing_id as mi id=mi() df1 = df1.withColumn("match_id", id) cont_data = cont_data.withColumn("match_id", id) cont_data = cont_data.join(df1,df1.match_id==cont_data.match_id, 'inner').drop(df1.match_id)
pyspark只能用join方法橫向連線,因此需要構造一個臨時的相同列使用。構造完之後丟棄即可。