Size: a a a

ClickHouse не тормозит

2020 August 31

GR

Gubaydullin Ruslan in ClickHouse не тормозит
добрый день
у меня есть таблица типа collapsing merge tree
я хочу создать в текущей базе данных таблицу table2 (со структурой и данными из table1)
каким образом это можно сделать?
спасибо
источник

VS

Vladyslav Sakun in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
т.е. кх следит за всеми конфигами и видит изменения в них, но большинство параметров из config.xml используются только при старте
Вот и верь после этого документации
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Gubaydullin Ruslan
добрый день
у меня есть таблица типа collapsing merge tree
я хочу создать в текущей базе данных таблицу table2 (со структурой и данными из table1)
каким образом это можно сделать?
спасибо
create table T1(A Int64) Engine=MergeTree order by A;
insert into T1 values(1);
create table T2 as T1;
alter table T2 attach partition tuple() from T1;
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Vladyslav Sakun
Вот и верь после этого документации
в документации все правильно. Просто оно написано программистами.
источник

GR

Gubaydullin Ruslan in ClickHouse не тормозит
что такое tuple() ?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Сервер следит за изменениями конфигурационных файлов, а также файлов и ZooKeeper-узлов, которые были использованы при выполнении подстановок и переопределений, и перезагружает настройки пользователей и кластеров на лету. То есть, можно изменять кластера, пользователей и их настройки без перезапуска сервера.перезагружает настройки пользователей и кластеров на лету. То есть, можно изменять кластера, пользователей и их настройки без перезапуска сервера.
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Gubaydullin Ruslan
что такое tuple() ?
я так назвал/создал партицию в таблице
источник

GR

Gubaydullin Ruslan in ClickHouse не тормозит
-- you get get the list of partitions like that:
SELECT partition
  FROM system.parts
  WHERE database = '...' and table = 'source_table' and active = 1
  GROUP BY partition;
источник

GR

Gubaydullin Ruslan in ClickHouse не тормозит
спасибо
источник

GR

Gubaydullin Ruslan in ClickHouse не тормозит
я думал tuple() это какая-то функция (есть скобки)
источник

GR

Gubaydullin Ruslan in ClickHouse не тормозит
а это просто название партиции
источник

A

Artem in ClickHouse не тормозит
Здравствуйте. А что будет с вставленными данными через гошный драйвер, к примеру. Если из пачки в 100К записей на 50001 записи какие-то некорректные данные (например enum не подходит). Вылетит ошибка из кликхауса, но тк отката транзакций нет получается что 50К записей успешно будут в базе?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Artem
Здравствуйте. А что будет с вставленными данными через гошный драйвер, к примеру. Если из пачки в 100К записей на 50001 записи какие-то некорректные данные (например enum не подходит). Вылетит ошибка из кликхауса, но тк отката транзакций нет получается что 50К записей успешно будут в базе?
инсерт парта атомарен. Если вы поймете что такое парт (не партиция! не инсерт! не блок!), то вы сможете сделать то что вы хотите.
источник

A

Artem in ClickHouse не тормозит
It could be atomic if this insert creates only one part.

only if it inserts into only one partition
only if number of rows is less than max_insert_block_size (and others min_insert_block_size_rows,min_insert_block_size_bytes)
only if a table does not have MV (there is no atomicity Table <-> MV)

про что такое парт нашел Ваш-же пост ) Это актуально ? Те если на таблице мат вьюха висит то в нее может пройти часть инсертов не смотря на то что инсерт парта сфейлился?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Artem
It could be atomic if this insert creates only one part.

only if it inserts into only one partition
only if number of rows is less than max_insert_block_size (and others min_insert_block_size_rows,min_insert_block_size_bytes)
only if a table does not have MV (there is no atomicity Table <-> MV)

про что такое парт нашел Ваш-же пост ) Это актуально ? Те если на таблице мат вьюха висит то в нее может пройти часть инсертов не смотря на то что инсерт парта сфейлился?
актуально, я имел в ввиду что нет атомарности между таблицей и MV, вставка в таблицу может успешной, и неуспешной в MV, т.е. данные будут отличаться, потому что в MV ничего не вставилось
источник

A

Artem in ClickHouse не тормозит
а наоборот? неуспешной в таблицу и успешной (часть) в MV?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Artem
а наоборот? неуспешной в таблицу и успешной (часть) в MV?
🙂 на уровне исерта да, на уровне парта нет
источник

Д

Дмитрий in ClickHouse не тормозит
доброго всем времени суток, подскажите, пожалуйста, такой момент: есть задача, в которой в систему поступает поток очень большой событий, события разделяются на типы (их на текущий момент примерно 30), у событий есть общие параметры и есть некоторые уникальные атрибуты.
Как Вы считаете будет ли рациональным уникальную часть для каждого типа событий писать в json-документ, который хранить в поле данных тип String, а общие атрибуты хранить как поля соответствующих типов данных? В последствие подразумевается обработка уникальных атрибутов, сохранённых в json средствами самого Clickhouse.
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Artem
а наоборот? неуспешной в таблицу и успешной (часть) в MV?
вообще все просто, инсерт МОЖЕТ создать несколько партов, и часть партов может заехать в таблицу, MV сломает вставку оставшейся части
источник

A

Artem in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
вообще все просто, инсерт МОЖЕТ создать несколько партов, и часть партов может заехать в таблицу, MV сломает вставку оставшейся части
допусти инсерт в таблицу создает один парт и он должен "откатиться" (видимо физически файл удалиться). В какой момент пайплайна стриггерится инсерт в MV ?
источник