Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Backend Support

 

Code Block
languagejs
// Template Interface and GeneralPolicyTemplateDesc for API
interface GeneralPolicyTemplate {
	Class<?> getType(); // org.apache.eagle.policy.GeneralPolicyTemplateBuilder {GeneralPolicyTemplate
    PolicyDefinition build(GeneralPolicyConfigs);
}
 
// Metadata
GeneralPolicyTemplate {
    type: 	String getName(); // "SINGLE_SOURCE_THRESHOLD_ALERT"
	String    name: "Single Source Threshold Alert", 
    description: "getDescription(); // "An alert policy template consuming single stream source."
	String    view:getView(); // "/path/to/form",
    builder
	
    Class<GeneralPolicyConfig> getConfigType();
    PolicyDefinition render(GeneralPolicyConfig);
}
 
// Static Template Metadata}
GeneralPolicyEntity {
	config: GeneralPolicyTemplateConfig,
	template: "org.apache.eagle.policy.GeneralPolicyTemplateBuilder",
    configs: {
    GeneralPolicyTemplate"
}
 
// Case Example
SingleStreamThresholdPolicyTemplateConfig extend GeneralPolicyTemplateConfig {
    from: HDFS_AUDIT_SRC_STREAM,
        partition: {                    
            type: "GROUPBY",field: "USER"
        },
        window: {
            type: "SLIDING_WINDOW",
            configs: {
                length: "20 hour"
            }
        },
        aggregators: [
            {
                function: "SUM",
                field: "USER",
                alias: "USER_COUNT" 
            }
        ],
        filters: [
                {
                field: "USER_COUNT", 
                function: ">",
                value: 20 
            },                  
            {
                field: "USER", 
                function: "NOT IN",
                value: "HADOOP, HDFS, MAPRED"
            }
        ]
    }
}

Embedded Mode

Advanced Mode

...