MySQL, HiveQL, SQL: объединение наборов - PullRequest
0 голосов
/ 05 февраля 2020

Как мне комбинировать наборы? Например, у меня есть следующая таблица, db.table1:

cola    colb  colc
abc     1     [1, 2]
abc     1     [3]

Я хочу:

abc  1    [1, 2, 3]

Я пытался:

SELECT cola, colb, COLLECT_SET(colc)
FROM db.tbl1;

, которая дает ошибку FAILED: UDFArgumentTypeException Only primitive type arguments are accepted but array<string> was passed as parameter 1. потому что, кажется, я не могу собрать наборы множеств.

1 Ответ

1 голос
/ 06 февраля 2020

Я понял.

SELECT cola, colb, COLLECT_SET(b.col) AS colc
FROM db.table1
LATERAL VIEW EXPLODE(colc) b
GROUP BY cola, colb;

вернется:

cola    colb  colc
abc     1     [1, 2, 3]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...