Size: a a a

ClickHouse не тормозит

2020 September 04

И

Иван in ClickHouse не тормозит
Dmitrii Oslavskii
всем привет. а есть какой-то механизм ротации логов в system.query_log из коробки? если нет, кто как решает данный вопрос?
Дропать старые партиции в кроне в вашем_любимом_планировщике
источник

D

Dj in ClickHouse не тормозит
Dmitrii Oslavskii
всем привет. а есть какой-то механизм ротации логов в system.query_log из коробки? если нет, кто как решает данный вопрос?
есть же, в config
источник

AK

Aleksey Korsakov in ClickHouse не тормозит
Vladyslav Sakun
Зачем Вы разделяете PRIMARY KEY и ORDER BY, если они одинаковые?
По какому полю делаете выборку?
Сколько записей в таблице?
А есть разница в производительности, если разделять или нет? Выборку в Mat View по всем полям делаю с "WHERE UId = ...". Записей в исходной таблице 30 миллионов.
источник

D

Dj in ClickHouse не тормозит
Dmitrii Oslavskii
всем привет. а есть какой-то механизм ротации логов в system.query_log из коробки? если нет, кто как решает данный вопрос?
источник

VS

Vladyslav Sakun in ClickHouse не тормозит
Aleksey Korsakov
А есть разница в производительности, если разделять или нет? Выборку в Mat View по всем полям делаю с "WHERE UId = ...". Записей в исходной таблице 30 миллионов.
Вот тут написано когда разделять https://clickhouse.tech/docs/ru/engines/table-engines/mergetree-family/mergetree/#table_engine-mergetree-creating-a-table
Но по факту у Вас индекс на SId, а выборку делаете по UId, вопрос зачем Вам индекс по SId?
источник

DO

Dmitrii Oslavskii in ClickHouse не тормозит
о, спасибо, не нашел вот это сразу
источник

AS

Artem Savinov in ClickHouse не тормозит
День добрый.
никто не сталкивался- делаем запросы в click из питона по http через requests.Session() - получаем ошибку DB::Exception: Cannot parse input: expected eof before: rue (version 20.3.17.173) , тот же запрос в curl проходит без проблем
источник

AK

Aleksey Korsakov in ClickHouse не тормозит
Оу, действительно, ошибся. Это не принципиально в данном случае. Сейчас проверил выборку по SId - первый запрос ~1.3 сек, последующие ~0.9 в обоих MV (с AggregatingMergeTree и MergeTree). Вопрос почему нет разницы между AggregatingMergeTree и MergeTree?
источник

VS

Vladyslav Sakun in ClickHouse не тормозит
Aleksey Korsakov
Оу, действительно, ошибся. Это не принципиально в данном случае. Сейчас проверил выборку по SId - первый запрос ~1.3 сек, последующие ~0.9 в обоих MV (с AggregatingMergeTree и MergeTree). Вопрос почему нет разницы между AggregatingMergeTree и MergeTree?
Это принципиально, поскольку в таком случае у Вас full scan.
И очень странно, что хоть по индексу поиск, хоть full scan у Вас время выполнения приблизительно одинаковое
источник

D

Dj in ClickHouse не тормозит
Aleksey Korsakov
Оу, действительно, ошибся. Это не принципиально в данном случае. Сейчас проверил выборку по SId - первый запрос ~1.3 сек, последующие ~0.9 в обоих MV (с AggregatingMergeTree и MergeTree). Вопрос почему нет разницы между AggregatingMergeTree и MergeTree?
вам надо в MV  использовать -State функции (например minState). Или SimpleAggregateFunction
AggregatingMT так не работает...
источник

D

Dj in ClickHouse не тормозит
Aleksey Korsakov
Оу, действительно, ошибся. Это не принципиально в данном случае. Сейчас проверил выборку по SId - первый запрос ~1.3 сек, последующие ~0.9 в обоих MV (с AggregatingMergeTree и MergeTree). Вопрос почему нет разницы между AggregatingMergeTree и MergeTree?
...
  SELECT
      minState(Timestamp) Timestamp,
      UId,
      SId,
      Name,
      minIfState(Ver, Ver <> '') Ver
...
источник

S

Slawka in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
select server, date, diff
(select server, groupArray(date) gd, arrayDifference(groupArray(counter)) gc
from ()
group by server
) array join gd as date, gc as diff
Спасибо
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Aleksey Korsakov
Оу, действительно, ошибся. Это не принципиально в данном случае. Сейчас проверил выборку по SId - первый запрос ~1.3 сек, последующие ~0.9 в обоих MV (с AggregatingMergeTree и MergeTree). Вопрос почему нет разницы между AggregatingMergeTree и MergeTree?
если кол-во строк почти одинаковое то разницы не будет.

У вас кстати в MV не хватает полей в order by , у вас там кривые данные, UId и Name вычислены как any
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Павел Прохоров
Спасибо!
Я неправильно сформулировал
У меня есть кусок данных, который я лью. Это явно несколько батчей инсертов.
А если я хочу чтобы он был доступен только после окончания всей заливки?
если очень надо и памяти не хватает на инсерт одни партом, можно инсертить в отдельную таблицу и атачить партиции из нее
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Давид Авагимян
Всем привет. Имеется таблица с данными пользователями размер таблицы около 8 миллиардов и постоянно растет.  Есть поле uid и attribute_id. Задача состоит в том что нужно  получить другие атрибуты у пользователя по какому то конкретному. Пример:  Взять всех пользователей с атрибутов А и посчитать у них суммы других атрибутов.  Может ли кх такую задачу решить ?
select sum() ..... where uid in (select uid where attribute_id =
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Николай Гусев
Добрый день!

Мне нужно вывести столбец с датой и столбец со значением даты предыдущей строки. Каким образом это можно реализовать в ClickHouse?

Спасибо
для каждой строки предыдущую? asof join
если для одной в каждой группе groupArray
источник

ПП

Павел Прохоров... in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
если очень надо и памяти не хватает на инсерт одни партом, можно инсертить в отдельную таблицу и атачить партиции из нее
А вот это интересно) Спасибо, посмотрю в эту сторону
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Павел Прохоров
А вот это интересно) Спасибо, посмотрю в эту сторону
если данных атомарно надо вставлять немного (<1ГБ) то проще разобраться с обычным инсертом (понять как создавать один парт)

инсерт парта атомарный, при инсерте КХ создает на диске каталог tmp_имя_парта, и полученные от инсерта данные сортирует в памяти и пишет в файлы в tmp_имя_парта, когда парт готов, он переименовывает tmp_ в имя_парта и добавляет этот парт в список активных партов. Селекты видят только активные парты из того списка.
Проблема только понять как создавать инсертом парт а не партЫ.
источник

G

Gleb in ClickHouse не тормозит
Файл не видит, что еще может не так быть ?
источник

У

Ухудшанский... in ClickHouse не тормозит
Gleb
Файл не видит, что еще может не так быть ?
Chown?
источник