Существуют ли какие-либо ограничения при использовании соединений с набором данных куба в искре - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь присоединиться к набору данных куба с перекрестным набором данных, как показано ниже, используя правый внешний элемент в двух столбцах, но я не могу решить проблему объединений конфликтов.

Я пытался изменить объединения, ноне удалось решить.

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|
+-------+-------+-----------+
...