-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Real time timeseries? #44
Comments
I do see the library as serving both realtime and more bounded use cases. Originally the library was designed to do some simple stuff with a Kinesis stream, so it has its roots in doing simple stream processing, but from there grew more towards dealing with static blocks of time series and unifying timeseries and event handling across our stack. So yes, I see the real time aspects being developed further. We have some use cases coming up that might push this forward a little, but I'm interested in hearing what specific things you would like to do. What you are doing in that example with the In Pond, a For unordered
For sliding windows, there's #37 which I'd like to implement. The thought there was to actually accumulate a A couple of other problems for handling real world streaming data is also duplicate events, which you see sometimes coming out of distributed message queuing systems. This also presents a problem in Pond, as it is now, because essentially you'll end up with duplicate Anyway, those a few thoughts on where the library could go wrt real time data processing. Hope this helps. We're always interested in having other people contribute to this library, either by providing use cases, finding bugs (thanks for #45 !) or getting more deeply involved with PRs. |
Thanks for the detailed response! A bit more description about the use case: we have a stream of structured binary data (https://github.com/swift-nav/libsbp) coming from one or more serial device streams, and each device connected is a GPS receiver. The application consuming this data is on a host connected to the devices, so there aren't really complications from, say, network latency. One of these receivers is a reference receiver for calibration. Events of interest across all streams have a canonical GPS/UTC system timestamp.
{"epoch(gpst)": new Date("2016-06-05T00:00:00.000Z"),
"fix_mode": "integer_rtk",
"latency(sec)": 0.5,
"num_sats": 3,
"abs_error_2d": NaN,
"abs_error_3d": NaN,
"abs_error_v": NaN,
"rover_pos_x(m)":6378137,
"rover_pos_y(m)":0,
"rover_pos_z(m)":0,
"rover_pos_lat(deg)":0,
"rover_pos_lon(deg)":0,
"rover_pos_height(m)":0
} which all gets put into a single columnar
All together, an Other things:
Thanks for the feedback on PRs. I'll try to do submit them for bugs, if they come up. |
Hello! Thanks for all your work on this great project. Coming from Python, I've been looking for a columnar timeseries library in Javascript and was super-pleased to find your project. Do you any plans on adding a timeseries implementation specialized on real-time datastreams? I ask because some of the aspects of the realtime example seem like they could be abstracted out and made into an efficient, immutable
OnlineTimeSeries
extending the existing API. I'm imagining this would also include:TimeSeries
. I think the current constructor errors if the events have out-of-order timestamps? This is tangentially related to Chronological error in TimeSeries constructor #41. It would be nice to be able to relax assumptions aboutEvent
s timestamps for this use case.In my own project (alas, currently private) I originally implemented something based on
Pipeline
andUnboundedIn
(see below), but the implementation I ultimately used just creates a newTimeSeries
from an immutableCollection
update.The text was updated successfully, but these errors were encountered: