184 похожих чатов

Всем привет! Подскажите, пожалуйста, запуская один и тот же запрос

неколько раз и время от времени получаю такую ошибку:

DB::Exception: Received from chi-cluster-0-1:9000. DB::Exception: Different expressions with the same alias _subquery46:


Сам запрос выглядит примерно как указано ниже: таблица TABLE_NAME содержит в себе ивенты и шардирована по нодам по хэшу device_id, я собираю идентфикаторы из локальных таблиц, а в финальном селекте использую Distributed таблицу:
with tmp_audience_1 as (
select
device_id
from table_name_local b
where ...
group by 1
), tmp_audience_2 as (
select
device_id
from table_name_local b
where ...
group by 1
)
select
geo_hash,
sum(cnt)
from table_name_distributed b
where ...
and (
device_id in (select device_id from tmp_audience_1) or
device_id in (select device_id from tmp_audience_2)
)
group by 1


Как избежать получение этой ошибки? Почему вообще она иногда возникает на одном и том же запросе?

12 ответов

28 просмотров

версия clickhouse какая? EXPLAIN SYNTAX SELECT ... попробуйте посмотрите как ваш запрос переписывается попробуйте SETTINGS allow_experimental_analyzer=1 в конец еще поставить

Igor-Gorbenko Автор вопроса
Slach [altinity]
версия clickhouse какая? EXPLAIN SYNTAX SELECT .....

версия Clickhouse: 23.3.1.2823 команда EXPLAIN SYNTAX SELECT показывает, что этим подзапросам даны разные алиасы: ifa IN (( │ │ SELECT device_ifa │ │ FROM │ │ tmp_audience_1 │ │ ) AS _subquery103)) OR (device_ifa IN (( │ │ SELECT device_ifa │ │ FROM │ │ tmp_audience_2 │ │ ) AS _subquery104))) Settings попробую!

Igor-Gorbenko Автор вопроса
Slach [altinity]
версия clickhouse какая? EXPLAIN SYNTAX SELECT .....

С этим SETTINGS запроса падает с ошибкой Code: 60. DB::Exception: Received from ch-.dev.net:9000. DB::Exception: Received from chi-cluster-2-0:9000. DB::Exception: Unknown table expression identifier 'tmp_audience_1' in scope (SELECT device_id AS device_id FROM tmp_audience_1). (UNKNOWN_TABLE)

Igor-Gorbenko Автор вопроса
Slach [altinity]
а EPLAIN SYNTAX такойже с этим SETTINGS ?

да, все одинаково, разница лишь в выводимых именах алиасов + в одном случае есть SETTINGS в конце запроса

Igor Gorbenko
С этим SETTINGS запроса падает с ошибкой Code: 60....

можно еще в clickhouse-client SET allow_experimental_analyzer=1; в сессию поставить расшарьте через pastila.nl весь запрос и все что через EXLAIN SYNTAX получилось

Igor-Gorbenko Автор вопроса

У вас разные версии кх на нодах? Проверьте что все ноды проапгрейжены

Igor-Gorbenko Автор вопроса
Igor Gorbenko
screenshot на всех репликах одинаковая версия

Может ошибка иногда если вы подключаетесь к определенной ноде?

Igor Gorbenko
как это выловить?

Имя ноды в ошибке одинаковое?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта