http://git-wip-us.apache.org/repos/asf/metron/blob/ae1d3eb9/site/current-book/metron-stellar/stellar-common/index.html ---------------------------------------------------------------------- diff --git a/site/current-book/metron-stellar/stellar-common/index.html b/site/current-book/metron-stellar/stellar-common/index.html index 0465dbb..1160156 100644 --- a/site/current-book/metron-stellar/stellar-common/index.html +++ b/site/current-book/metron-stellar/stellar-common/index.html @@ -1,3357 +1,2392 @@ <!DOCTYPE html> <!-- - | Generated by Apache Maven Doxia at 2018-01-03 - | Rendered using Apache Maven Fluido Skin 1.3.0 + | Generated by Apache Maven Doxia Site Renderer 1.8 from src/site/markdown/metron-stellar/stellar-common/index.md at 2018-06-07 + | Rendered using Apache Maven Fluido Skin 1.7 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20180103" /> + <meta name="Date-Revision-yyyymmdd" content="20180607" /> <meta http-equiv="Content-Language" content="en" /> <title>Metron – Stellar Language</title> - <link rel="stylesheet" href="../../css/apache-maven-fluido-1.3.0.min.css" /> + <link rel="stylesheet" href="../../css/apache-maven-fluido-1.7.min.css" /> <link rel="stylesheet" href="../../css/site.css" /> <link rel="stylesheet" href="../../css/print.css" media="print" /> - - - <script type="text/javascript" src="../../js/apache-maven-fluido-1.3.0.min.js"></script> - - - -<script type="text/javascript">$( document ).ready( function() { $( '.carousel' ).carousel( { interval: 3500 } ) } );</script> - - </head> - <body class="topBarDisabled"> - - - - - <div class="container-fluid"> - <div id="banner"> - <div class="pull-left"> - <a href="http://metron.apache.org/" id="bannerLeft"> - <img src="../../images/metron-logo.png" alt="Apache Metron" width="148px" height="48px"/> - </a> - </div> - <div class="pull-right"> </div> + <script type="text/javascript" src="../../js/apache-maven-fluido-1.7.min.js"></script> +<script type="text/javascript"> + $( document ).ready( function() { $( '.carousel' ).carousel( { interval: 3500 } ) } ); + </script> + </head> + <body class="topBarDisabled"> + <div class="container-fluid"> + <div id="banner"> + <div class="pull-left"><a href="http://metron.apache.org/" id="bannerLeft"><img src="../../images/metron-logo.png" alt="Apache Metron" width="148px" height="48px"/></a></div> + <div class="pull-right"></div> <div class="clear"><hr/></div> </div> <div id="breadcrumbs"> <ul class="breadcrumb"> - - - <li class=""> - <a href="http://www.apache.org" class="externalLink" title="Apache"> - Apache</a> - </li> - <li class="divider ">/</li> - <li class=""> - <a href="http://metron.apache.org/" class="externalLink" title="Metron"> - Metron</a> - </li> - <li class="divider ">/</li> - <li class=""> - <a href="../../index.html" title="Documentation"> - Documentation</a> - </li> - <li class="divider ">/</li> - <li class="">Stellar Language</li> - - - - <li id="publishDate" class="pull-right">Last Published: 2018-01-03</li> <li class="divider pull-right">|</li> - <li id="projectVersion" class="pull-right">Version: 0.4.2</li> - - </ul> + <li class=""><a href="http://www.apache.org" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> + <li class=""><a href="http://metron.apache.org/" class="externalLink" title="Metron">Metron</a><span class="divider">/</span></li> + <li class=""><a href="../../index.html" title="Documentation">Documentation</a><span class="divider">/</span></li> + <li class="active ">Stellar Language</li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2018-06-07</li> + <li id="projectVersion" class="pull-right">Version: 0.5.0</li> + </ul> </div> - - <div class="row-fluid"> - <div id="leftColumn" class="span3"> + <div id="leftColumn" class="span2"> <div class="well sidebar-nav"> - - - <ul class="nav nav-list"> - <li class="nav-header">User Documentation</li> - - <li> - - <a href="../../index.html" title="Metron"> - <i class="icon-chevron-down"></i> - Metron</a> - <ul class="nav nav-list"> - - <li> - - <a href="../../Upgrading.html" title="Upgrading"> - <i class="none"></i> - Upgrading</a> - </li> - - <li> - - <a href="../../metron-analytics/index.html" title="Analytics"> - <i class="icon-chevron-right"></i> - Analytics</a> - </li> - - <li> - - <a href="../../metron-contrib/metron-docker/index.html" title="Docker"> - <i class="none"></i> - Docker</a> - </li> - - <li> - - <a href="../../metron-deployment/index.html" title="Deployment"> - <i class="icon-chevron-right"></i> - Deployment</a> - </li> - - <li> - - <a href="../../metron-interface/metron-alerts/index.html" title="Alerts"> - <i class="none"></i> - Alerts</a> - </li> - - <li> - - <a href="../../metron-interface/metron-config/index.html" title="Config"> - <i class="none"></i> - Config</a> - </li> - - <li> - - <a href="../../metron-interface/metron-rest/index.html" title="Rest"> - <i class="none"></i> - Rest</a> - </li> - - <li> - - <a href="../../metron-platform/index.html" title="Platform"> - <i class="icon-chevron-right"></i> - Platform</a> - </li> - - <li> - - <a href="../../metron-sensors/index.html" title="Sensors"> - <i class="icon-chevron-right"></i> - Sensors</a> - </li> - - <li> - - <a href="../../metron-stellar/stellar-3rd-party-example/index.html" title="Stellar-3rd-party-example"> - <i class="none"></i> - Stellar-3rd-party-example</a> - </li> - - <li class="active"> - - <a href="#"><i class="icon-chevron-down"></i>Stellar-common</a> - <ul class="nav nav-list"> - - <li> - - <a href="../../metron-stellar/stellar-common/3rdPartyStellar.html" title="3rdPartyStellar"> - <i class="none"></i> - 3rdPartyStellar</a> - </li> - </ul> - </li> - - <li> - - <a href="../../use-cases/index.html" title="Use-cases"> - <i class="icon-chevron-right"></i> - Use-cases</a> - </li> - </ul> - </li> - </ul> - - - - <hr class="divider" /> - - <div id="poweredBy"> - <div class="clear"></div> - <div class="clear"></div> - <div class="clear"></div> - <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> - <img class="builtBy" alt="Built by Maven" src="../../images/logos/maven-feather.png" /> - </a> - </div> + <ul class="nav nav-list"> + <li class="nav-header">User Documentation</li> + <li><a href="../../index.html" title="Metron"><span class="icon-chevron-down"></span>Metron</a> + <ul class="nav nav-list"> + <li><a href="../../CONTRIBUTING.html" title="CONTRIBUTING"><span class="none"></span>CONTRIBUTING</a></li> + <li><a href="../../Upgrading.html" title="Upgrading"><span class="none"></span>Upgrading</a></li> + <li><a href="../../metron-analytics/index.html" title="Analytics"><span class="icon-chevron-right"></span>Analytics</a></li> + <li><a href="../../metron-contrib/metron-docker/index.html" title="Docker"><span class="none"></span>Docker</a></li> + <li><a href="../../metron-contrib/metron-performance/index.html" title="Performance"><span class="none"></span>Performance</a></li> + <li><a href="../../metron-deployment/index.html" title="Deployment"><span class="icon-chevron-right"></span>Deployment</a></li> + <li><a href="../../metron-interface/metron-alerts/index.html" title="Alerts"><span class="none"></span>Alerts</a></li> + <li><a href="../../metron-interface/metron-config/index.html" title="Config"><span class="none"></span>Config</a></li> + <li><a href="../../metron-interface/metron-rest/index.html" title="Rest"><span class="none"></span>Rest</a></li> + <li><a href="../../metron-platform/index.html" title="Platform"><span class="icon-chevron-right"></span>Platform</a></li> + <li><a href="../../metron-sensors/index.html" title="Sensors"><span class="icon-chevron-right"></span>Sensors</a></li> + <li><a href="../../metron-stellar/stellar-3rd-party-example/index.html" title="Stellar-3rd-party-example"><span class="none"></span>Stellar-3rd-party-example</a></li> + <li class="active"><a href="#"><span class="icon-chevron-down"></span>Stellar-common</a> + <ul class="nav nav-list"> + <li><a href="../../metron-stellar/stellar-common/3rdPartyStellar.html" title="3rdPartyStellar"><span class="none"></span>3rdPartyStellar</a></li> + </ul> +</li> + <li><a href="../../metron-stellar/stellar-zeppelin/index.html" title="Stellar-zeppelin"><span class="none"></span>Stellar-zeppelin</a></li> + <li><a href="../../use-cases/index.html" title="Use-cases"><span class="icon-chevron-right"></span>Use-cases</a></li> + </ul> +</li> +</ul> + <hr /> + <div id="poweredBy"> + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> +<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="../../images/logos/maven-feather.png" /></a> + </div> </div> </div> - - - <div id="bodyColumn" class="span9" > - - <h1>Stellar Language</h1> + <div id="bodyColumn" class="span10" > +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +--> +<h1>Stellar Language</h1> <p><a name="Stellar_Language"></a></p> -<p>For a variety of components (threat intelligence triage and field transformations) we have the need to do simple computation and transformation using the data from messages as variables. For those purposes, there exists a simple, scaled down DSL created to do simple computation and transformation.</p> - +<p>For a variety of components (threat intelligence triage and field transformations) we have the need to do simple computation and transformation using the data from messages as variables. For those purposes, there exists a simple, scaled down DSL created to do simple computation and transformation.</p> <ul> - + <li><a href="#Introduction">Introduction</a></li> - <li><a href="#Stellar_Core_Functions">Stellar Core Functions</a></li> - <li><a href="#Stellar_Benchmarks">Stellar Benchmarks</a></li> - <li><a href="#Stellar_Shell">Stellar Shell</a> - <ul> - + <li><a href="#Getting_Started">Getting Started</a></li> - <li><a href="#Command_Line_Options">Command Line Options</a></li> - <li><a href="#Variable_Assignment">Variable Assignment</a></li> - <li><a href="#Magic_Commands">Magic Commands</a></li> - <li><a href="#Advanced_Usage">Advanced Usage</a></li> - </ul></li> - +<li><a href="#Implementation">Implementation</a></li> +</ul> +</li> <li><a href="#Stellar_Configuration">Stellar Configuration</a></li> </ul> <div class="section"> <h2><a name="Introduction"></a>Introduction</h2> <p>The Stellar language supports the following:</p> - <ul> - + <li>Referencing fields in the enriched JSON</li> - <li>String literals are quoted with either <tt>'</tt> or <tt>"</tt></li> - <li>String literals support escaping for <tt>'</tt>, <tt>"</tt>, <tt>\t</tt>, <tt>\r</tt>, <tt>\n</tt>, and backslash - <ul> - + <li>The literal <tt>'\'foo\''</tt> would represent <tt>'foo'</tt></li> - <li>The literal <tt>"\"foo\""</tt> would represent <tt>"foo"</tt></li> - <li>The literal <tt>'foo \\ bar'</tt> would represent <tt>foo \ bar</tt></li> - </ul></li> - +</ul> +</li> <li>Simple boolean operations: <tt>and</tt>, <tt>not</tt>, <tt>or</tt></li> - <li>Simple arithmetic operations: <tt>*</tt>, <tt>/</tt>, <tt>+</tt>, <tt>-</tt> on real numbers or integers</li> - <li>Simple comparison operations <tt><</tt>, <tt>></tt>, <tt><=</tt>, <tt>>=</tt></li> - <li>Simple equality comparison operations <tt>==</tt>, <tt>!=</tt></li> - <li>if/then/else comparisons (i.e. <tt>if var1 < 10 then 'less than 10' else '10 or more'</tt>)</li> - <li>Simple match evaluations (i.e. <tt>match{ var1 < 10 => 'warn', var1 >= 10 => 'critical', default => 'info'}</tt></li> - <li>Determining whether a field exists (via <tt>exists</tt>)</li> - <li>An <tt>in</tt> operator that works like the <tt>in</tt> in Python</li> - <li>The ability to have parenthesis to make order of operations explicit</li> - <li>User defined functions, including Lambda expressions</li> </ul> <div class="section"> <h3><a name="Stellar_Language_Keywords"></a>Stellar Language Keywords</h3> <p>The following keywords need to be single quote escaped in order to be used in Stellar expressions:</p> - <table border="0" class="table table-striped"> - <thead> - -<tr class="a"> - -<th align="center"> </th> - -<th align="center"> </th> - -<th align="center"> </th> - -<th align="center"> </th> - -<th align="center"> </th> - </tr> - </thead> - <tbody> - -<tr class="b"> - -<td align="center">not </td> - -<td align="center">else </td> - -<td align="center">exists </td> - -<td align="center">if </td> - -<td align="center">then </td> - </tr> - -<tr class="a"> - -<td align="center">and </td> - -<td align="center">or </td> - -<td align="center">in </td> - -<td align="center">NaN </td> - -<td align="center">match </td> - </tr> - -<tr class="b"> - -<td align="center">default </td> - -<td align="center">== </td> - -<td align="center">!= </td> - -<td align="center"><= </td> - -<td align="center">> </td> - </tr> - -<tr class="a"> - -<td align="center">>= </td> - -<td align="center">+ </td> - -<td align="center">- </td> - -<td align="center">< </td> - -<td align="center">? </td> - </tr> - -<tr class="b"> - -<td align="center">* </td> - -<td align="center">/ </td> - -<td align="center">, </td> - -<td align="center">{ </td> - -<td align="center">} </td> - </tr> - -<tr class="a"> - -<td align="center">\=> </td> - -<td align="center"> </td> - -<td align="center"> </td> - -<td align="center"> </td> - -<td align="center"> </td> - </tr> - </tbody> +<thead> + +<tr class="a"> +<th align="center"> </th> +<th align="center"> </th> +<th align="center"> </th> +<th align="center"> </th> +<th align="center"> </th></tr> +</thead><tbody> + +<tr class="b"> +<td align="center"> not </td> +<td align="center"> else </td> +<td align="center"> exists </td> +<td align="center"> if </td> +<td align="center"> then </td></tr> +<tr class="a"> +<td align="center"> and </td> +<td align="center"> or </td> +<td align="center"> in </td> +<td align="center"> NaN </td> +<td align="center"> match </td></tr> +<tr class="b"> +<td align="center"> default </td> +<td align="center"> == </td> +<td align="center"> != </td> +<td align="center"> <= </td> +<td align="center"> > </td></tr> +<tr class="a"> +<td align="center"> >= </td> +<td align="center"> + </td> +<td align="center"> - </td> +<td align="center"> < </td> +<td align="center"> ? </td></tr> +<tr class="b"> +<td align="center"> * </td> +<td align="center"> / </td> +<td align="center"> , </td> +<td align="center"> { </td> +<td align="center"> } </td></tr> +<tr class="a"> +<td align="center"> => </td> +<td align="center"> </td> +<td align="center"> </td> +<td align="center"> </td> +<td align="center"> </td></tr> +</tbody> </table> <p>Using parens such as: “foo” : “<ok>” requires escaping; “foo”: “'<ok>'”</p></div> <div class="section"> -<h3><a name="Stellar_Language_Inclusion_Checks_in_and_not_in"></a>Stellar Language Inclusion Checks (<tt>in</tt> and <tt>not in</tt>)</h3> - +<h3><a name="Stellar_Language_Inclusion_Checks_.28in_and_not_in.29"></a>Stellar Language Inclusion Checks (<tt>in</tt> and <tt>not in</tt>)</h3> <ol style="list-style-type: decimal"> - + <li><tt>in</tt> supports string contains. e.g. <tt>'foo' in 'foobar' == true</tt></li> - <li><tt>in</tt> supports collection contains. e.g. <tt>'foo' in [ 'foo', 'bar' ] == true</tt></li> - <li><tt>in</tt> supports map key contains. e.g. <tt>'foo' in { 'foo' : 5} == true</tt></li> - <li><tt>not in</tt> is the negation of the in expression. e.g. <tt>'grok' not in 'foobar' == true</tt></li> </ol></div> <div class="section"> -<h3><a name="Stellar_Language_Comparisons____"></a>Stellar Language Comparisons (<tt><</tt>, <tt><=</tt>, <tt>></tt>, <tt>>=</tt>)</h3> - +<h3><a name="Stellar_Language_Comparisons_.28.3C.2C_.3C.3D.2C_.3E.2C_.3E.3D.29"></a>Stellar Language Comparisons (<tt><</tt>, <tt><=</tt>, <tt>></tt>, <tt>>=</tt>)</h3> <ol style="list-style-type: decimal"> - + <li>If either side of the comparison is null then return false.</li> - <li>If both values being compared implement number then the following: - <ul> - + <li>If either side is a double then get double value from both sides and compare using given operator.</li> - <li>Else if either side is a float then get float value from both sides and compare using given operator.</li> - <li>Else if either side is a long then get long value from both sides and compare using given operator.</li> - <li>Otherwise get the int value from both sides and compare using given operator.</li> - </ul></li> - +</ul> +</li> <li>If both sides are of the same type and are comparable then use the compareTo method to compare values.</li> - <li>If none of the above are met then an exception is thrown.</li> </ol></div> <div class="section"> -<h3><a name="Stellar_Language_Equality_Check__"></a>Stellar Language Equality Check (<tt>==</tt>, <tt>!=</tt>)</h3> +<h3><a name="Stellar_Language_Equality_Check_.28.3D.3D.2C_.21.3D.29"></a>Stellar Language Equality Check (<tt>==</tt>, <tt>!=</tt>)</h3> <p>Below is how the <tt>==</tt> operator is expected to work:</p> - <ol style="list-style-type: decimal"> - + <li>If either side of the expression is null then check equality using Java’s <tt>==</tt> expression.</li> - <li>Else if both sides of the expression are of Java’s type Number then: - <ul> - + <li>If either side of the expression is a double then use the double value of both sides to test equality.</li> - <li>Else if either side of the expression is a float then use the float value of both sides to test equality.</li> - <li>Else if either side of the expression is a long then use long value of both sides to test equality.</li> - <li>Otherwise use int value of both sides to test equality</li> - </ul></li> - +</ul> +</li> <li>Otherwise use equals method compare the left side with the right side.</li> </ol> <p>The <tt>!=</tt> operator is the negation of the above.</p></div> <div class="section"> <h3><a name="Stellar_Language_Lambda_Expressions"></a>Stellar Language Lambda Expressions</h3> -<p>Stellar provides the capability to pass lambda expressions to functions which wish to support that layer of indirection. The syntax is:</p> - +<p>Stellar provides the capability to pass lambda expressions to functions which wish to support that layer of indirection. The syntax is:</p> <ul> - + <li><tt>(named_variables) -> stellar_expression</tt> : Lambda expression with named variables - <ul> - + <li>For instance, the lambda expression which calls <tt>TO_UPPER</tt> on a named argument <tt>x</tt> could be be expressed as <tt>(x) -> TO_UPPER(x)</tt>.</li> - </ul></li> - +</ul> +</li> <li><tt>var -> stellar_expression</tt> : Lambda expression with a single named variable, <tt>var</tt> - <ul> - -<li>For instance, the lambda expression which calls <tt>TO_UPPER</tt> on a named argument <tt>x</tt> could be expressed as <tt>x -> TO_UPPER(x)</tt>. Note, this is more succinct but equivalent to the example directly above.</li> - </ul></li> - + +<li>For instance, the lambda expression which calls <tt>TO_UPPER</tt> on a named argument <tt>x</tt> could be expressed as <tt>x -> TO_UPPER(x)</tt>. Note, this is more succinct but equivalent to the example directly above.</li> +</ul> +</li> <li><tt>() -> stellar_expression</tt> : Lambda expression with no named variables. - <ul> - -<li>If no named variables are needed, you may omit the named variable section. For instance, the lambda expression which returns a constant <tt>false</tt> would be <tt>() -> false</tt></li> - </ul></li> -</ul> -<p>where </p> +<li>If no named variables are needed, you may omit the named variable section. For instance, the lambda expression which returns a constant <tt>false</tt> would be <tt>() -> false</tt></li> +</ul> +</li> +</ul> +<p>where</p> <ul> - + <li><tt>named_variables</tt> is a comma separated list of variables to use in the Stellar expression</li> - <li><tt>stellar_expression</tt> is an arbitrary stellar expression</li> </ul> <p>In the core language functions, we support basic functional programming primitives such as</p> - <ul> - -<li><tt>MAP</tt> - Applies a lambda expression over a list of input. For instance <tt>MAP([ 'foo', 'bar'], (x) -> TO_UPPER(x) )</tt> returns <tt>[ 'FOO', 'BAR' ]</tt></li> - -<li><tt>FILTER</tt> - Filters a list by a predicate in the form of a lambda expression. For instance <tt>FILTER([ 'foo', 'bar'], (x ) -> x == 'foo' )</tt> returns <tt>[ 'foo' ]</tt></li> - -<li><tt>REDUCE</tt> - Applies a function over a list of input. For instance <tt>REDUCE([ 1, 2, 3], (sum, x) -> sum + x, 0 )</tt> returns <tt>6</tt></li> + +<li><tt>MAP</tt> - Applies a lambda expression over a list of input. For instance <tt>MAP([ 'foo', 'bar'], (x) -> TO_UPPER(x) )</tt> returns <tt>[ 'FOO', 'BAR' ]</tt></li> +<li><tt>FILTER</tt> - Filters a list by a predicate in the form of a lambda expression. For instance <tt>FILTER([ 'foo', 'bar'], (x ) -> x == 'foo' )</tt> returns <tt>[ 'foo' ]</tt></li> +<li><tt>REDUCE</tt> - Applies a function over a list of input. For instance <tt>REDUCE([ 1, 2, 3], (sum, x) -> sum + x, 0 )</tt> returns <tt>6</tt></li> </ul></div> <div class="section"> <h3><a name="Stellar_Language_Match_Expression"></a>Stellar Language Match Expression</h3> <p>Stellar provides the capability to write match expressions, which are similar to switch statements commonly found in c like languages.</p> <p>The syntax is:</p> - <ul> - + <li><tt>match{ logical_expression1 => evaluation expression1, logical_expression2 => evaluation_expression2, default => default_expression}</tt></li> </ul> <p>Where:</p> - <ul> - -<li><tt>logical_expression</tt> is a Stellar expression that evaluates to true or false. For instance <tt>var > 0</tt> or <tt>var > 0 AND var2 == 'foo'</tt> or <tt>IF ... THEN ... ELSE</tt></li> - + +<li><tt>logical_expression</tt> is a Stellar expression that evaluates to true or false. For instance <tt>var > 0</tt> or <tt>var > 0 AND var2 == 'foo'</tt> or <tt>IF ... THEN ... ELSE</tt></li> <li><tt>evaluation_expression</tt> is a Stellar Expression</li> - <li><tt>default</tt> is a required default return value, should no logical expression match</li> </ul> - <blockquote> -<p>default is required </p> + +<p>default is required</p> <p>Lambda expressions are supported, but they must be no argument lambdas such as <tt>() -> STATEMENT</tt></p> </blockquote> - <ul> - + <li>Only the first clause that evaluates to true will be executed.</li> </ul></div></div> <div class="section"> <h2><a name="Stellar_Core_Functions"></a>Stellar Core Functions</h2> - <table border="0" class="table table-striped"> - <thead> - -<tr class="a"> - -<th> </th> - </tr> - </thead> - <tbody> - -<tr class="b"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#ABS"> <tt>ABS</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#APPEND_IF_MISSING"> <tt>APPEND_IF_MISSING</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#BIN"> <tt>BIN</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#BLOOM_ADD"> <tt>BLOOM_ADD</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#BLOOM_EXISTS"> <tt>BLOOM_EXISTS</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#BLOOM_INIT"> <tt>BLOOM_INIT</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#BLOOM_MERGE"> <tt>BLOOM_MERGE</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#CEILING"> <tt>CEILING</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#COS"> <tt>COS</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#CHOP"> <tt>CHOP</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#CHOMP"> <tt>CHOMP</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#COUNT_MATCHES"> <tt>COUNT_MATCHES</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#DAY_OF_MONTH"> <tt>DAY_OF_MONTH</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#DAY_OF_WEEK"> <tt>DAY_OF_WEEK</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#DAY_OF_YEAR"> <tt>DAY_OF_YEAR</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#DECODE"> <tt>DECODE</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#DOMAIN_REMOVE_SUBDOMAINS"> <tt>DOMAIN_REMOVE_SUBDOMAINS</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#DOMAIN_REMOVE_TLD"> <tt>DOMAIN_REMOVE_TLD</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#DOMAIN_TO_TLD"> <tt>DOMAIN_TO_TLD</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#ENCODE"> <tt>ENCODE</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#ENDS_WITH"> <tt>ENDS_WITH</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#ENRICHMENT_EXISTS"> <tt>ENRICHMENT_EXISTS</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#ENRICHMENT_GET"> <tt>ENRICHMENT_GET</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#EXP"> <tt>EXP</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#FILL_LEFT"> <tt>FILL_LEFT</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#FILL_RIGHT"> <tt>FILL_RIGHT</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#FILTER"> <tt>FILTER</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#FLOOR"> <tt>FLOOR</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#FORMAT"> <tt>FORMAT</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#FUZZY_LANGS"> <tt>FUZZY_LANGS</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#FUZZY_SCORE"> <tt>FUZZY_SCORE</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#GEO_GET"> <tt>GEO_GET</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#GEOHASH_CENTROID"> <tt>GEOHASH_CENTROID</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#GEOHASH_DIST"> <tt>GEOHASH_DIST</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#GEOHASH_FROM_LATLONG"> <tt>GEOHASH_FROM_LATLONG</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#GEOHASH_FROM_LOC"> <tt>GEOHASH_FROM_LOC</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#GEOHASH_MAX_DIST"> <tt>GEOHASH_MAX_DIST</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#GEOHASH_TO_LATLONG"> <tt>GEOHASH_TO_LATLONG</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#GET"> <tt>GET</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#GET_FIRST"> <tt>GET_FIRST</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#GET_LAST"> <tt>GET_LAST</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#GET_SUPPORTED_ENCODINGS"> <tt>GET_SUPPORTED_ENCODINGS</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#HASH"> <tt>HASH</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#HLLP_ADD"> <tt>HLLP_ADD</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#HLLP_CARDINALITY"> <tt>HLLP_CARDINALITY</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#HLLP_INIT"> <tt>HLLP_INIT</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#HLLP_MERGE"> <tt>HLLP_MERGE</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#IN_SUBNET"> <tt>IN_SUBNET</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#IS_DATE"> <tt>IS_DATE</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#IS_ENCODING"> <tt>IS_ENCODING</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#IS_DOMAIN"> <tt>IS_DOMAIN</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#IS_EMAIL"> <tt>IS_EMAIL</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#IS_EMPTY"> <tt>IS_EMPTY</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#IS_INTEGER"> <tt>IS_INTEGER</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#IS_IP"> <tt>IS_IP</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#IS_NAN"> <tt>IS_NAN</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#IS_URL"> <tt>IS_URL</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#JOIN"> <tt>JOIN</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#KAFKA_GET"> <tt>KAFKA_GET</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#KAFKA_PROPS"> <tt>KAFKA_PROPS</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#KAFKA_PUT"> <tt>KAFKA_PUT</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#KAFKA_TAIL"> <tt>KAFKA_TAIL</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#LENGTH"> <tt>LENGTH</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#LIST_ADD"> <tt>LIST_ADD</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#LOG2"> <tt>LOG2</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#LOG10"> <tt>LOG10</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#LN"> <tt>LN</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#MAAS_GET_ENDPOINT"> <tt>MAAS_GET_ENDPOINT</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#MAAS_MODEL_APPLY"> <tt>MAAS_MODEL_APPLY</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#MAP"> <tt>MAP</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#MAP_EXISTS"> <tt>MAP_EXISTS</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#MAP_GET"> <tt>MAP_GET</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#MAX"> <tt>MAX</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#MIN"> <tt>MIN</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#MONTH"> <tt>MONTH</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#MULTISET_ADD"> <tt>MULTISET_ADD</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#MULTISET_INIT"> <tt>MULTISET_INIT</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#MULTISET_MERGE"> <tt>MULTISET_MERGE</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#MULTISET_REMOVE"> <tt>MULTISET_REMOVE</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#MULTISET_TO_SET"> <tt>MULTISET_TO_SET</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#PREPEND_IF_MISSING"> <tt>PREPEND_IF_MISSING</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#PROFILE_GET"> <tt>PROFILE_GET</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#PROFILE_FIXED"> <tt>PROFILE_FIXED</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#PROFILE_WINDOW"> <tt>PROFILE_WINDOW</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#PROTOCOL_TO_NAME"> <tt>PROTOCOL_TO_NAME</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#REDUCE"> <tt>REDUCE</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#REGEXP_MATCH"> <tt>REGEXP_MATCH</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#REGEXP_GROUP_VAL"> <tt>REGEXP_GROUP_VAL</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#ROUND"> <tt>ROUND</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#SET_ADD"> <tt>SET_ADD</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#SET_INIT"> <tt>SET_INIT</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#SET_MERGE"> <tt>SET_MERGE</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#SET_REMOVE"> <tt>SET_REMOVE</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#SIN"> <tt>SIN</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#SPLIT"> <tt>SPLIT</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#SQRT"> <tt>SQRT</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#STARTS_WITH"> <tt>STARTS_WITH</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_ADD"> <tt>STATS_ADD</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_BIN"> <tt>STATS_BIN</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_COUNT"> <tt>STATS_COUNT</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_GEOMETRIC_MEAN"> <tt>STATS_GEOMETRIC_MEAN</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_INIT"> <tt>STATS_INIT</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_KURTOSIS"> <tt>STATS_KURTOSIS</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_MAX"> <tt>STATS_MAX</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_MEAN"> <tt>STATS_MEAN</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_MERGE"> <tt>STATS_MERGE</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_MIN"> <tt>STATS_MIN</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_PERCENTILE"> <tt>STATS_PERCENTILE</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_POPULATION_VARIANCE"> <tt>STATS_POPULATION_VARIANCE</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_QUADRATIC_MEAN"> <tt>STATS_QUADRATIC_MEAN</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_SD"> <tt>STATS_SD</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_SKEWNESS"> <tt>STATS_SKEWNESS</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_SUM"> <tt>STATS_SUM</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_SUM_LOGS"> <tt>STATS_SUM_LOGS</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_SUM_SQUARES"> <tt>STATS_SUM_SQUARES</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="../../metron-analytics/metron-statistics/index.html#STATS_VARIANCE"> <tt>STATS_VARIANCE</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#STRING_ENTROPY"> <tt>STRING_ENTROPY</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#SUBSTRING"> <tt>SUBSTRING</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#SYSTEM_ENV_GET"> <tt>SYSTEM_ENV_GET</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#SYSTEM_PROPERTY_GET"> <tt>SYSTEM_PROPERTY_GET</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#TAN"> <tt>TAN</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#TLSH_DIST"> <tt>TLSH_DIST</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#TO_DOUBLE"> <tt>TO_DOUBLE</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#TO_EPOCH_TIMESTAMP"> <tt>TO_EPOCH_TIMESTAMP</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#TO_FLOAT"> <tt>TO_FLOAT</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#TO_INTEGER"> <tt>TO_INTEGER</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#TO_JSON_LIST"> <tt>TO_JSON_LIST</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#TO_JSON_MAP"> <tt>TO_JSON_MAP</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#TO_JSON_OBJECT"> <tt>TO_JSON_OBJECT</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#TO_LONG"> <tt>TO_LONG</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#TO_LOWER"> <tt>TO_LOWER</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#TO_STRING"> <tt>TO_STRING</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#TO_UPPER"> <tt>TO_UPPER</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#TRIM"> <tt>TRIM</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#URL_TO_HOST"> <tt>URL_TO_HOST</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#URL_TO_PATH"> <tt>URL_TO_PATH</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#URL_TO_PORT"> <tt>URL_TO_PORT</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#URL_TO_PROTOCOL"> <tt>URL_TO_PROTOCOL</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#WEEK_OF_MONTH"> <tt>WEEK_OF_MONTH</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#WEEK_OF_YEAR"> <tt>WEEK_OF_YEAR</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#YEAR"> <tt>YEAR</tt></a> </td> - </tr> - -<tr class="a"> - -<td><a href="#ZIP"> <tt>ZIP</tt></a> </td> - </tr> - -<tr class="b"> - -<td><a href="#ZIP_LONGEST"> <tt>ZIP_LONGEST</tt></a> </td> - </tr> - </tbody> +<thead> + +<tr class="a"> +<th> </th></tr> +</thead><tbody> + +<tr class="b"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#ABS"> <tt>ABS</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#APPEND_IF_MISSING"> <tt>APPEND_IF_MISSING</tt></a> </td></tr> +<tr class="b"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#BIN"> <tt>BIN</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#BLOOM_ADD"> <tt>BLOOM_ADD</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#BLOOM_EXISTS"> <tt>BLOOM_EXISTS</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#BLOOM_INIT"> <tt>BLOOM_INIT</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#BLOOM_MERGE"> <tt>BLOOM_MERGE</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#CEILING"> <tt>CEILING</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#COS"> <tt>COS</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#CHOP"> <tt>CHOP</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#CHOMP"> <tt>CHOMP</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#COUNT_MATCHES"> <tt>COUNT_MATCHES</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#DAY_OF_MONTH"> <tt>DAY_OF_MONTH</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#DAY_OF_WEEK"> <tt>DAY_OF_WEEK</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#DAY_OF_YEAR"> <tt>DAY_OF_YEAR</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#DECODE"> <tt>DECODE</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#DOMAIN_REMOVE_SUBDOMAINS"> <tt>DOMAIN_REMOVE_SUBDOMAINS</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#DOMAIN_REMOVE_TLD"> <tt>DOMAIN_REMOVE_TLD</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#DOMAIN_TO_TLD"> <tt>DOMAIN_TO_TLD</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#ENCODE"> <tt>ENCODE</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#ENDS_WITH"> <tt>ENDS_WITH</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#ENRICHMENT_EXISTS"> <tt>ENRICHMENT_EXISTS</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#ENRICHMENT_GET"> <tt>ENRICHMENT_GET</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#EXP"> <tt>EXP</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#FILL_LEFT"> <tt>FILL_LEFT</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#FILL_RIGHT"> <tt>FILL_RIGHT</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#FILTER"> <tt>FILTER</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#FLOOR"> <tt>FLOOR</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#FORMAT"> <tt>FORMAT</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#FUZZY_LANGS"> <tt>FUZZY_LANGS</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#FUZZY_SCORE"> <tt>FUZZY_SCORE</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#GEO_GET"> <tt>GEO_GET</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#GEOHASH_CENTROID"> <tt>GEOHASH_CENTROID</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#GEOHASH_DIST"> <tt>GEOHASH_DIST</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#GEOHASH_FROM_LATLONG"> <tt>GEOHASH_FROM_LATLONG</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#GEOHASH_FROM_LOC"> <tt>GEOHASH_FROM_LOC</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#GEOHASH_MAX_DIST"> <tt>GEOHASH_MAX_DIST</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#GEOHASH_TO_LATLONG"> <tt>GEOHASH_TO_LATLONG</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#GET"> <tt>GET</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#GET_FIRST"> <tt>GET_FIRST</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#GET_LAST"> <tt>GET_LAST</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#GET_SUPPORTED_ENCODINGS"> <tt>GET_SUPPORTED_ENCODINGS</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#HASH"> <tt>HASH</tt></a> </td></tr> +<tr class="a"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#HLLP_ADD"> <tt>HLLP_ADD</tt></a> </td></tr> +<tr class="b"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#HLLP_CARDINALITY"> <tt>HLLP_CARDINALITY</tt></a> </td></tr> +<tr class="a"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#HLLP_INIT"> <tt>HLLP_INIT</tt></a> </td></tr> +<tr class="b"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#HLLP_MERGE"> <tt>HLLP_MERGE</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#IN_SUBNET"> <tt>IN_SUBNET</tt></a> </td></tr> +<tr class="b"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#IT_ENTROPY"> <tt>IT_ENTROPY</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#IS_DATE"> <tt>IS_DATE</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#IS_ENCODING"> <tt>IS_ENCODING</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#IS_DOMAIN"> <tt>IS_DOMAIN</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#IS_EMAIL"> <tt>IS_EMAIL</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#IS_EMPTY"> <tt>IS_EMPTY</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#IS_INTEGER"> <tt>IS_INTEGER</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#IS_IP"> <tt>IS_IP</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#IS_NAN"> <tt>IS_NAN</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#IS_URL"> <tt>IS_URL</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#JOIN"> <tt>JOIN</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#KAFKA_GET"> <tt>KAFKA_GET</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#KAFKA_PROPS"> <tt>KAFKA_PROPS</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#KAFKA_PUT"> <tt>KAFKA_PUT</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#KAFKA_TAIL"> <tt>KAFKA_TAIL</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#LENGTH"> <tt>LENGTH</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#LIST_ADD"> <tt>LIST_ADD</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#LOG2"> <tt>LOG2</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#LOG10"> <tt>LOG10</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#LN"> <tt>LN</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#MAAS_GET_ENDPOINT"> <tt>MAAS_GET_ENDPOINT</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#MAAS_MODEL_APPLY"> <tt>MAAS_MODEL_APPLY</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#MAP"> <tt>MAP</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#MAP_EXISTS"> <tt>MAP_EXISTS</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#MAP_GET"> <tt>MAP_GET</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#MAX"> <tt>MAX</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#MIN"> <tt>MIN</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#MONTH"> <tt>MONTH</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#MULTISET_ADD"> <tt>MULTISET_ADD</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#MULTISET_INIT"> <tt>MULTISET_INIT</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#MULTISET_MERGE"> <tt>MULTISET_MERGE</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#MULTISET_REMOVE"> <tt>MULTISET_REMOVE</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#MULTISET_TO_SET"> <tt>MULTISET_TO_SET</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#OBJECT_GET"> <tt>OBJECT_GET</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#PREPEND_IF_MISSING"> <tt>PREPEND_IF_MISSING</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#PROFILE_GET"> <tt>PROFILE_GET</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#PROFILE_FIXED"> <tt>PROFILE_FIXED</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#PROFILE_WINDOW"> <tt>PROFILE_WINDOW</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#PROTOCOL_TO_NAME"> <tt>PROTOCOL_TO_NAME</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#REDUCE"> <tt>REDUCE</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#REGEXP_MATCH"> <tt>REGEXP_MATCH</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#REGEXP_GROUP_VAL"> <tt>REGEXP_GROUP_VAL</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#REGEXP_REPLACE"> <tt>REGEXP_REPLACE</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#ROUND"> <tt>ROUND</tt></a> </td></tr> +<tr class="b"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#SAMPLE_ADD"> <tt>SAMPLE_ADD</tt></a> </td></tr> +<tr class="a"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#SAMPLE_GET"> <tt>SAMPLE_GET</tt></a> </td></tr> +<tr class="b"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#SAMPLE_INIT"> <tt>SAMPLE_INIT</tt></a> </td></tr> +<tr class="a"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#SAMPLE_MERGE"> <tt>SAMPLE_MERGE</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#SET_ADD"> <tt>SET_ADD</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#SET_INIT"> <tt>SET_INIT</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#SET_MERGE"> <tt>SET_MERGE</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#SET_REMOVE"> <tt>SET_REMOVE</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#SIN"> <tt>SIN</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#SHELL_EDIT"> <tt>SHELL_EDIT</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#SHELL_GET_EXPRESSION"> <tt>SHELL_GET_EXPRESSION</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#SHELL_LIST_VARS"> <tt>SHELL_LIST_VARS</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#SHELL_MAP2TABLE"> <tt>SHELL_MAP2TABLE</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#SHELL_VARS2MAP"> <tt>SHELL_VARS2MAP</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#SPLIT"> <tt>SPLIT</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#SQRT"> <tt>SQRT</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#STARTS_WITH"> <tt>STARTS_WITH</tt></a> </td></tr> +<tr class="a"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_ADD"> <tt>STATS_ADD</tt></a> </td></tr> +<tr class="b"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_BIN"> <tt>STATS_BIN</tt></a> </td></tr> +<tr class="a"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_COUNT"> <tt>STATS_COUNT</tt></a> </td></tr> +<tr class="b"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_GEOMETRIC_MEAN"> <tt>STATS_GEOMETRIC_MEAN</tt></a> </td></tr> +<tr class="a"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_INIT"> <tt>STATS_INIT</tt></a> </td></tr> +<tr class="b"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_KURTOSIS"> <tt>STATS_KURTOSIS</tt></a> </td></tr> +<tr class="a"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_MAX"> <tt>STATS_MAX</tt></a> </td></tr> +<tr class="b"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_MEAN"> <tt>STATS_MEAN</tt></a> </td></tr> +<tr class="a"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_MERGE"> <tt>STATS_MERGE</tt></a> </td></tr> +<tr class="b"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_MIN"> <tt>STATS_MIN</tt></a> </td></tr> +<tr class="a"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_PERCENTILE"> <tt>STATS_PERCENTILE</tt></a> </td></tr> +<tr class="b"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_POPULATION_VARIANCE"> <tt>STATS_POPULATION_VARIANCE</tt></a> </td></tr> +<tr class="a"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_QUADRATIC_MEAN"> <tt>STATS_QUADRATIC_MEAN</tt></a> </td></tr> +<tr class="b"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_SD"> <tt>STATS_SD</tt></a> </td></tr> +<tr class="a"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_SKEWNESS"> <tt>STATS_SKEWNESS</tt></a> </td></tr> +<tr class="b"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_SUM"> <tt>STATS_SUM</tt></a> </td></tr> +<tr class="a"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_SUM_LOGS"> <tt>STATS_SUM_LOGS</tt></a> </td></tr> +<tr class="b"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_SUM_SQUARES"> <tt>STATS_SUM_SQUARES</tt></a> </td></tr> +<tr class="a"> +<td> <a href="../../metron-analytics/metron-statistics/index.html#STATS_VARIANCE"> <tt>STATS_VARIANCE</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#STRING_ENTROPY"> <tt>STRING_ENTROPY</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#SUBSTRING"> <tt>SUBSTRING</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#SYSTEM_ENV_GET"> <tt>SYSTEM_ENV_GET</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#SYSTEM_PROPERTY_GET"> <tt>SYSTEM_PROPERTY_GET</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#TAN"> <tt>TAN</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#TLSH_DIST"> <tt>TLSH_DIST</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#TO_DOUBLE"> <tt>TO_DOUBLE</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#TO_EPOCH_TIMESTAMP"> <tt>TO_EPOCH_TIMESTAMP</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#TO_FLOAT"> <tt>TO_FLOAT</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#TO_INTEGER"> <tt>TO_INTEGER</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#TO_JSON_LIST"> <tt>TO_JSON_LIST</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#TO_JSON_MAP"> <tt>TO_JSON_MAP</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#TO_JSON_OBJECT"> <tt>TO_JSON_OBJECT</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#TO_LONG"> <tt>TO_LONG</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#TO_LOWER"> <tt>TO_LOWER</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#TO_STRING"> <tt>TO_STRING</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#TO_UPPER"> <tt>TO_UPPER</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#TRIM"> <tt>TRIM</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#URL_TO_HOST"> <tt>URL_TO_HOST</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#URL_TO_PATH"> <tt>URL_TO_PATH</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#URL_TO_PORT"> <tt>URL_TO_PORT</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#URL_TO_PROTOCOL"> <tt>URL_TO_PROTOCOL</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#WEEK_OF_MONTH"> <tt>WEEK_OF_MONTH</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#WEEK_OF_YEAR"> <tt>WEEK_OF_YEAR</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#YEAR"> <tt>YEAR</tt></a> </td></tr> +<tr class="a"> +<td> <a href="#ZIP"> <tt>ZIP</tt></a> </td></tr> +<tr class="b"> +<td> <a href="#ZIP_LONGEST"> <tt>ZIP_LONGEST</tt></a> </td></tr> +</tbody> </table> <div class="section"> <h3><a name="APPEND_IF_MISSING"></a><tt>APPEND_IF_MISSING</tt></h3> - <ul> - + <li>Description: Appends the suffix to the end of the string if the string does not already end with any of the suffixes.</li> - <li>Input: - <ul> - + <li>string - The string to be appended.</li> - <li>suffix - The string suffix to append to the end of the string.</li> - <li>additionalsuffix - Optional - Additional string suffix that is a valid terminator.</li> - </ul></li> - +</ul> +</li> <li>Returns: A new String if prefix was prepended, the same string otherwise.</li> </ul></div> <div class="section"> <h3><a name="BLOOM_ADD"></a><tt>BLOOM_ADD</tt></h3> - <ul> - + <li>Description: Adds an element to the bloom filter passed in</li> - <li>Input: - <ul> - + <li>bloom - The bloom filter</li> - <li>value(s) - The value(s) to add</li> - </ul></li> - +</ul> +</li> <li>Returns: Bloom Filter</li> </ul></div> <div class="section"> <h3><a name="BLOOM_EXISTS"></a><tt>BLOOM_EXISTS</tt></h3> - <ul> - + <li>Description: If the bloom filter contains the value</li> - <li>Input: - <ul> - + <li>bloom - The bloom filter</li> - <li>value - The value to check</li> - </ul></li> - +</ul> +</li> <li>Returns: True if the filter might contain the value and false otherwise</li> </ul></div> <div class="section"> <h3><a name="BLOOM_INIT"></a><tt>BLOOM_INIT</tt></h3> - <ul> - + <li>Description: Returns an empty bloom filter</li> - <li>Input: - <ul> - + <li>expectedInsertions - The expected insertions</li> - <li>falsePositiveRate - The false positive rate you are willing to tolerate</li> - </ul></li> - +</ul> +</li> <li>Returns: Bloom Filter</li> </ul></div> <div class="section"> <h3><a name="BLOOM_MERGE"></a><tt>BLOOM_MERGE</tt></h3> - <ul> - + <li>Description: Returns a merged bloom filter</li> - <li>Input: - <ul> - + <li>bloomfilters - A list of bloom filters to merge</li> - </ul></li> - +</ul> +</li> <li>Returns: Bloom Filter or null if the list is empty</li> </ul></div> <div class="section"> <h3><a name="CEILING"></a><tt>CEILING</tt></h3> - <ul> - + <li>Description: Returns the ceiling of a number.</li> - <li>Input: - <ul> - + <li>number - The number to take the ceiling of</li> - </ul></li> - +</ul> +</li> <li>Returns: The ceiling of the number passed in.</li> </ul></div> <div class="section"> <h3><a name="COS"></a><tt>COS</tt></h3> - <ul> - + <li>Description: Returns the cosine of a number.</li> - <li>Input: - <ul> - + <li>number - The number to take the cosine of</li> - </ul></li> - +</ul> +</li> <li>Returns: The cosine of the number passed in.</li> </ul></div> <div class="section"> <h3><a name="CHOP"></a><tt>CHOP</tt></h3> - <ul> - + <li>Description: Remove the last character from a String</li> - <li>Input: - <ul> - + <li>string - the String to chop last character from, may be null</li> - </ul></li> - +</ul> +</li> <li>Returns: String without last character, null if null String input</li> </ul></div> <div class="section"> <h3><a name="CHOMP"></a><tt>CHOMP</tt></h3> - <ul> - + <li>Description: Removes one newline from end of a String if it’s there, otherwise leave it alone. A newline is “\n”, “\r”, or “\r\n”</li> - <li>Input: - <ul> - + <li>string - the String to chomp a newline from, may be null</li> - </ul></li> - +</ul> +</li> <li>Returns: String without newline, null if null String input</li> </ul></div> <div class="section"> <h3><a name="COUNT_MATCHES"></a><tt>COUNT_MATCHES</tt></h3> - <ul> - + <li>Description: Counts how many times the substring appears in the larger string.</li> - <li>Input: - <ul> - + <li>string - the CharSequence to check, may be null.</li> - <li>substring/character - the substring or character to count, may be null.</li> - </ul></li> - +</ul> +</li> <li>Returns: the number of non-overlapping occurrences, 0 if either CharSequence is null.</li> </ul></div> <div class="section"> <h3><a name="DAY_OF_MONTH"></a><tt>DAY_OF_MONTH</tt></h3> - <ul> - -<li>Description: The numbered day within the month. The first day within the month has a value of 1.</li> - + +<li>Description: The numbered day within the month. The first day within the month has a value of 1.</li> <li>Input: - <ul> - + <li>dateTime - The datetime as a long representing the milliseconds since unix epoch</li> - </ul></li> - +</ul> +</li> <li>Returns: The numbered day within the month.</li> </ul></div> <div class="section"> <h3><a name="DAY_OF_WEEK"></a><tt>DAY_OF_WEEK</tt></h3> - <ul> - -<li>Description: The numbered day within the week. The first day of the week, Sunday, has a value of 1.</li> - + +<li>Description: The numbered day within the week. The first day of the week, Sunday, has a value of 1.</li> <li>Input: - <ul> - + <li>dateTime - The datetime as a long representing the milliseconds since unix epoch</li> - </ul></li> - +</ul> +</li> <li>Returns: The numbered day within the week.</li> </ul></div> <div class="section"> <h3><a name="DAY_OF_YEAR"></a><tt>DAY_OF_YEAR</tt></h3> - <ul> - -<li>Description: The day number within the year. The first day of the year has value of 1.</li> - + +<li>Description: The day number within the year. The first day of the year has value of 1.</li> <li>Input: - <ul> - + <li>dateTime - The datetime as a long representing the milliseconds since unix epoch</li> - </ul></li> - +</ul> +</li> <li>Returns: The day number within the year.</li> </ul></div> <div class="section"> <h3><a name="DECODE"></a><tt>DECODE</tt></h3> - <ul> - -<li>Description: Decodes the passed string with the provided encoding, which must be one of the encodings returned from <a href="#GET_SUPPORTED_ENCODINGS"> <tt>GET_SUPPORTED_ENCODINGS</tt></a></li> - + +<li>Description: Decodes the passed string with the provided encoding, which must be one of the encodings returned from <a href="#GET_SUPPORTED_ENCODINGS"> <tt>GET_SUPPORTED_ENCODINGS</tt></a></li> <li>Input: - <ul> - + <li>string - the string to decode</li> - <li>encoding - the encoding to use, must be one of encodings returned from <a href="#GET_SUPPORTED_ENCODINGS"> <tt>GET_SUPPORTED_ENCODINGS</tt></a></li> - -<li>verify - (optional), true or false to determine if string should be verified as being encoded with the passed encoding</li> - </ul></li> - +<li>verify - (optional), true or false to determine if string should be verified as being encoded with the passed encoding</li> +</ul> +</li> <li>Returns: - <ul> - + <li>The decoded string on success</li> - <li>The original string the string cannot be decoded</li> - <li>null on usage error</li> - </ul></li> +</ul> +</li> </ul></div> <div class="section"> <h3><a name="DOMAIN_REMOVE_SUBDOMAINS"></a><tt>DOMAIN_REMOVE_SUBDOMAINS</tt></h3> - <ul> - + <li>Description: Removes the subdomains from a domain.</li> - <li>Input: - <ul> - + <li>domain - Fully qualified domain name</li> - </ul></li> - -<li>Returns: The domain without the subdomains. (for example, DOMAIN_REMOVE_SUBDOMAINS(‘mail.yahoo.com’) yields ‘yahoo.com’)</li> +</ul> +</li> +<li>Returns: The domain without the subdomains. (for example, DOMAIN_REMOVE_SUBDOMAINS(‘mail.yahoo.com’) yields ‘yahoo.com’)</li> </ul></div> <div class="section"> <h3><a name="DOMAIN_REMOVE_TLD"></a><tt>DOMAIN_REMOVE_TLD</tt></h3> - <ul> - + <li>Description: Removes the top level domain (TLD) suffix from a domain.</li> - <li>Input: - <ul> - + <li>domain - Fully qualified domain name</li> - </ul></li> - -<li>Returns: The domain without the TLD. (for example, DOMAIN_REMOVE_TLD(‘mail.yahoo.co.uk’) yields ‘mail.yahoo’)</li> +</ul> +</li> +<li>Returns: The domain without the TLD. (for example, DOMAIN_REMOVE_TLD(‘mail.yahoo.co.uk’) yields ‘mail.yahoo’)</li> </ul></div> <div class="section"> <h3><a name="DOMAIN_TO_TLD"></a><tt>DOMAIN_TO_TLD</tt></h3> - <ul> - + <li>Description: Extracts the top level domain from a domain</li> - <li>Input: - <ul> - + <li>domain - Fully qualified domain name</li> - </ul></li> - -<li>Returns: The TLD of the domain. (for example, DOMAIN_TO_TLD(‘mail.yahoo.co.uk’) yields ‘co.uk’)</li> +</ul> +</li> +<li>Returns: The TLD of the domain. (for example, DOMAIN_TO_TLD(‘mail.yahoo.co.uk’) yields ‘co.uk’)</li> </ul></div> <div class="section"> <h3><a name="ENCODE"></a><tt>ENCODE</tt></h3> - <ul> - -<li>Description: Encodes the passed string with the provided encoding, which must be one of the encodings returned from <a href="#GET_SUPPORTED_ENCODINGS"> <tt>GET_SUPPORTED_ENCODINGS</tt></a></li> - + +<li>Description: Encodes the passed string with the provided encoding, which must be one of the encodings returned from <a href="#GET_SUPPORTED_ENCODINGS"> <tt>GET_SUPPORTED_ENCODINGS</tt></a></li> <li>Input: - <ul> - + <li>string - the string to encode</li> - <li>encoding - the encoding to use, must be one of encodings returned from <a href="#GET_SUPPORTED_ENCODINGS"> <tt>GET_SUPPORTED_ENCODINGS</tt></a></li> - </ul></li> - +</ul> +</li> <li>Returns: - <ul> - + <li>The encoded string on success</li> - <li>null on error</li> - </ul></li> +</ul> +</li> </ul></div> <div class="section"> <h3><a name="ENDS_WITH"></a><tt>ENDS_WITH</tt></h3> - <ul> - + <li>Description: Determines whether a string ends with a specified suffix</li> - <li>Input: - <ul> - + <li>string - The string to test</li> - <li>suffix - The proposed suffix</li> - </ul></li> - +</ul> +</li> <li>Returns: True if the string ends with the specified suffix and false if otherwise</li> </ul></div> <div class="section"> <h3><a name="ENRICHMENT_EXISTS"></a><tt>ENRICHMENT_EXISTS</tt></h3> - <ul> - + <li>Description: Interrogates the HBase table holding the simple hbase enrichment data and returns whether the enrichment type and indicator are in the table.</li> - <li>Input: - <ul> - + <li>enrichment_type - The enrichment type</li> - <li>indicator - The string indicator to look up</li> - <li>nosql_table - The NoSQL Table to use</li> - <li>column_family - The Column Family to use</li> - </ul></li> - +</ul> +</li> <li>Returns: True if the enrichment indicator exists and false otherwise</li> </ul></div> <div class="section"> <h3><a name="ENRICHMENT_GET"></a><tt>ENRICHMENT_GET</tt></h3> - <ul> - + <li>Description: Interrogates the HBase table holding the simple hbase enrichment data and retrieves the tabular value associated with the enrichment type and indicator.</li> - <li>Input: - <ul> - + <li>enrichment_type - The enrichment type</li> - <li>indicator - The string indicator to look up</li> - <li>nosql_table - The NoSQL Table to use</li> - <li>column_family - The Column Family to use</li> - </ul></li> - -<li>Returns: A Map associated with the indicator and enrichment type. Empty otherwise.</li> +</ul> +</li> +<li>Returns: A Map associated with the indicator and enrichment type. Empty otherwise.</li> </ul></div> <div class="section"> <h3><a name="EXP"></a><tt>EXP</tt></h3> - <ul> - + <li>Description: Returns Euler’s number raised to the power of the argument.</li> - <li>Input: - <ul> - + <li>number - The power to which e is raised.</li> - </ul></li> - +</ul> +</li> <li>Returns: Euler’s number raised to the power of the argument.</li> </ul></div> <div class="section"> <h3><a name="FILL_LEFT"></a><tt>FILL_LEFT</tt></h3> - <ul> - + <li>Description: Fills or pads a given string with a given character, to a given length on the left</li> - <li>Input: - <ul> - + <li>input - string</li> - <li>fill - the fill character</li> - <li>len - the required length</li> - </ul></li> - +</ul> +</li> <li>Returns: the filled string</li> </ul></div> <div class="section"> <h3><a name="FILL_RIGHT"></a><tt>FILL_RIGHT</tt></h3> - <ul> - + <li>Description: Fills or pads a given string with a given character, to a given length on the right</li> - <li>Input: - <ul> - + <li>input - string</li> - <li>fill - the fill character string</li> - <li>len - the required length</li> - </ul></li> - +</ul> +</li> <li>Returns: Last element of the list</li> </ul></div> <div class="section"> <h3><a name="FILTER"></a><tt>FILTER</tt></h3> - <ul> - + <li>Description: Applies a filter in the form of a lambda expression to a list. e.g. <tt>FILTER( [ 'foo', 'bar' ] , (x) -> x == 'foo')</tt> would yield <tt>[ 'foo']</tt></li> - <li>Input: - <ul> - + <li>list - List of arguments.</li> - -<li>predicate - The lambda expression to apply. This expression is assumed to take one argument and return a boolean.</li> - </ul></li> - +<li>predicate - The lambda expression to apply. This expression is assumed to take one argument and return a boolean.</li> +</ul> +</li> <li>Returns: The input list filtered by the predicate.</li> </ul></div> <div class="section"> <h3><a name="FLOOR"></a><tt>FLOOR</tt></h3> - <ul> - + <li>Description: Returns the floor of a number.</li> - <li>Input: - <ul> - + <li>number - The number to take the floor of</li> - </ul></li> - +</ul> +</li> <li>Returns: The floor of the number passed in.</li> </ul></div> <div class="section"> <h3><a name="FORMAT"></a><tt>FORMAT</tt></h3> - <ul> - + <li>Description: Returns a formatted string using the specified format string and arguments. Uses Java’s string formatting conventions.</li> - <li>Input: - <ul> - + <li>format - string</li> - <li>arguments… - object(s)</li> - </ul></li> - +</ul> +</li> <li>Returns: A formatted string.</li> </ul></div> <div class="section"> <h3><a name="FUZZY_LANGS"></a><tt>FUZZY_LANGS</tt></h3> - <ul> - + <li>Description: Returns a list of IETF BCP 47 available to the system, such as en, fr, de.</li> - <li>Returns: A list of IEF BGP 47 language tag strings</li> </ul></div> <div class="section"> <h3><a name="FUZZY_SCORE"></a><tt>FUZZY_SCORE</tt></h3> - <ul> - + <li>Description: Returns the Fuzzy Score which indicates the similarity score between two strings. One point is given for every matched character. Subsequent matches yield two bonus points. A higher score indicates a higher similarity.</li> - <li>Input: - <ul> - + <li>string - The full term that should be matched against.</li> - <li>string - The query that will be matched against a term.</li> - <li>string - The IETF BCP 47 language code to use.</li> - </ul></li> - +</ul> +</li> <li>Returns: An Integer representing the score.</li> </ul></div> <div class="section"> <h3><a name="GEO_GET"></a><tt>GEO_GET</tt></h3> - <ul> - + <li>Description: Look up an IPV4 address and returns geographic information about it</li> - <li>Input: - <ul> - + <li>ip - The IPV4 address to lookup</li> - <li>fields - Optional list of GeoIP fields to grab. Options are locID, country, city postalCode, dmaCode, latitude, longitude, location_point</li> - </ul></li> - +</ul> +</li> <li>Returns: If a Single field is requested a string of the field, If multiple fields a map of string of the fields, and null otherwise</li> </ul></div> <div class="section"> <h3><a name="GEOHASH_CENTROID"></a><tt>GEOHASH_CENTROID</tt></h3> - <ul> - + <li>Description: Compute the centroid (geographic midpoint or center of gravity) of a set of <a class="externalLink" href="https://en.wikipedia.org/wiki/Geohash">geohashes</a></li> - <li>Input: - <ul> - + <li>hashes - A collection of <a class="externalLink" href="https://en.wikipedia.org/wiki/Geohash">geohashes</a> or a map associating geohashes to numeric weights</li> - <li>character_precision? - The number of characters to use in the hash. Default is 12</li> - </ul></li> - +</ul> +</li> <li>Returns: The geohash of the centroid</li> </ul></div> <div class="section"> <h3><a name="GEOHASH_DIST"></a><tt>GEOHASH_DIST</tt></h3> - <ul> - + <li>Description: Compute the distance between <a class="externalLink" href="https://en.wikipedia.org/wiki/Geohash">geohashes</a></li> - <li>Input: - <ul> - + <li>hash1 - The first point as a geohash</li> - <li>hash2 - The second point as a geohash</li> - -<li>strategy? - The great circle distance strategy to use. One of <a class="externalLink" href="https://en.wikipedia.org/wiki/Haversine_formula">HAVERSINE</a>, <a class="externalLink" href="https://en.wikipedia.org/wiki/Law_of_cosines#Using_the_distance_formula">LAW_OF_COSINES</a>, or <a class="externalLink" href="https://en.wikipedia.org/wiki/Vincenty%27s_formulae">VICENTY</a>. Haversine is default.</li> - </ul></li> - +<li>strategy? - The great circle distance strategy to use. One of <a class="externalLink" href="https://en.wikipedia.org/wiki/Haversine_formula">HAVERSINE</a>, <a class="externalLink" href="https://en.wikipedia.org/wiki/Law_of_cosines#Using_the_distance_formula">LAW_OF_COSINES</a>, or <a class="externalLink" href="https://en.wikipedia.org/wiki/Vincenty%27s_formulae">VICENTY</a>. Haversine is default.</li> +</ul> +</li> <li>Returns: The distance in kilometers between the hashes.</li> </ul></div> <div class="section"> <h3><a name="GEOHASH_FROM_LATLONG"></a><tt>GEOHASH_FROM_LATLONG</tt></h3> - <ul> - + <li>Description: Compute <a class="externalLink" href="https://en.wikipedia.org/wiki/Geohash">geohash</a> given a lat/long</li> - <li>Input: - <ul> - + <li>latitude - The latitude</li> - <li>longitude - The longitude</li> - <li>character_precision? - The number of characters to use in the hash. Default is 12</li> - </ul></li> - +</ul> +</li> <li>Returns: A <a class="externalLink" href="https://en.wikipedia.org/wiki/Geohash">geohash</a> of the lat/long</li> </ul></div> <div class="section"> <h3><a name="GEOHASH_FROM_LOC"></a><tt>GEOHASH_FROM_LOC</tt></h3> - <ul> - + <li>Description: Compute <a class="externalLink" href="https://en.wikipedia.org/wiki/Geohash">geohash</a> given a geo enrichment location</li> - <li>Input: - <ul> - + <li>map - the latitude and logitude in a map (the output of <a href="#GEO_GET">GEO_GET</a> )</li> - <li>longitude - The longitude</li> - <li>character_precision? - The number of characters to use in the hash. Default is <tt>12</tt></li> - </ul></li> - +</ul> +</li> <li>Returns: A <a class="externalLink" href="https://en.wikipedia.org/wiki/Geohash">geohash</a> of the location</li> </ul></div> <div class="section"> <h3><a name="GEOHASH_MAX_DIST"></a><tt>GEOHASH_MAX_DIST</tt></h3> - <ul> - + <li>Description: Compute the maximum distance among a list of <a class="externalLink" href="https://en.wikipedia.org/wiki/Geohash">geohashes</a></li> - <li>Input: - <ul> - + <li>hashes - A set of <a class="externalLink" href="https://en.wikipedia.org/wiki/Geohash">geohashes</a></li> - -<li>strategy? - The great circle distance strategy to use. One of <a class="externalLink" href="https://en.wikipedia.org/wiki/Haversine_formula">HAVERSINE</a>, <a class="externalLink" href="https://en.wikipedia.org/wiki/Law_of_cosines#Using_the_distance_formula">LAW_OF_COSINES</a>, or <a class="externalLink" href="https://en.wikipedia.org/wiki/Vincenty%27s_formulae">VICENTY</a>. Haversine is default.</li> - </ul></li> - +<li>strategy? - The great circle distance strategy to use. One of <a class="externalLink" href="https://en.wikipedia.org/wiki/Haversine_formula">HAVERSINE</a>, <a class="externalLink" href="https://en.wikipedia.org/wiki/Law_of_cosines#Using_the_distance_formula">LAW_OF_COSINES</a>, or <a class="externalLink" href="https://en.wikipedia.org/wiki/Vincenty%27s_formulae">VICENTY</a>. Haversine is default.</li> +</ul> +</li> <li>Returns: The maximum distance in kilometers between any two locations</li> </ul></div> <div class="section"> <h3><a name="GEOHASH_TO_LATLONG"></a><tt>GEOHASH_TO_LATLONG</tt></h3> - <ul> - + <li>Description: Compute the lat/long of a given <a class="externalLink" href="https://en.wikipedia.org/wiki/Geohash">geohash</a></li> - <li>Input: - <ul> - + <li>hash - The <a class="externalLink" href="https://en.wikipedia.org/wiki/Geohash">geohash</a></li> - </ul></li> - +</ul> +</li> <li>Returns: A map containing the latitude and longitude of the hash (keys “latitude” and “longitude”)</li> </ul></div> <div class="section"> <h3><a name="GET"></a><tt>GE
<TRUNCATED>