User defined scripts
Leverage pre-existing analytics scripts within a streaming context
Last updated
Leverage pre-existing analytics scripts within a streaming context
Last updated
The analytics processor feature set is extended to host external scripts within the Joule processing context. Enabling existing scripting assets to be leveraged within a streaming context.
Apply external analytical scripts within a real-time streaming context.
Currently only Javascript and Python scripts are supported
This guide explores different execution models for integrating scripts and functions within a stream processing environment.
We will discuss how to use pre-existing JavaScript or Python scripts, custom functions, and expressions to perform complex analytics and calculations on event data.
Script and expression Learn how to incorporate existing JavaScript files and use expressions that reference event attributes, ideal when you want to calculate new variables on-the-fly.
Script and function Understand how to define custom functions that process entire events, allowing for deeper calculations by accessing multiple event attributes.
Use this option when you have pre-existing scripts which you want to leverage within a stream processing context.
This example applies the bid
and ask
event attributes to the expression.
Note, the current implementation requires the script to be provided using the js
extension due to the way the expression is defined.
All other variables are provided as global within the execution context.
This option builds upon the previous example, but uses a method which is supplied with a StreamEvent
which can further call imported scripts.
All other variables are provided as global within the execution context.
The event is automatically passed as a method parameter per execution call.
This method uses the Javascript modules which are defined using the mjs
file extension.
The same attributes described in User defined analytics are applicable, see documentation.
Attribute | Description | Data Type |
---|---|---|
script
Path of the script to loaded within the Joule processing context
String
expression
Math expression without an assignment variable. Required if method has not been provided.
String
function
Function to execute within the provided script using a StreamEvent as a parameter
String