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

Здравствуйте! У меня задача: агрегировать данные на периоде 30 минут,

при этом агрегационная функция - argMax(value, timecode_1).
Я создал таблицу с TTL (см. запрос ниже). Через 30 минут после последнего таймкода данные свернулись. В результате при агрегации я получил 2 строки, в одной учлись данные с 1 по 25 timecode_1, в другой с 26 по 30. При этом был выставлен параметр merge_with_ttl_timeout = 1200 - 20 минут.
Перепроверил через несколько часов, данные не схлопнулись в одну строку.

Вопросы:
1. Почему так произошло? Вроде merge_with_ttl_timeout позволяет производить принудительные мержи, нет? Может есть особенности задания интервала в TTL части?
2. Может есть более оптимальный способ посчитать argMax в данной задаче? *State не подходит.
3. Если ли способ решить ту же задачу, но воспользовавшись движком SummingMergeTree? Далее потребуется считать суммы, было бы удобно

create table kubernetes.test5
(
id UInt64,
timecode_1 DateTime,
timecode_agg DateTime,
value Float32
)
engine = MergeTree()
PARTITION BY toYYYYMMDD(timecode_1)
ORDER BY (id, timecode_agg)
TTL timecode_1 + INTERVAL 30 minute GROUP BY id, timecode_agg SET value=argMax(value, timecode_1)
SETTINGS index_granularity = 8192, merge_with_ttl_timeout=1200;

1 ответов

10 просмотров
Александр-Зенков Автор вопроса

Коллеги, подскажите, пожалуйста, с чем может быть связана проблема? Иногда строки вообще не сворачиваются, есть периоды, где данные лежат с гранулярностью 1 минута, а до и после них свернуты до 30 минут. Подозреваю, что природа ошибки та же

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта