Я пытаюсь присоединиться к набору данных куба с перекрестным набором данных, как показано ниже, используя правый внешний элемент в двух столбцах, но я не могу решить проблему объединений конфликтов.
Я пытался изменить объединения, ноне удалось решить.
val data =Seq(("Data2","DATA1",3152)).toDF("column1","column2","value1");
+-------+-------+------+
|column1|column2|value1|
+-------+-------+------+
| Data2| DATA1| 3152|
+-------+-------+------+
val cubeDS= data.cube("column1","column2").agg(sum("value1"));
+-------+-------+-----------+
|column1|column2|sum(value1)|
+-------+-------+-----------+
| Data2| DATA1| 3152|
| null| null| 3152|
| null| DATA1| 3152|
| Data2| null| 3152|
+-------+-------+-----------+
val side =cubeDS.select("column1").distinct().limit(1);
+-------+
|column1|
+-------+
| null|
+-------+
val top =cubeDS.select("column2").distinct().limit(1);
+-------+
|column2|
+-------+
| null|
+-------+
val cross=side.crossJoin(top);
+-------+-------+
|column1|column2|
+-------+-------+
| null| null|
+-------+-------+
ожидаемый результат;
+-------+-------+-----------+
|column1|column2|sum(value1)|
+-------+-------+-----------+
| null| null| 3152|
+-------+-------+-----------+