clickhouse_ru | Неотсортированное

Telegram-канал clickhouse_ru - ClickHouse не тормозит

11238

Обсуждаем ClickHouse

Подписаться на канал

ClickHouse не тормозит

Вам надо понять, что отъедает память в момент падения. (total) memory limit показывает, что есть еще процессы, влияющие на потребление. Возможно, мержи (system.merges), возможно мутации (system.mutations where not is_done) или кучка параллельных запросов.
Найдя причину, найдете и решение.

Читать полностью…

ClickHouse не тормозит

Может быть, как-то можно более агрессивно освобождать память? Мне сейчас кеш особо не нужен, я только загружаю данные, запросов не делаю.

Читать полностью…

ClickHouse не тормозит

В принципе полно примеров в доке с использованием curl, я реверсинженерил примеры из доки чтобы понять, как составляется POST запрос. Там есть разные способы, но суть вроде у всех одна.

А сорян, с инфером схемы не знаю.

Читать полностью…

ClickHouse не тормозит

Если версия новая

SELECT
pair[1] AS field1,
pair[2] AS field2
FROM tbl
ARRAY JOIN payload.a AS pair

Читать полностью…

ClickHouse не тормозит

лучше, но не настолько драматически. я бы ожидал в этом случае, что у них uncompressed rate будет сравним с другими мерджами, но он тоже заметно ниже (см. скриншот)

Читать полностью…

ClickHouse не тормозит

подскажи, чат, в какую сторону копать, если у одной отдельно взятой таблицы систематически, в несколько раз, более тугие мерджи чем у остальных? довольно обычный MergeTree, без фанатизма, как и остальные

Читать полностью…

ClickHouse не тормозит

Контекст: хотелось бы использовать под tmp два диска, ssd+hdd. Использовать первый, второй использовать только в случае если на первом нет места.
Сначала попробовал использовать для эти цели storage_policy с двумя volume c приоритетами, но клик бодро при старте ругнулся
Code: 139. DB::Exception: Policy 'tmp_two_tiers' is used temporary files, such policy should have exactly one volume. (NO_ELEMENTS_IN_CONFIG)

Был бы рад положиться на то, то это будет работать из коробки по описанию в tmp_policy, но его описание расходится с описанием того, как работают диски в вольюме в общем случае

Читать полностью…

ClickHouse не тормозит

Ну его в 25.8 его из эксперементального переместели в бета. Так что всё еще не продакшн реди. Использование на свой страх и риск.

Читать полностью…

ClickHouse не тормозит

Интерестинг😅 попробую.

Читать полностью…

ClickHouse не тормозит

добавьте в SETTINGS
grace_hash_join_initial_buckets=8, grace_hash_join_max_buckets=8;

Читать полностью…

ClickHouse не тормозит

Один джоин.
Использую setting grace_join

Читать полностью…

ClickHouse не тормозит

Ого, спасибо. Просто стал сталкиваться часто с тем что не хватает конфигурации 8GB*3, а ценник за 16GB*3 уже достаточно большой.

Хотя по идеи запрос должен отработать с 24 GB памяти...

Читать полностью…

ClickHouse не тормозит

Коллеги, добрый день!

Вопрос по Clickhouse Cloud ☁️:

Чтобы у меня запросы выполнялись распределенно, мне нужно создать над SharedMergeTree создать Distributed?

Читать полностью…

ClickHouse не тормозит

Я помню, спарк там чёт хотел получать сначала от кх . Посмотрите в query_log может там ошибки есть в запросах спарка )

Читать полностью…

ClickHouse не тормозит

А у вас права на чтение есть ?

Читать полностью…

ClickHouse не тормозит

Покопал этот вопрос еще. Вижу через inotify, что запись работает через round-robin на оба диска.

Место в документации следует понимать так: есть фэйловер. Если первый диск переполнен, то запись будет идти только на второй диск. Не более того.

Читать полностью…

ClickHouse не тормозит

Можно-ли как-то настроить поведение при запросе, когда в данный момент памяти мало?

Заливаю датасет в CH довольно большими кусками. Если делать в один поток, то медленно, если делаю в несколько потоков - время от времени заканчивается память и запрос рубится, хотя можно было бы подождать, и выполнить.

Причем увеличение памяти не улучшает ситуацию, CH спокойно хавает всю память, работает медленнее и падает чаще:

Code: 241. DB::Exception: (total) memory limit exceeded: would use 42.38 GiB (attempt to allocate chunk of 64.67 MiB bytes), current RSS: 41.16 GiB, maximum: 42.34 GiB. OvercommitTracker decision: Query was selected to stop by OvercommitTracker. (MEMORY_LIMIT_EXCEEDED) (version 25.8.2.29 (official build))

При этом работало и на 16 GB. Любой запрос если перезапустить спокойно отработает.

Читать полностью…

ClickHouse не тормозит

Коллеги, добрый день. Есть задача сделать временную таблицу из данных в фомате JSONEachRow используя HTTP POST. Т.е. для локального файла все ок - create temporary table t as select * from file 'file.jsonl' отрабатывает и создает схему и вставляет данные. Но как загнать данные с выводом схемы используя POST на порт 8123 я не нашел в доке (возможно не увидел). Спасибо.

Читать полностью…

ClickHouse не тормозит

Argument for function arrayJoin must be Array or Map (

Читать полностью…

ClickHouse не тормозит

SELECT
arr[1] AS field1,
arr[2] AS field2
FROM
(
SELECT
arrayJoin(
JSON_QUERY(payload, '$.a')
) AS arr
FROM your_table
)

Читать полностью…

ClickHouse не тормозит

Подскажите, можно как развернуть массив, хранящийся в поле json array?

У меня есть поле payload JSON, там {"a" : [["1", "2"], ["3", "4"]]}

мне нужно сделать селект, который выведет:

field1 field2
1 2
3 4

Я так понимаю, обычный массив можно развернуть с помощью array join, но как развернуть массив, который как поле в JSON?

Читать полностью…

ClickHouse не тормозит

Добрый день, коллеги.

Прошу помощи с трактовкой неясного места из святого августина документации

Storage policy. Как будет выполняться запись на несколько дисков в одном volume?

Отсюда https://clickhouse.com/docs/engines/table-engines/mergetree-family/mergetree
можно сделать вывод, что указание нескольких дисков в одном вольюеме приведёт к записи через
round-robin
"In given example, the hdd_in_order policy implements the round-robin approach."

Здесь же
https://clickhouse.com/docs/operations/server-configuration-parameters/settings#tmp_policy
пишут, что запись в вольюм с несколькими дисками будет выполняться в режиме "failover"
"When /disk1 is full, temporary data will be stored on /disk2"

Не очень понимаю, как без дополнительных настроек один и тот же volume будет настолько по-разному работать в разных случаях указания.
При этом название hdd_in_order само по себе сбивает с толку, я бы от него ожидал режима "failover"

Читать полностью…

ClickHouse не тормозит

Ребят, насколько lightweight update production-ready?

Читать полностью…

ClickHouse не тормозит

вообще это в саппорте надо спрашивать, там настоящие сварщики, а не как тут.

Читать полностью…

ClickHouse не тормозит

SETTINGS join_algorithm = 'grace_hash',
max_memory_usage = 15000000000,
max_bytes_before_external_group_by = 1000000000,
max_bytes_before_external_sort = 1000000000;

Читать полностью…

ClickHouse не тормозит

ну это совешенно иная проблема, обратная даже, и решение у нее другое, в саппорт клауда лучше.

у вас джойн наверное в запросе, или несколько?

Читать полностью…

ClickHouse не тормозит

в КХ клауд все по другому. Надо спрашивать их саппорт как распаллелить запрос.

Там всегда один шард. Там нельзя создать Distributed.
Чтобы несколько реплик выполняли один запрос, они пилят max_parallel_replicas.

Читать полностью…

ClickHouse не тормозит

Что-то я действительно не подумал об этом. Все зарпосы от спарка падают вот с такой ошибкой


<failed to load>
java.sql.SQLException: Method: getLong("normalized_query_hash") encountered an exception.
at com.clickhouse.jdbc.internal.ExceptionUtils.toSqlState(ExceptionUtils.java:74)
at com.clickhouse.jdbc.ResultSetImpl.getLong(ResultSetImpl.java:320)
at com.clickhouse.jdbc.ResultSetImpl.getLong(ResultSetImpl.java:175)
in CHouseJdbcHelper.tryGetObject(CHouseJdbcHelper.java:156)
Caused by: java.lang.ArithmeticException: integer overflow: 15722048748544463130 cannot be presented as long
at com.clickhouse.client.api.data_formats.internal.NumberConverter.toLong(NumberConverter.java:87)
at com.clickhouse.client.api.data_formats.internal.AbstractBinaryFormatReader.readNumberValue(AbstractBinaryFormatReader.java:378)
at com.clickhouse.client.api.data_formats.internal.AbstractBinaryFormatReader.getLong(AbstractBinaryFormatReader.java:402)
at com.clickhouse.jdbc.ResultSetImpl.getLong(ResultSetImpl.java:314)
... 22 more


Даже когда он что-то пытается поселектить, видимо гранты проверить.

Читать полностью…

ClickHouse не тормозит

Да. Сейчас проверю дополнительно конечно

Читать полностью…

ClickHouse не тормозит

Я пробую вставлять в ReplicatedReplacingMergeTreeEngine и мне ловлю экзепшен что данная таблица не поддерживается. У нас сейчас официальный коннектор от Clickhouse.

Читать полностью…
Подписаться на канал