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

Коллеги, подскажите пожалуйста, как на самом деле происходит агрегация данных

в AggregatingMergeTree
Есть цепочка агрегации:
source->table1->table2

У table1 ORDER BY (user, item, date, shop, variant)
У table2 ORDER BY (item, date, user)
Во вторую таблицу должен попасть max по аггрегируемому полю Stock

Делаем инсерт в 1ю таблицу, имеем разные записи с полем Stock равным как 1, так и 0. Время вставленных записей одинаковое
Во вторую таблицу должна попасть одна запись, со Stock=1, в соответствии с запросом внутри MV
Но попадает два блока, с разным временем вставки, как я понимаю происходит сортировка при инсерте и пишется несколько блоков
одна запись с Stock=1 и одна с Stock=0

При select я получаю верное значение select max(Stock) = 1

Это нормальное поведение при аггрегации, или я где-то ошибся в написании MV или конфигурации таблицы?

4 ответов

10 просмотров

Mv в кликхаусе эт inser trigger он видит только контекст вставки

Чилийский-Бизон Автор вопроса
Dmitry [Altinity] Titov
Mv в кликхаусе эт inser trigger он видит только ...

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

Чилийский Бизон
Я понимаю. Полагал, что раз данные в первую таблиц...

Да, ток блоки там в 1 млн строк или у вас вставки еще больше

Чилийский-Бизон Автор вопроса
Dmitry [Altinity] Titov
Да, ток блоки там в 1 млн строк или у вас вставки ...

полтора миллиона был батч, на котором я такое расхождение начал получать через Insert into from select

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

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

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
26
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Всем привет! Использую gitlab-ci. Настроил gitlab-agent для деплоя в куб. При деплое проекта в логах такая ошибка: Executing deploy plan failed to watch "ns:my-project/Ingress...
Konstantin Moiseev
4
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
а не подскажете вот это скрин из какой IDE ?
Iluha Companets
14
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается...
Андрей
4
Карта сайта