Система собирает много данных временных рядов, которые не выровнены:
Пример:
+----------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-----+
| Time | 12:00 | 12:01 | 12:02 | 12:03 | 12:04 | 12:05 | 12:06 | 12:07 | 12:08 | ... |
+----------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-----+
| Series 1 | 8 | | 2 | | 4 | | 8 | | 6 | |
| Series 2 | | 5 | | 4 | | 7 | | 2 | | |
| Series 3 | 5 | | | | 7 | | | | 2 | |
| ... | | | | | | | | | | |
+----------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-----+
и также может быть отложено или отправлено в пакетном режиме (т. Е. Время события может быть не равно времени приема, зависит от источника)
Исходные данные будут дискретизироваться с интервалом 1 минута и заполнять пропущенное значение путем линейной интерполяции с предыдущим значением. Затем выполните поэлементное преобразование следующим образом:
Серия 2 = Серия 2 + Серия 3
Серия 1 = Серия 1 * Серия 2
поэтому серия 1 зависит от себя и от серии 2. серия 2 зависит от себя и от серии 3.
Отношения преобразования между рядами могут образовывать направленный ациклический граф (DAG).
Отношение изменится во время выполнения, если пользователь запросит изменение.
В настоящее время все вычисления выполняются мгновенно с помощью Python Pandas, когда пользователь получает данные временного ряда. Но производительность ухудшается, когда объем данных увеличивается или пользователь выбирает широкий временной диапазон.
Есть ли способ / инструмент для достижения этой цели, такой как потоковая или пакетная обработка?