![](/img/trans.png)
[英]How to save a dataframe into multiple files based on unique columns in spark-scala
[英]How to select all columns of a dataframe in join - Spark-scala
我正在連接 2 個數據框並選擇左框的所有列,例如:
val join_df = first_df.join(second_df, first_df("id") === second_df("id") , "left_outer")
在上面我想做 select first_df.* 。如何在 join 中選擇一個框架的所有列?
使用別名:
first_df.alias("fst").join(second_df, Seq("id"), "left_outer").select("fst.*")
假設你:
然后,您可能會執行以下操作:
val selectColumns = df1.columns.map(df1(_)) ++ Array(df2("field1"), df2("field2"))
df1.join(df2, df1("key") === df2("key")).select(selectColumns:_*)
我們也可以通過 leftsemi join 來實現。 leftsemi join 將從連接的數據框中選擇左側數據框中的數據。
在這里,我們基於列 col1 連接了兩個數據幀 df1 和 df2。
df1.join(df2, df1.col("col1").equalTo(df2.col("col1")), "leftsemi")
只是為了添加一種可能性,無需使用別名,我就可以在 pyspark 中使用
first_df.join(second_df, "id", "left_outer").select( first_df["*"] )
不確定是否適用於此,但希望它有所幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.