連接兩個dataframes當我試圖將兩個使用火花
DataFrame joindf = dataFrame.join(df, df.col(joinCol)); //.equalTo(dataFrame.col(joinCol)));
我的程序的數據幀拋出異常下面
org.apache.spark.sql.AnalysisException:加盟條件 字符串的'url'不是布爾值。
這裏joinCol爲url 需要輸入,什麼可能導致這些例外
連接兩個dataframes當我試圖將兩個使用火花
DataFrame joindf = dataFrame.join(df, df.col(joinCol)); //.equalTo(dataFrame.col(joinCol)));
我的程序的數據幀拋出異常下面
org.apache.spark.sql.AnalysisException:加盟條件 字符串的'url'不是布爾值。
這裏joinCol爲url 需要輸入,什麼可能導致這些例外
join
變體採取的第二個參數Column
期望它可以作爲一個布爾表達式進行評估。
如果你想要一個簡單的等值連接基於列名使用a version which takes a column name as a String
:
String joinCol = "foo";
dataFrame.join(df, joinCol);
這也就意味着連接條件應該評估爲表達式。比方說,我們要根據ID加入2個dataframes,所以我們可以做的是:
使用Python:
df1.join(df2, df['id'] == df['id'], 'left') # 3rd parameter is type of join which in this case is left join
使用Scala:
df1.join(df2, df('id') === df('id')) // create inner join based on id column