2つのデータフレームのjoinキーを2つのvaribaleでkepしようとしています。私は同じものを結合に渡したい。ここに私の変数は一つのキーを含んでいます。複数のキーを渡すことはできますか?Scalaを使用してSpark Data Frameの変数としてjoinキーを渡す方法
例: 第1キー: スカラ>ヴァルprimary_key_col = scd_table_keys_df.first()のgetString(2) primary_key_col:文字列= acct_nbr
2キー: スカラ>ヴァルdelta_primary_key_col = "デルタ_ "+ primary_key_col delta_primary_key_col:文字列= delta_acct_nbr
** My python Code which is working
cdc_new_acct_df = delta_src_rename_df.join(hist_tgt_tbl_Y_df ,(col(delta_primary_key_col) == col(primary_key_col)) ,'left_outer').where(hist_tgt_tbl_Y_df[primary_key_col].isNull())
私は同じ達成したいですスカラ。提案してください。 複数の方法で試行します。
val cdc_new_acct_df = delta_src_rename_df.join(hist_tgt_tbl_Y_df ,(delta_src_rename_df({primary_key_col.mkstring(",")}) == hist_tgt_tbl_Y_df({primary_key_col.mkstring(",")}),"left_outer")).where(hist_tgt_tbl_Y_df[primary_key_col].isNull())
:121:エラーは:値mkstringがString
val cdc_new_acct_df = delta_src_rename_df.join(hist_tgt_tbl_Y_df ,(delta_src_rename_df(delta_primary_key_col.map(c => col(c))) == hist_tgt_tbl_Y_df(primary_key_col.map(c => col(c))),"left_outer"))
のメンバーではありません:123:エラー:型の不一致。 found:Array [org.apache.spark.sql.Column] 必須:文字列
解決できません。提案してください。