Numeric Functions¶

Mathematical Functions¶

The following mathematical functions are available in Okera.

Function Description
`abs()` Returns the absolute value of a given argument
`acos()` Returns the arc cosine
`asin()` Returns the arc sine
`atan()` Returns the arc tangent
`atan2()` Returns the arc tangent of two arguments
`ceil()` Returns the smallest integer value not less than the argument
`ceiling()` Same as `ceil()`.
`conv()` Converts numbers between different number bases
`cos()` Returns the cosine
`cosh()` Returns the hyperbolic cosine
`cot()` Returns the cotangent
`dceil()` Same as `ceil()`
`degrees()` Converts a radians number to degrees
`dexp()` Same as `exp()`
`dfloor()` Same as `floor()`
`dlog1()` Same as `ln()`
`dlog10()` Same as `log10()`
`dpow()` Same as `pow()`
`dround()` Same as `round()`
`dsqrt()` Same as `sqrt()`
`dtrunc()` Same as `truncate()`
`e()` Returns the value of constant e (same as `exp(1)`)
`exp()` Raises e to the power of given argument
`factorial()` Returns factorial of argument
`floor()` Returns the largest integer value not greater than the argument
`fmod()` Returns the modulus of two floating point numbers
`fpow()` Same as `pow()` for floating point numbers
`least()` Returns the smallest value from a given list of values
`ln()` Returns the natural logarithm of the argument
`log()` Returns the natural logarithm of the first argument
`log10()` Returns the base-10 logarithm of the argument
`log2()` Returns the base-2 logarithm of the argument
`mod()` Returns the modulus (that is, remainder) of two numbers
`negative()` Returns the negative of the argument
`pi()` Returns the value of the constant pi
`pmod()` Returns the positive modulus of two numbers
`positive()` Returns the positive of the argument
`pow()` Returns the first argument raised to the power of the second argument
`precision()` Returns the decimal precision needed for a given argument
`quotient()` Returns the first argument divided by the second argument, discarding any fractional part
`radians()` Converts the argument value from degrees to radians
`rand()` Returns a random number, allows to specify an optional seed value
`random()` Same as `rand()`
`round()` Returns a given floating point value rounded to the nearest integer value
`scale()` Returns the decimal scale needed for a given argument
`sign()` Returns `-1` for negative numbers, else returns `1`
`sin()` Returns the sine of the argument
`sinh()` Returns the hyperbolic sine of the argument
`sqrt()` Returns the square root of the argument
`tan()` Returns the tangent of the argument
`tanh()` Returns the hyperbolic tangent of the argument
`truncate()` Removes the specified (or all) fractional digits from a given value

While these functions are available, Okera does not recommend that you use them for computational workloads, such as analytics or insights, directly within Okera, that is, inside a `VIEW` or as part of a query in the Okera web UI's Workspace tab.

Instead, downstream clients, such as compute and/or SQL engines, should be tasked to perform such operations. As an example, the Presto endpoint provided by Okera clusters can be used to perform these types of queries.

Analytical Functions¶

The following analytical functions are available in Okera. See Apache MADlib for details.

Function Description
`madlib_decode_vector()` Decodes a MADlib vector from a string
`madlib_encode_vector()` Encodes a MADlib vector into a string
`madlib_print_vector()` Returns the content of a MADlib vector as a string
`madlib_vector()` Returns a MADlib vector based on the given arguments
`madlib_vector_get()` Returns part of a MAlib vector