Я работаю над проектом, в котором мне нужно динамически предоставить несколько имен столбцов из разных источников для угольной промышленности.
e1.csv
id,code,type
1,,A
2,,
3,123,I
e2.csv
id,code,type
1,456,A
2,789,A1
3,,C
код
Dataset<Row> df1 = spark.read().format("csv").option("header", "true").load("C:\\Users\\System2\\Videos\\folder\\e1.csv");
Dataset<Row> df2 = spark.read().format("csv").option("header", "true").load("C:\\Users\\System2\\Videos\\folder\\e2.csv");
Dataset<Row> newDS = df1.as("a").join(df2.as("b")).where("a.id== b.id").selectExpr("coalesce(a.id, b.id) AS `id`;coalesce(a.code, b.code) AS `code`");
Код ошибки, который я получаю
Exception in thread "main" org.apache.spark.sql.catalyst.parser.ParseException:
mismatched input ';' expecting <EOF>(line 1, pos 38)
Что я пробовал
пробовал с \n
, ,
, ;
но ни один не работает
Dataset<Row> newDS = df1.as("a").join(df2.as("b")).where("a.id== b.id").selectExpr("coalesce(a.id, b.id) AS `id \n coalesce(a.code, b.code) AS `code`");