Я работаю над некоторым назначением, где у нас есть две таблицы с одинаковыми / разными столбцами. Если запись table A
имеет некоторые значения столбцов как null
, то это должно быть обновлено до значения в table B
, и наоборот.
table A
id | code | type
1 | null | A
2 | null | null
3 | 123 | C
table B
id | code | type
1 | 456 | A
2 | 789 | A1
3 | null | C
что я работал до сих пор
Dataset<Row> df1 = spark.read().format("csv").option("header", "true").load("C:\\Users\\System2\\Videos\\1199_data\\d1_1.csv");
Dataset<Row> df2 = spark.read().format("csv").option("header", "true").load("C:\\Users\\System2\\Videos\\1199_data\\d2_1.csv");
df1
.as("a").join(df2.as("b"))
.where("a.id== b.id")
.withColumn("a.code",
functions.when(
df1.col("code").isNull(),
df2.col("code") )
).show();
Требуемый вывод
table C
id | code | type
1 | 456 | A
2 | 789 | A1
3 | 123 | C