Size: a a a

ClickHouse не тормозит

2021 March 16

M

Mishanya in ClickHouse не тормозит
Ivan Kazakov
Code: 60, e.displayText() = DB::Exception: Table cte doesn't exist
это не так работает немного
with ( select 1 ) AS qwe select qwe
источник

IK

Ivan Kazakov in ClickHouse не тормозит
Tagir Gumerov
Из datagrip делаете запрос?
да
источник

TG

Tagir Gumerov in ClickHouse не тормозит
Ivan Kazakov
да
Это ошибка парсера datagrip, а не ch
Попробуйте то же самое сделать через clickhouse-client, чтобы наверняка
Upd: насколько я понимаю, парсер datagrip подставляет в середину запросу format ... и приехали
источник

TG

Tagir Gumerov in ClickHouse не тормозит
Mishanya
это не так работает немного
with ( select 1 ) AS qwe select qwe
источник

M

Mishanya in ClickHouse не тормозит
а вы пробовали примеры эти заюзать ? вот у меня на двух версиях не работает
источник

IK

Ivan Kazakov in ClickHouse не тормозит
Tagir Gumerov
Это ошибка парсера datagrip, а не ch
Попробуйте то же самое сделать через clickhouse-client, чтобы наверняка
Upd: насколько я понимаю, парсер datagrip подставляет в середину запросу format ... и приехали
да, видимо ошибка datagrip’a
источник

IK

Ivan Kazakov in ClickHouse не тормозит
через клиент работает, спасибо
источник

TG

Tagir Gumerov in ClickHouse не тормозит
Mishanya
а вы пробовали примеры эти заюзать ? вот у меня на двух версиях не работает
хм, вы правы
with (select arrayJoin([1,2,3]) as a) as b select a from b
падает
with b as (select arrayJoin([1,2,3]) as a) select a from b
работает
v20.11.4.13

почему-то был уверен, что у меня оба способа работали
источник

ЕК

Евгений Кузнецов... in ClickHouse не тормозит
Добрый вечер! Позвольте и мне вопрос задать)
В доке описана возможность пропуска колонок при инсертах?
я делаю все по инструкции:
INSERT INTO ads.categories (* EXCEPT(addet_at)) Values ...
а в ответ меня кх шлет:
ERROR - Code: 62.
DB::Exception: Syntax error: failed at position 29: * EXCEPT(addet_at)) Values. Expected one of: compound identifier, identifier, list of elements.
источник

M

Mishanya in ClickHouse не тормозит
Евгений Кузнецов
Добрый вечер! Позвольте и мне вопрос задать)
В доке описана возможность пропуска колонок при инсертах?
я делаю все по инструкции:
INSERT INTO ads.categories (* EXCEPT(addet_at)) Values ...
а в ответ меня кх шлет:
ERROR - Code: 62.
DB::Exception: Syntax error: failed at position 29: * EXCEPT(addet_at)) Values. Expected one of: compound identifier, identifier, list of elements.
это разве не для селектов только ?
наверное, в инсерте надо перечислить все, а в селекте уже написать select * except()
источник

ЕК

Евгений Кузнецов... in ClickHouse не тормозит
Mishanya
это разве не для селектов только ?
наверное, в инсерте надо перечислить все, а в селекте уже написать select * except()
Выдержка из страницы доки по инсертам
Если вы хотите вставить данные во все столбцы, кроме 'b', вам нужно передать столько значений, сколько столбцов вы указали в скобках:

INSERT INTO insert_select_testtable (* EXCEPT(b)) Values (2, 2)
источник

ЕК

Евгений Кузнецов... in ClickHouse не тормозит
проблема решена:
INSERT INTO ads.categories (category_id, category, group_id, `group`, created_at, updated_at) Values
...
ларчик просто открывался
источник

FN

Fred Navruzov in ClickHouse не тормозит
ребята, а подскажите, есть ли возможность в КХ получить NULL в местах, где по full outer join не выдает совпадений, не выставляя настроек, по типу aggregate_functions_null_for_empty
ВМЕСТО дефолтных значений типа данных ?

пример: хотелось бы вместо нулей получить null
select 
   history.*
from
   (
       select 1 as id, 1 as time_slot
       union all
       select 2 as id, 1 as time_slot
   ) as skeleton
   full outer join (
       select 1 as id, 2 as time_slot, 12 as value
       union all
       select 1 as id, 3 as time_slot, 13 as value
       union all
       select 2 as id, 1 as time_slot, 21 as value
       union all
       select 2 as id, 2 as time_slot, 22 as value
   ) as history
   using (id, time_slot)
   
order by history.id asc, history.time_slot asc


p.s. знаю про nullif, coalesce и прочие, просто хочу узнать, есть ли более легкий способ получить NULLы не оборачивая каждую колонку в магию
источник

DT

Dmitry Titov in ClickHouse не тормозит
Fred Navruzov
ребята, а подскажите, есть ли возможность в КХ получить NULL в местах, где по full outer join не выдает совпадений, не выставляя настроек, по типу aggregate_functions_null_for_empty
ВМЕСТО дефолтных значений типа данных ?

пример: хотелось бы вместо нулей получить null
select 
   history.*
from
   (
       select 1 as id, 1 as time_slot
       union all
       select 2 as id, 1 as time_slot
   ) as skeleton
   full outer join (
       select 1 as id, 2 as time_slot, 12 as value
       union all
       select 1 as id, 3 as time_slot, 13 as value
       union all
       select 2 as id, 1 as time_slot, 21 as value
       union all
       select 2 as id, 2 as time_slot, 22 as value
   ) as history
   using (id, time_slot)
   
order by history.id asc, history.time_slot asc


p.s. знаю про nullif, coalesce и прочие, просто хочу узнать, есть ли более легкий способ получить NULLы не оборачивая каждую колонку в магию
set join_use_nulls=1?
источник

FN

Fred Navruzov in ClickHouse не тормозит
👍
источник

FN

Fred Navruzov in ClickHouse не тормозит
а по умолчанию заменяется на дефолтное значение типа колонки?
источник

DT

Dmitry Titov in ClickHouse не тормозит
Fred Navruzov
а по умолчанию заменяется на дефолтное значение типа колонки?
Да, потому что Nullable дорогие
источник

FN

Fred Navruzov in ClickHouse не тормозит
Спасибо, попробуем
источник

АЗ

Андрей З in ClickHouse не тормозит
Привет.

Допустим, есть шардированная ReplicatedCollapsingMergeTree таблица и Distributed таблица над ней. Запись идёт через Distributed таблицу.

Я же правильно понимаю, что не стоит ждать магии и для того, чтобы collapsing работал необходимо чтобы соответствующие строки попадали на один шард?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Евгений Кузнецов
Добрый вечер! Позвольте и мне вопрос задать)
В доке описана возможность пропуска колонок при инсертах?
я делаю все по инструкции:
INSERT INTO ads.categories (* EXCEPT(addet_at)) Values ...
а в ответ меня кх шлет:
ERROR - Code: 62.
DB::Exception: Syntax error: failed at position 29: * EXCEPT(addet_at)) Values. Expected one of: compound identifier, identifier, list of elements.
CH у вас какой версии?
источник