я решил создать этот вопрос, потому что the answer provided to a very similar проблема не работает для моего сценария:SparkR слияние без создания дубликатов столбцов
Я хочу, чтобы объединить эти два SparkR dataframes df1
col1 col2
1 11
2 22
3 33
4 44
и df2
col1 col2 newcol
1 11 401
2 22 402
3 33 403
4 44 404
dfs следует объединить в столбцы 1 и 2. Я пробовал все шаги, предложенные в приведенной выше ссылке (например, опускание «по выражению»), но результат всегда выглядит l икэ это:
col1_x col2_x col1_y col2_y newcol
1 11 1 11 401
2 22 2 22 402
3 33 3 33 403
4 44 4 44 404
Я не хочу иметь повторяющиеся столбцы и сейчас я должен удалить col1_y, col2_y вручную и переименовать col1_x, col2_x только иметь col1, col2 и NEWCOL как результат:
df <- merge(df1, df2) # <- how can I change this?
df$col1_y <- NULL
df$col2_y <- NULL
df <- withColumnRenamed(df, "col1_x", "col1")
df <- withColumnRenamed(df, "col2_x", "col2")
Я пробовал всевозможные комбинации, используя инструкции by by.x и by.y, но никто не работал. Есть ли способ упростить эту утомительную цепь коррекции, опуская один из шагов? Спасибо!
Великий, присоединиться и трубы выбрать делает трюк. –