184 похожих чатов

Всем привет! Подскажите пожалуйста, как такое вышло? https://fiddle.clickhouse.com/b6881162-a97e-4867-b3f6-053aace13780 Обе строчки находятся в

одной партиции, причем если поменять порядок, сначала вставить 1 потом -1 все будет работать, но ведь это не должно ни на что менять....

11 ответов

9 просмотров

а что не так?

Stranger- Автор вопроса
Tetra
а что не так?

я вставил 2 записи с одинаковым ORDER BY , которые оказываются в одной партиции, с противположными sign, по смыслу CollapsingMT данные строчки должны схлопнуться

Stranger
я вставил 2 записи с одинаковым ORDER BY , которые...

For each resulting data part ClickHouse saves: The first “cancel” and the last “state” rows, if the number of “state” and “cancel” rows matches and the last row is a “state” row. из https://clickhouse.com/docs/en/engines/table-engines/mergetree-family/collapsingmergetree#table_engine-collapsingmergetree-collapsing-algorithm Собсна без файнала как раз показывает что остаются обе строки, т.к. sign=1 добвлена позже в любом случае вы не можете полагаться на результат даже файнала и должны писать правильный запрос с агрегатом с учетом sign

Stranger- Автор вопроса
Tetra
For each resulting data part ClickHouse saves: Th...

Я это понимаю, из документации же следует что FINAL или optimize table final схлопывает записи с одинаковым ключом сортировки

Stranger
Я это понимаю, из документации же следует что FIN...

я привел цитату из доки - не смерживает в вашем случае

Stranger- Автор вопроса

Благодаря вам узнал, что у VersionedCollapsingMT version может быть не Int'ом (в документации сказано исключительно Int8)

Stranger- Автор вопроса

а в вашем примере version то одинаковые, при этом данные схлопнулись, верно?

Stranger
Благодаря вам узнал, что у VersionedCollapsingMT v...

version точно может быть int32, datetime это конечно интересно. видимо считается что за одну секунду два раза нельзя поменяться.

Stranger- Автор вопроса

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

Stranger
Мне нужно удалять строчку и желательно чтоб оно в ...

да, именно это и написано в описании к VCMT VersionedCollapsingMergeTree serves the same purpose as CollapsingMergeTree but uses a different collapsing algorithm that allows inserting the data in any order with multiple threads. In particular, the Version column helps to collapse the rows properly even if they are inserted in the wrong order. In contrast, CollapsingMergeTree allows only strictly consecutive insertion.

Stranger- Автор вопроса

К сожалению по VersionedCollapsingMergeTree очень мало кейсов и документации, спасибо что подсказали решение 🙏

Похожие вопросы

Обсуждают сегодня

коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
А если изначально бот работал так : есть сайт онлайн школы. У каждого ученика свой кабинет. Где он авторизуется по своим данным. И уже в кабинете, на самом сайте делает оплату...
Денис 💡 Фрилансер
13
А что ты вообще делаешь ?
Yesgoter
13
На работе пишем распределенное приложение, у которого сотни, если не тысячи настроек. Конфиги написаны на xml, расположены на разных хостах и должны быть согласованы друг с др...
Aleksandr Druzhinin
5
Всем привет 🙂 Какая-то непонятная проблема у меня с видео, раньше такого не было. Загружаю видео с гугл диска именно в видео mp4 и меняю ссылку как положено вот она: https://d...
Ксюша|Верстка на Тильде|Дизайн 🦥
6
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
18
средствами IBX как-то можно выполнить запрос insert ... returning?
Igor
31
Подскажите, почему в правом коде с1 дополняется до 8байт, а не до 4?
Sergey
9
Hi there everyone Is there anyone who have not started hamster bot yet? I need only one, I'll be glad if you do this for me DM if you haven't yet
Mehrshad
53
что это и почему оно? executor.start_polling(bot, skip_updates=True, on_startup=on_startup, File "/usr/local/lib/python3.10/dist-packages/aiogram/utils/executor.py", line 4...
𐌍𐌄 ᕓ𐌄𐌓𐌌Ꝋ𐌓𐌄
2
Карта сайта