Size: a a a

ClickHouse не тормозит

2020 June 16

DC

Denny Crane (I don't... in ClickHouse не тормозит
optimize table my_table final deduplicate ?

какой движек у таблицы?
источник

SD

Stanislav Dimitriev in ClickHouse не тормозит
ReplicatedMergeTree
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Stanislav Dimitriev
ReplicatedMergeTree
я сомневаюсь что вам нужен deduplicate вообще ( https://github.com/ClickHouse/ClickHouse/issues/11572 )
ну и конечно чистить партиции целиком мутациями это плохая идея.
источник

R

Renat in ClickHouse не тормозит
привет : )
не нашел сходу. подскажите, есть в кликхаусе функция конвертации чисел по основанию? аналог mysql-функции CONV(N,from_base,to_base).
нужно раскодировать число из 36-ричного представления в обычное 10-чное.
источник

VS

Vladyslav Sakun in ClickHouse не тормозит
Renat
привет : )
не нашел сходу. подскажите, есть в кликхаусе функция конвертации чисел по основанию? аналог mysql-функции CONV(N,from_base,to_base).
нужно раскодировать число из 36-ричного представления в обычное 10-чное.
источник

R

Renat in ClickHouse не тормозит
да, спасибо, но это обычное 16-ричное декодирование.
мне нужно в/из base36. а лучше вообще произвольное.
источник

VS

Vladyslav Sakun in ClickHouse не тормозит
Renat
да, спасибо, но это обычное 16-ричное декодирование.
мне нужно в/из base36. а лучше вообще произвольное.
Такого вроде нету
источник

R

Renat in ClickHouse не тормозит
ну ок. надеялся, может, не задокументировали еще : )
источник

AM

Alexander Malikov in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
Поставьте у новой таблицы 30000 партов вместо 300 на время переливки в settings таблицы (их можно менять alter modify settings), плюс можно парты укрупнить.

https://gist.github.com/den-crane/21a84a9a8a9e5203195a7f023a0ec363
то есть таблице можно кроме index_granularity и всего, что перечислено в доке индивидуально задавать parts_to_throw_insert?
а какие ещё, где почитать? :)
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Alexander Malikov
то есть таблице можно кроме index_granularity и всего, что перечислено в доке индивидуально задавать parts_to_throw_insert?
а какие ещё, где почитать? :)
в  system.merge_tree_settings, там есть поле с описанием

я потихоньку их описываю в доке https://github.com/den-crane/ClickHouse/blob/master/docs/ru/operations/settings/merge-tree-settings.md
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
но не все можно менять, т.е. index_granularity например нельзя
источник

AM

Alexander Malikov in ClickHouse не тормозит
потрясающе
спасибо! :)
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
и можно конечно подобрать max_delay_to_insert / parts_to_delay_insert  и затормозить параллельные инсерты чтобы мержи успевали, но кмк лучше побыстрее завершить инсерт и затем помержить 30тыс партов, чем медленно вставлять и успевать мержить
источник

A

Alexey in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
и я сомневаюсь что это работает
last_value AggregateFunction(argMax, Float32, Tuple(DateTime, DateTime)),
argMaxState(value, (last_datetime, created)) AS last_value,
протестил дополнительно - все работает, как ожидается. Мы используем два datetime в тапле: время данных (округленное до часа) и время импорта. Выбираем последнее время данных для пары, однако там могут быть дубли (актуализация данных) и мы довыбираем по последнему времени импорта.  AggregateFunction отрабатывает корректно, выбирает из строк с одинаковых датой данных ту у которой самое большое значение времени импорта (второе в тапле)
источник

VB

Vladimir Bunchuk in ClickHouse не тормозит
ребят , а напомните плз как можно через sql запрос определить текущую ноду кластера
источник

A

Anttoon in ClickHouse не тормозит
Vladimir Bunchuk
ребят , а напомните плз как можно через sql запрос определить текущую ноду кластера
SELECT *
FROM system.clusters
WHERE is_local = 1;

может это?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Vladimir Bunchuk
ребят , а напомните плз как можно через sql запрос определить текущую ноду кластера
select hostName(), FQDN() ?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Alexey
протестил дополнительно - все работает, как ожидается. Мы используем два datetime в тапле: время данных (округленное до часа) и время импорта. Выбираем последнее время данных для пары, однако там могут быть дубли (актуализация данных) и мы довыбираем по последнему времени импорта.  AggregateFunction отрабатывает корректно, выбирает из строк с одинаковых датой данных ту у которой самое большое значение времени импорта (второе в тапле)
ОК
источник

VB

Vladimir Bunchuk in ClickHouse не тормозит
Thanks 🙏
источник