Мне нужна помощь.
У меня есть такие данные:
anum bnum
8661994 8661993
8661994 8661993
8661994 8661993
8661992 8661994
В SQL я могу сделать что-то вроде этого:
SELECT
anum,
(
SELECT COUNT(*)
FROM dataku t2
WHERE t2.anum=t1.anum
),
(
SELECT COUNT(*)
FROM dataku t3
WHERE t3.bnum=t1.anum
)
FROM dataku t1
GROUP BY t1.anum;
результат:
anum count_anum count_anum_on_bnum
8661992 1 0
8661994 3 1
как мне этого добиться в Apache Drill? (данные в CSV)
Я попробовал это, но дал мне ошибку
SELECT
anum,
(
SELECT COUNT(*)
FROM hdfs.`/test/*` as t2
WHERE t2.anum=t1.anum
),
(
SELECT COUNT(*)
FROM hdfs.`/test/*` as t3
WHERE t3.anum=t1.anum
)
FROM hdfs.`/test/*` as t1
GROUP BY t1.anum
LIMIT 1000
ошибка:
org.apache.drill.common.exceptions.UserRemoteException: PLAN ERROR: Невозможно преобразовать RexNode в эквивалентное выражение Drill. Класс RexNode: org.apache.calcite.rex.RexCorrelVariable, Дайджест RexNode: $ cor1 [Идентификатор ошибки: 7e975eb8-ab37-432f-9387-99126f1f43cf на мастере: 31010]
CSV-конфигурация в hdfs
"csv": {
"type": "text",
"extensions": [
"csv"
],
"delimiter": ","
},