On Wednesday, November 23, 2016 at 9:05:38 AM UTC-8, [email protected] wrote:
> Kent,
> 
> 
> There are a few ways this can be done:
> 
> 
> 1. Use the snapshot feature to load/store your weights. The moving_avg 
> example here is a good place to start. There are a few gotchas with this 
> approach, changing your TICKscript will invalidate the snapshot and require 
> that you generate a new one. Snapshots cannot be externally defined or read. 
> They must be generated from within the UDF, which creates a bit of a chicken 
> and the egg problem.
> 
> 
> 2. Manage loading and storing weights within the UDF such that it is opaque 
> to Kapacitor. Basically like you suggest, either pass a file path as a 
> parameter to the UDF to load during the init phase or possibly an InfluxDB 
> measurement. Using a local file will be simplest approach to get you going 
> but requires that the weights file be deployed with the UDF binary :(
> 
> 
> In short we recognize that this is a generic need for UDFs and we want to 
> solve it within Kapacitor itself, and the snapshots feature was an initial 
> attempt at that. But its short comings cripple it enough that I would 
> recommend not trying to use it in its current state. We have already put 
> together an design doc for how we want this to work in the future, you can 
> find it here. 
> 
> 
> For now I recommend going with option 2. This way you have control over the 
> weights and using an InfluxDB measurement could work well for this case since 
> the weights are inherently a series. Or if you have some other distributed 
> storage available to you, you could leverage that to store and load the 
> weights, eliminating the need to deploy the weights along side the UDF binary.
> 
> 
> Let me know if I can clarify anything more.
> Nathaniel
> 
> On Wednesday, November 23, 2016 at 9:46:41 AM UTC-7, [email protected] wrote:I 
> would like to implement a UDF for Kapacitor providing a weighted moving 
> average, which means I need to be able to initialize the UDF with its array 
> of weights (not necessarily a small array). Other than initializing the 
> weights, the rest of the function is similar to the moving_avg example.
> At this point, my crucial bit of missing code is figuring out how best to 
> communicate to my UDF what its weights should be. I can imagine passing a 
> simple parameter pointing to a file, or a key to look up the data in a 
> measurement in influxdb, but I would like expert advice on the right way to 
> approach the problem.
> TIA
> Kent

Thanks Nathaniel. I had seen the snapshot capabilities, and assumed they were 
for restoring state on startup (which resolves a different problem). I will 
certainly move forward with an externally-managed file for now.

Thank you also for the pointer to the Blob Store proposal. Is there a defined 
process to use to provide input/feedback? There are some particular issues 
involved in supporting trained model data that I would like to contribute to.

-- 
Remember to include the version number!
--- 
You received this message because you are subscribed to the Google Groups 
"InfluxData" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/influxdb.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/influxdb/542f17bd-7168-4f22-850c-09101cd5c6c7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to