Обсуждаем ClickHouse
значит вставляете мелкими кусками и inactive parts не успевают вовремя удаляться...
научитесь большими батчами вставлять... или используйте async_insert=1 при вставке
всем привет
никто не сталкивался при обновлении с 23.8 на 24.8 с проблемами оконных функций. Начали падать по памяти (Memory limit (total) exceeded)
без оконок запрос меньше гига оперативы потребляет
Так можно и так и этак
https://pastila.nl/?07716638/d310664471711de6d20c05bfed8a3bf5#bCypMvZU4QJviBHH5Qv4Cw==
Спасибо большое!
И такой вопрос, json может быть разный же, то что будет создавать колонки новые не будет тормозить?
то бишь пишем в одну табличку, а bi и все заинтересованные делают запросы в нее c парсингом при запросе
Читать полностью…Можно
Пользователь создан через xml или sql?
первая таблица для вставки из java сервиса, вставляем то что точно известно + json
Читать полностью…нету вариантов, пишите запросы без вьюх
Читать полностью…да, именно так и вычислил, сначала проверял все коннекты и сеть с кипером. воспросизводится в докере тоже. issue на завёл 😞
Читать полностью…Одна точно есть, виснут DDL запросы, в логах вот такое:
<Error> DDLWorker: An error occurred when markReplicasActive: : Code: 49. DB::Exception: Ephemeral node /clickhouse/task_queue/replicas/localhost:9000/active still exists after 90s, probably it's owned by someone
else. Either session_timeout_ms in client's config is different from server's config or it's a bug. Node data: '0094bf46-36ca-4aee-866b-f3402c1baece'. (LOGICAL_ERROR), Stack trace (when copying this message, always include the lines below):
<remote_servers>Читать полностью…
<default remove="1"></default>
...
Есть изветные проблемы в 25.8? Просто собирались обновиться через неделю/две.
Читать полностью…как вставляете данные (чем, с какой периодичностью и сколько строк за раз) и какой движок у таблицы?
Читать полностью…Привет, только вкатываюсь в клик — собираю трейды с DEX-ов блокчейна.
В таблице system.parts заметил сильный перекос: очень много неактивных партов по сравнению с активными, и их количество постепенно растёт.
Стата в определенный момент времени:
(active = 0):
• part_count = 15 199
• total_rows = 3 349 887
• total_size = 706.63 MiB
(active = 1):
• part_count = 7
• total_rows = 61 043
• total_size = 11.21 MiB
• compressed_size = 11.14 MiB
Нормальная ли это ситуация или стоит беспокоиться?
Если нет, то какую пропорцию по хорошему стоит держать? Какими инструментами/настройками можно оптимально это делать?
Могу создать как нужно, если это поможет решить задачу
Читать полностью…Там не создаются новые колонки в таблице, это совсем иначе работает.
И это будет работать сильно лучше чем ваше mat view
Парсинг json будет в момент инсерта
Bi будет кверять subcolumns: payload.descr
200 таблиц , 200 мат.вью это не взлетит.
Надо делать по другому.
попробуйте тупо использовать json
Доброго дня! Подскажите, пожалуйста, а можно ли как-то настройкой задать FINAL всегда для пользователя, а не в SETTINGS?
Читать полностью…вот я его добавил, свежий тип)
повезло, что ток недавно выводились в прод)
CREATE TABLE db1.events_raw ON CLUSTER events_cluster
(
evt_id FixedString(26),
evt_type LowCardinality(String),
env_ver UInt8,
occurred_at DateTime64,
recorded_at DateTime64,
src_system LowCardinality(String),
src_employee Nullable(String),
corr_id String,
cause_id Nullable(String),
ent_type LowCardinality(String),
ent_id String,
dedupe_key Nullable(String),
payload_type LowCardinality(String),
payload_ver UInt8,
payload JSON,
ingest_ts DateTime64 DEFAULT now()
)
ENGINE = ReplicatedReplacingMergeTree(ingest_ts)
PARTITION BY toYYYYMM(occurred_at)
ORDER BY (evt_type, ent_type, ent_id, occurred_at, evt_id);
Ребята, привет!
Есть партицированная mergetree таблица table1 с ключом партицирования (value, date). На таблицу смотрят вьюхи, которые фильтруют value, формата: select * from table1 where value = 'value1'. При обращении к вьюхе с запросом select max(date) кликхаус начинает читать данные с диска, вместо того, чтобы взять эту информацию из метаданных партиций. Из-за этого подобные запросы крайне медленные.
При обращении к таблице table1 напрямую с запросом select max(date) from table1 where value = 'value1' кх обращается к метаданным, поэтому чтения с диска не происходит и запрос выполняется быстро. Есть ли какие-то воркэраунды, чтобы заставить вьюху использовать статистику, а не считать ее? Буду благодарен за совет!
Получаю ошибку
Double-distributed IN/JOIN subqueries is denied (distributed_product_mode = 'deny'). You may rewrite query to use local tables in subqueries, or use GLOBAL keyword, or set distributed_product_mode to suitable value.: While processing analytics.subsystem_events_d AS d: While processing (toString(surveys_id), min_action_time) NOT IN (SELECT d.resultID, d.dateTime FROM analytics.subsystem_events_d AS d WHERE (d.eventType = 'finish') AND (d.serviceName = 'assistant_intersections')). (DISTRIBUTED_IN_JOIN_SUBQUERY_DENIED) (version 23.8.2.7)
Погуглил, типа из-за тго, что в подзапросе распределённая таблица. однако если добавить приставку GLOBAL
where
(v.resultID, v.dateTime) GLOBAL not in (select d.resultID......
То работает
заведите. вместе с docker-compose полезно будет, и сюда ссылку если можно
Читать полностью…issue завели?
такое ощущение что default кластер порождает множественное удержание одних и тех же ZK нод потому что там ничег кроме localhost нет
Если только по несовместимым изменениям смотреть. Оно же только вышло. Откуда известным быть?
Читать полностью…