Size: a a a

ClickHouse не тормозит

2019 December 12

YY

Yury Yurochko in ClickHouse не тормозит
Sergey Kuzmin
большая нагрузка на CPU
А что в таблице system.merges?
источник

SK

Sergey Kuzmin in ClickHouse не тормозит
Yury Yurochko
А что в таблице system.merges?
на одной из машин много записей, на других не
источник

SK

Sergey Kuzmin in ClickHouse не тормозит
internal_replication в true поставить может быть?
источник

YY

Yury Yurochko in ClickHouse не тормозит
Можете поискать поиском по чату свою ошибку.
Почти наверняка вы сделали кучу частых вставок, у вас куча партов, которые не успевают мержится. Поэтому too many parts и CPU нагруженный.
источник

YK

Yuri Kudryavtsev in ClickHouse не тормозит
подскажите плиз clickhouse-copier я запускаю вот такой строкой
clickhouse-copier --config-file=zookeeper.xml --task-path=/copier/task1


внутри файла конфига копира я указал 10 воркеров, это означает я пять раз должен вызвать яндекс копир ? или он сам поспаунет внутри себя 10 воркеров ....
работает очень медленно гдето 1 гигабайт в 10 минут, это нормально ?
источник

YK

Yuri Kudryavtsev in ClickHouse не тормозит
а если мне надо перелить 20ТБ ?
источник

YK

Yuri Kudryavtsev in ClickHouse не тормозит
+ дополнительно
кто как бэкапит кликхаус ?
источник

SS

Sergey Son in ClickHouse не тормозит
Добрый день! Подскажите пожалуйста, есть задача вывести в таблицу дни которые попадают в диапазон дат из исходной таблицы, при этом должны удовлетворять условиям диапазонов из фильтра
источник

SS

Sergey Son in ClickHouse не тормозит
Мое решение выглядит не очень, может есть более компактные
источник

SS

Sergey Son in ClickHouse не тормозит
DROP TABLE IF EXISTS TestTable;
CREATE TABLE TestTable
(
   dtStart DateTime,
   dtEnd   DateTime
) ENGINE Memory();

INSERT INTO
   TestTable
VALUES
   ('2019-11-01 07:40:48', '2019-11-12 08:40:48');

SELECT *
FROM
   TestTable;

SELECT
   dtStart,
   dtEnd,
   arrayJoin(
           arrayFilter(
                   x -> x BETWEEN dtStart AND dtEnd,
                   arrayConcat(
                           arrayMap(
                                   x -> toDate('2019-11-01') + x,
                                   range(toUInt32(toDate('2019-11-05') - toDate('2019-11-01')))
                               ),
                           arrayMap(
                                   x -> toDate('2019-11-10') + x,
                                   range(toUInt32(toDate('2019-11-15') - toDate('2019-11-10')))
                               )
                       )
               )
       )
FROM
   TestTable;
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Sergey Son
DROP TABLE IF EXISTS TestTable;
CREATE TABLE TestTable
(
   dtStart DateTime,
   dtEnd   DateTime
) ENGINE Memory();

INSERT INTO
   TestTable
VALUES
   ('2019-11-01 07:40:48', '2019-11-12 08:40:48');

SELECT *
FROM
   TestTable;

SELECT
   dtStart,
   dtEnd,
   arrayJoin(
           arrayFilter(
                   x -> x BETWEEN dtStart AND dtEnd,
                   arrayConcat(
                           arrayMap(
                                   x -> toDate('2019-11-01') + x,
                                   range(toUInt32(toDate('2019-11-05') - toDate('2019-11-01')))
                               ),
                           arrayMap(
                                   x -> toDate('2019-11-10') + x,
                                   range(toUInt32(toDate('2019-11-15') - toDate('2019-11-10')))
                               )
                       )
               )
       )
FROM
   TestTable;
для чего это? есть ощущение что это легко решается ext.dictionary
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Yuri Kudryavtsev
+ дополнительно
кто как бэкапит кликхаус ?
freeze rsnapshot
источник

SS

Sergey Son in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
для чего это? есть ощущение что это легко решается ext.dictionary
Нужно посчитать пересечения интервала в строке таблицы и в фильтре отчёта в разрезе дней. А как это решается с ext.dictionary, можно пример или ссылку на доку?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Sergey Kuzmin
internal_replication в true поставить может быть?
internal_replication -- зависит от способа репликации.
Если у вас replicated таблицы (репликация через зукипер), internal_replication обязательно должен быть = true.

Если у вас "дешевая" репликаця, и репликацию делает distributed таблица то internal_replication обязательно должен быть = false


При internal_replication = false , при записи в distributed таблицу, distributed таблица вставляет во все реплики, таким образом достигается подобие репликации, без гарантий целостности.

При internal_replication = true , при записи в distributed таблицу, distributed таблица вставляет в одну из реплик, реплика так как у нее движок репликейтид, реплицирует уже сама (internal_replication).
источник

SK

Sergey Kuzmin in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
internal_replication -- зависит от способа репликации.
Если у вас replicated таблицы (репликация через зукипер), internal_replication обязательно должен быть = true.

Если у вас "дешевая" репликаця, и репликацию делает distributed таблица то internal_replication обязательно должен быть = false


При internal_replication = false , при записи в distributed таблицу, distributed таблица вставляет во все реплики, таким образом достигается подобие репликации, без гарантий целостности.

При internal_replication = true , при записи в distributed таблицу, distributed таблица вставляет в одну из реплик, реплика так как у нее движок репликейтид, реплицирует уже сама (internal_replication).
Ок, я думал я и синхронную репликацию вкручу и фоновую и будет вообще отлично. Сейчас поменяли на true.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Sergey Son
Нужно посчитать пересечения интервала в строке таблицы и в фильтре отчёта в разрезе дней. А как это решается с ext.dictionary, можно пример или ссылку на доку?
TestTable для чего? там для лежат какие-то признаки для диапазонов?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Sergey Kuzmin
Ок, я думал я и синхронную репликацию вкручу и фоновую и будет вообще отлично. Сейчас поменяли на true.
что? Вы прочитали что я написал?
Зукипер есть? как вставляете ? в дистрибьютид?
источник

IS

Ivan Solyakin in ClickHouse не тормозит
Подскажите, пожалуйста, может быть кто-нибудь сталкивался с проблемой записи при использовании связки питон + clickhouse_driver. При чтении данных проблем нет. При попытке записи даже одной строки выдает ошибку

File "clickhouse_driver/bufferedreader.pyx", line 193, in clickhouse_driver.bufferedreader.BufferedSocketReader.read_into_buffer
socket.timeout: timed out
источник

SK

Sergey Kuzmin in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
что? Вы прочитали что я написал?
Зукипер есть? как вставляете ? в дистрибьютид?
Всё есть, все норм. Вставляю в дистрибуетд, фолз поменяли на тру.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Ruslan Moldabekov
Добрый день! Есть ли в clickhouse возможность написания пользовательских функций либо процедур? Если да, то буду благодарен за ссылки на примеры написания их
Теоритически можно написать UDF даже на баше и сделать ее executable словарем
источник