Size: a a a

ClickHouse не тормозит

2021 February 26

AK

Andrew Kochen in ClickHouse не тормозит
Michael M
Привет!
Для выбора последней версии ОДНОГО объекта из движка ReplacingMergeTree использую вот такой запрос
SELECT * FROM xxx WHERE ID=? ORDER BY UpdatedTime DESC LIMIT 1

а как выбрать последние версии НЕСКОЛЬКИХ объектов? Например ID заданы через IN(...)
LIMIT 1 BY ID ?
источник

EP

Egor Popov in ClickHouse не тормозит
Michael M
Привет!
Для выбора последней версии ОДНОГО объекта из движка ReplacingMergeTree использую вот такой запрос
SELECT * FROM xxx WHERE ID=? ORDER BY UpdatedTime DESC LIMIT 1

а как выбрать последние версии НЕСКОЛЬКИХ объектов? Например ID заданы через IN(...)
argMax же лучше всего
источник

MM

Michael M in ClickHouse не тормозит
Andrew Kochen
LIMIT 1 BY ID ?
спасибо! Это то, что нужно!
источник

AK

Aleksei Komissarov in ClickHouse не тормозит
Может всё-таки argMax?
источник

SC

Smoked Cheese in ClickHouse не тормозит
Roman Voronov
Привет! Можно ли полагаться на автоматическую конвертацию DateTime в UInt32?

Я создал таблицу с полем типа UInt32 (именно его возвращает toUnixTimestamp), чтобы перевести в него данные типа DateTime. Протестировал без функции toUnixTimestamp вставку данных в таблицу - и она сработала корректно. В документации этот кейс не нашёл.
Скопируй кусок таблицы и проверь
источник

SC

Smoked Cheese in ClickHouse не тормозит
Но в принципе DateTime и есть UInt32, каститься должно без проблем
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Illia Slobozhanin
SHOW PROCESSLIST пустой.
system.mutations - is_done = 1 (уже)
system.merges - пусто

system.replication_queue - висит на всех нодах КХ MERGE_PARTS. В логах - cannot fetch metadata for block id.
Селекты/инсерты работают на таблицу
detach table / attach table
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Roman Voronov
Привет! Можно ли полагаться на автоматическую конвертацию DateTime в UInt32?

Я создал таблицу с полем типа UInt32 (именно его возвращает toUnixTimestamp), чтобы перевести в него данные типа DateTime. Протестировал без функции toUnixTimestamp вставку данных в таблицу - и она сработала корректно. В документации этот кейс не нашёл.
не очень понятно как вы вставляете , но вообще можно
источник

RV

Roman Voronov in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
не очень понятно как вы вставляете , но вообще можно
Спасибо! Вставляю так:
insert into target_table
select * from source_table
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Roman Voronov
Спасибо! Вставляю так:
insert into target_table
select * from source_table
можно
источник

IS

Illia Slobozhanin in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
detach table / attach table
Не помогло
источник

IS

Illia Slobozhanin in ClickHouse не тормозит
Пробовал по очереди на каждой ноде. И так же рестарт реплики
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Illia Slobozhanin
Не помогло
а что вы видите? как проверяете?
источник

IS

Illia Slobozhanin in ClickHouse не тормозит
select * from system.replication_queue
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Illia Slobozhanin
select * from system.replication_queue
эм,что ?.
Мы все еще про drop column ?
источник

IS

Illia Slobozhanin in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
эм,что ?.
Мы все еще про drop column ?
Да все про него. У нас кто-то убил мутацию, как оказалось, и покораптился 1 парт. Там в columns.txt в покорапченом парте нету части колонок. Если попробовать detach, добавить колонки из не покорапченого парта, attach. Может помочь?
P.s. колонка изначально удалялась одна, в файлике не хватает 5.
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Illia Slobozhanin
Да все про него. У нас кто-то убил мутацию, как оказалось, и покораптился 1 парт. Там в columns.txt в покорапченом парте нету части колонок. Если попробовать detach, добавить колонки из не покорапченого парта, attach. Может помочь?
P.s. колонка изначально удалялась одна, в файлике не хватает 5.
надо лог читать, сложно так сказать, то что вы описываете выглядит невозможным/непонятн как такое получилось. Может это новые колонки добавленные после создания парта.

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

IS

Illia Slobozhanin in ClickHouse не тормозит
DB::Exception: Missing columns: ..., source columns: 'av': (while reading from part /var/lib/clickhouse/data/dv/table_name/20210222_26055_26068_2/): Cannot fetch required block. Stream TreeExecutor, part 0

Чёт такое в логе. После этого и полез на файловую систему смотреть что там. Увидел что только в этом парте не совпадает кол-во колонок в columns.txt
Взял пару рандомных других партов - там по 133, а конкретно в этом (на всех нодах КХ) по 128
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Illia Slobozhanin
DB::Exception: Missing columns: ..., source columns: 'av': (while reading from part /var/lib/clickhouse/data/dv/table_name/20210222_26055_26068_2/): Cannot fetch required block. Stream TreeExecutor, part 0

Чёт такое в логе. После этого и полез на файловую систему смотреть что там. Увидел что только в этом парте не совпадает кол-во колонок в columns.txt
Взял пару рандомных других партов - там по 133, а конкретно в этом (на всех нодах КХ) по 128
zgrep 20210222_26055_26068_2 /var/log/clickhouse-server/* |grep table_name
источник

O

Oleg Bazdyrev in ClickHouse не тормозит
привет
а мутации реплицируются?
источник