A partir de la versión V3.1, Hologres admite funciones compatibles con Spark mediante la extensión hg_spark_funcs. Este tema describe todas las funciones compatibles, junto con su sintaxis, parámetros, tipos de retorno y ejemplos.
Requisitos previos
Instale la extensión hg_spark_funcs como superusuario antes de invocar cualquier función. Ejecute la siguiente instrucción una vez por base de datos; repítala para cada nueva base de datos que cree.
CREATE extension hg_spark_funcs;
La extensión solo se puede crear en el esquema hg_spark_funcs . No es posible especificar un esquema diferente.
Invocación de funciones
Todas las funciones residen en el esquema hg_spark_funcs. Utilice cualquiera de los métodos siguientes.
Método 1: Prefijo explícito de esquema (recomendado)
Anteponga hg_spark_funcs. al nombre de la función:
SELECT hg_spark_funcs.ACOSH(a) FROM public.spark_test;
Método 2: Configuración de la ruta de búsqueda
Agregue hg_spark_funcs a la ruta de búsqueda de la sesión y luego invoque las funciones sin prefijo:
-- Set the search path for this session
SET search_path = 'hg_spark_funcs';
-- Call the function directly
SELECT ACOSH(a) FROM public.spark_test;
Para consultar la especificación completa de funciones de Spark, consulte Funciones de Spark.
Datos de ejemplo
Todos los ejemplos de este tema utilizan la tabla siguiente. El parámetro x no acepta valores constantes; debe provenir de una columna.
CREATE TABLE public.spark_test(a INT);
INSERT INTO public.spark_test VALUES (3);
Funciones compatibles
|
Función |
Descripción |
|
Devuelve el coseno hiperbólico inverso. |
|
|
Devuelve el seno hiperbólico inverso. |
|
|
Devuelve la tangente hiperbólica inversa. |
|
|
Comprueba si un valor se encuentra dentro de un rango especificado. |
|
|
Convierte un número a su representación en cadena binaria. |
|
|
Devuelve la cantidad de bits en 1 de la representación binaria de un número. |
|
|
Realiza una operación AND bit a bit. |
|
|
Realiza una operación NOT bit a bit. |
|
|
Realiza una operación OR bit a bit. |
|
|
Realiza una operación XOR bit a bit. |
|
|
Suma dos números y genera un error en caso de desbordamiento. |
|
|
Divide dos números y genera un error en caso de desbordamiento. |
|
|
Multiplica dos números y genera un error en caso de desbordamiento. |
|
|
Resta dos números y genera un error en caso de desbordamiento. |
|
|
Comprueba si la cadena x contiene la cadena y. |
|
|
Convierte una cadena numérica de una base a otra. |
|
|
Devuelve el coseno hiperbólico. |
|
|
Devuelve el valor hash de comprobación de redundancia cíclica de 32 bits (CRC32). |
|
|
Devuelve la cosecante. |
|
|
Comprueba si la cadena x termina con la cadena y. |
|
|
Devuelve exp(x) - 1. |
|
|
Devuelve la posición (base 1) de una cadena dentro de una lista separada por comas. |
|
|
Convierte segundos desde la época UNIX a una cadena de marca de tiempo con formato. |
|
|
Convierte un número a su representación en cadena hexadecimal. |
|
|
Devuelve la raíz cuadrada de la suma de los cuadrados de dos valores. |
|
|
Comprueba si un valor existe en un arreglo. |
|
|
Comprueba si un valor es Not a Number (NaN). |
|
|
Devuelve la distancia de Levenshtein (distancia de edición) entre dos cadenas. |
|
|
Devuelve el logaritmo en base 10. |
|
|
Devuelve el logaritmo natural de x + 1. |
|
|
Devuelve el logaritmo en base 2. |
|
|
Comprueba si un valor podría existir en un filtro Bloom. |
|
|
Genera enteros de 64 bits únicos y monótonamente crecientes. |
|
|
Devuelve el residuo positivo de x dividido entre y. |
|
|
Devuelve el residuo de x dividido entre y. |
|
|
Devuelve el entero más cercano a un valor. |
|
|
Devuelve la secante. |
|
|
Devuelve el hash SHA-1 como cadena hexadecimal. |
|
|
Devuelve el hash SHA-2 (SHA-224, SHA-256, SHA-384 o SHA-512) como cadena hexadecimal. |
|
|
Realiza un desplazamiento bit a bit hacia la izquierda. |
|
|
Realiza un desplazamiento bit a bit hacia la derecha. |
|
|
Devuelve el seno hiperbólico. |
|
|
Devuelve el código Soundex de una cadena. |
|
|
Comprueba si la cadena x comienza con la cadena y. |
|
|
Devuelve la subcadena anterior a la n-ésima aparición de un separador. |
|
|
Convierte una cadena hexadecimal a su representación binaria. |
|
|
Decodifica una cadena codificada en URL. |
|
|
Codifica una cadena en formato seguro para URL. |
Referencia de funciones
ACOSH
Devuelve el coseno hiperbólico inverso de x.
Sintaxis
ACOSH(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
DOUBLE PRECISION |
Obligatorio. El valor de entrada. |
Valor de retorno
DOUBLE PRECISION.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.ACOSH(a) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT ACOSH(a) FROM public.spark_test;
Resultado:
acosh
------------------
1.762747174039086
ASINH
Devuelve el seno hiperbólico inverso de x.
Sintaxis
ASINH(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
DOUBLE PRECISION |
Obligatorio. El valor de entrada. |
Valor de retorno
DOUBLE PRECISION.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.ASINH(a) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT ASINH(a) FROM public.spark_test;
Resultado:
asinh
------------------
1.8184464592320668
ATANH
Devuelve la tangente hiperbólica inversa de x.
Sintaxis
ATANH(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
DOUBLE PRECISION |
Obligatorio. El valor de entrada. |
Valor de retorno
DOUBLE PRECISION.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.ATANH(a) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT ATANH(a) FROM public.spark_test;
Resultado:
atanh
-------
NaN
BETWEEN
Comprueba si x se encuentra dentro del intervalo cerrado [min, max]. Devuelve true si se cumple min <= x <= max; de lo contrario, devuelve false.
BETWEENes una palabra clave de Hologres. Utilice siempre el prefijohg_spark_funcs.al invocar esta función.
Sintaxis
hg_spark_funcs.BETWEEN(x, min, max)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BIGINT |
Obligatorio. El valor que se va a comprobar. |
|
|
BIGINT |
Obligatorio. El límite inferior del rango (inclusivo). |
|
|
BIGINT |
Obligatorio. El límite superior del rango (inclusivo). |
Valor de retorno
BOOLEAN.
Ejemplo
SELECT hg_spark_funcs.BETWEEN(a, 2, 4) FROM public.spark_test;
Resultado:
between
---------
t
BIN
Convierte un número a su representación en cadena binaria.
Sintaxis
BIN(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BIGINT |
Obligatorio. El número que se va a convertir. |
Valor de retorno
TEXT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.BIN(a) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT BIN(a) FROM public.spark_test;
Resultado:
bin
-----
11
BIT_COUNT
Devuelve la cantidad de bits en 1 de la representación binaria de un número.
Sintaxis
BIT_COUNT(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BIGINT |
Obligatorio. El número de entrada. |
Valor de retorno
INTEGER.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.BIT_COUNT(a) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT BIT_COUNT(a) FROM public.spark_test;
Resultado (3 en binario es 11, que tiene dos bits en 1):
bit_count
-----------
2
BITWISE_AND
Realiza una operación AND bit a bit sobre x y y.
Sintaxis
BITWISE_AND(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
INTEGER |
Obligatorio. El primer operando. |
|
|
INTEGER |
Obligatorio. El segundo operando. |
Valor de retorno
INTEGER.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.BITWISE_AND(a, 2) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT BITWISE_AND(a, 2) FROM public.spark_test;
Resultado:
bitwise_and
-------------
2
BITWISE_NOT
Realiza una operación NOT bit a bit sobre x.
Sintaxis
BITWISE_NOT(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BIGINT |
Obligatorio. El valor de entrada. |
Valor de retorno
BIGINT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.BITWISE_NOT(a) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT BITWISE_NOT(a) FROM public.spark_test;
Resultado:
bitwise_not
-------------
-4
BITWISE_OR
Realiza una operación OR bit a bit sobre x y y.
Sintaxis
BITWISE_OR(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BIGINT |
Obligatorio. El primer operando. |
|
|
BIGINT |
Obligatorio. El segundo operando. |
Valor de retorno
BIGINT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.BITWISE_OR(a, 2) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT BITWISE_OR(a, 2) FROM public.spark_test;
Resultado:
bitwise_or
------------
3
BITWISE_XOR
Realiza una operación XOR bit a bit sobre x y y.
Sintaxis
BITWISE_XOR(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
INTEGER |
Obligatorio. El primer operando. |
|
|
INTEGER |
Obligatorio. El segundo operando. |
Valor de retorno
INTEGER.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.BITWISE_XOR(a, 2) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT BITWISE_XOR(a, 2) FROM public.spark_test;
Resultado:
bitwise_xor
-------------
1
CHECKED_ADD
Suma x y y. Genera un error si el resultado se desborda, en lugar de ajustarse silenciosamente.
Sintaxis
CHECKED_ADD(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BIGINT |
Obligatorio. El primer operando. |
|
|
BIGINT |
Obligatorio. El segundo operando. |
Valor de retorno
BIGINT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.CHECKED_ADD(a, 2147483647) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT CHECKED_ADD(a, 2147483647) FROM public.spark_test;
Resultado (el desbordamiento genera un error):
ERROR: internal error: Run func: spark_checked_add fails with Exception: VeloxUserError
CHECKED_DIVIDE
Divide x entre y. Genera un error si el resultado se desborda, en lugar de ajustarse silenciosamente.
Sintaxis
CHECKED_DIVIDE(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BIGINT |
Obligatorio. El dividendo. |
|
|
BIGINT |
Obligatorio. El divisor. |
Valor de retorno
BIGINT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.CHECKED_DIVIDE(a, 1/2147483647) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT CHECKED_DIVIDE(a, 1/2147483647) FROM public.spark_test;
Resultado (el desbordamiento genera un error):
ERROR: internal error: Run func: spark_checked_divide fails with Exception: VeloxUserError
CHECKED_MULTIPLY
Multiplica x por y. Genera un error si el resultado se desborda, en lugar de ajustarse silenciosamente.
Sintaxis
CHECKED_MULTIPLY(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BIGINT |
Obligatorio. El primer operando. |
|
|
BIGINT |
Obligatorio. El segundo operando. |
Valor de retorno
BIGINT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.CHECKED_MULTIPLY(a, 2147483647) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT CHECKED_MULTIPLY(a, 2147483647) FROM public.spark_test;
Resultado (el desbordamiento genera un error):
ERROR: internal error: Run func: spark_checked_multiply fails with Exception: VeloxUserError
CHECKED_SUBTRACT
Resta y de x. Genera un error si el resultado se desborda, en lugar de ajustarse silenciosamente.
Sintaxis
CHECKED_SUBTRACT(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BIGINT |
Obligatorio. El minuendo. |
|
|
BIGINT |
Obligatorio. El sustraendo. |
Valor de retorno
BIGINT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.CHECKED_SUBTRACT(a, -2147483647) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT CHECKED_SUBTRACT(a, -2147483647) FROM public.spark_test;
Resultado (el desbordamiento genera un error):
ERROR: internal error: Run func: spark_checked_subtract fails with Exception: VeloxUserError
CONTAINS
Comprueba si la cadena x contiene la cadena y. Devuelve true si la contiene; de lo contrario, devuelve false.
Sintaxis
CONTAINS(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
TEXT |
Obligatorio. La cadena donde se realiza la búsqueda. |
|
|
TEXT |
Obligatorio. La subcadena que se busca. |
Valor de retorno
BOOLEAN.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.CONTAINS(a::text, '3') FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT CONTAINS(a::text, '3') FROM public.spark_test;
Resultado:
contains
----------
t
CONV
Convierte una cadena numérica de una base a otra.
Sintaxis
CONV(x, n, m)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
TEXT |
Obligatorio. El número que se va a convertir, representado como cadena. |
|
|
INTEGER |
Obligatorio. La base de origen (por ejemplo, |
|
|
INTEGER |
Obligatorio. La base de destino. |
Valor de retorno
TEXT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.CONV(a::text, 10, 2) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT CONV(a::text, 10, 2) FROM public.spark_test;
Resultado (convierte 3 de base 10 a base 2):
conv
------
11
COSH
Devuelve el coseno hiperbólico de x.
Sintaxis
COSH(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
DOUBLE PRECISION |
Obligatorio. El valor de entrada. |
Valor de retorno
DOUBLE PRECISION.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.COSH(a) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT COSH(a) FROM public.spark_test;
Resultado:
cosh
------------------
10.0676619957778
CRC32
Devuelve el valor hash de comprobación de redundancia cíclica de 32 bits (CRC32) de una cadena binaria.
Sintaxis
CRC32(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BYTEA |
Obligatorio. La cadena binaria de la que se obtiene el hash. |
Valor de retorno
BIGINT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.CRC32(hg_spark_funcs.bin(a)::bytea) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT CRC32(bin(a)::bytea) FROM public.spark_test;
Resultado:
crc32
------------
3596227959
CSC
Devuelve la cosecante de x.
Sintaxis
CSC(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
DOUBLE PRECISION |
Obligatorio. El valor de entrada en radianes. |
Valor de retorno
DOUBLE PRECISION.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.CSC(a) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT CSC(a) FROM public.spark_test;
Resultado:
csc
------------------
7.08616739573719
ENDSWITH
Comprueba si la cadena x termina con la cadena y. Devuelve true si es así; de lo contrario, devuelve false.
Sintaxis
ENDSWITH(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
TEXT |
Obligatorio. La cadena que se va a comprobar. |
|
|
TEXT |
Obligatorio. El sufijo que se busca. |
Valor de retorno
BOOLEAN.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.ENDSWITH(concat(a, 'hologres'), 'gres') FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT ENDSWITH(concat(a, 'hologres'), 'gres') FROM public.spark_test;
Resultado:
endswith
----------
t
EXPM1
Devuelve exp(x) - 1, donde exp(x) es el número de Euler elevado a la potencia x.
Sintaxis
EXPM1(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
DOUBLE PRECISION |
Obligatorio. El exponente. |
Valor de retorno
DOUBLE PRECISION.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.EXPM1(a) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT EXPM1(a) FROM public.spark_test;
Resultado:
expm1
------------------
19.0855369231877
FIND_IN_SET
Devuelve la posición (base 1) de la cadena x dentro de la lista separada por comas y. Devuelve 0 si no se encuentra x.
Sintaxis
FIND_IN_SET(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
TEXT |
Obligatorio. La cadena que se busca. |
|
|
TEXT |
Obligatorio. Una lista de cadenas separadas por comas. |
Valor de retorno
INTEGER.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.FIND_IN_SET(a::text, 'a,b,c,2') FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT FIND_IN_SET(a::text, 'a,b,c,2') FROM public.spark_test;
Resultado:
find_in_set
-------------
4
FROM_UNIXTIME
Convierte una marca de tiempo Unix (segundos transcurridos desde 1970-01-01 00:00:00 UTC) a una cadena de marca de tiempo con formato.
Sintaxis
FROM_UNIXTIME(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BIGINT |
Obligatorio. El número de segundos transcurridos desde la época UNIX (1970-01-01 00:00:00 UTC). |
|
|
TEXT |
Obligatorio. La cadena de formato de salida. Utiliza la sintaxis de patrones de fecha y hora de Spark (por ejemplo, |
Valor de retorno
TEXT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.FROM_UNIXTIME(a, 'yyyy-MM-dd HH:mm:ss') FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT FROM_UNIXTIME(a, 'yyyy-MM-dd HH:mm:ss') FROM public.spark_test;
Resultado:
from_unixtime
---------------------
1970-01-01 00:00:03
HEX
Convierte un número a su representación en cadena hexadecimal.
Sintaxis
HEX(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BIGINT |
Obligatorio. El número que se va a convertir. |
Valor de retorno
TEXT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.HEX(a) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT HEX(a) FROM public.spark_test;
Resultado:
hex
-----
3
HYPOT
Devuelve la longitud de la hipotenusa de un triángulo rectángulo con catetos x y y, calculada como sqrt(x² + y²).
Sintaxis
HYPOT(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
DOUBLE PRECISION |
Obligatorio. El primer cateto. |
|
|
DOUBLE PRECISION |
Obligatorio. El segundo cateto. |
Valor de retorno
DOUBLE PRECISION.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.HYPOT(a, 4) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT HYPOT(a, 4) FROM public.spark_test;
Resultado (hypot(3, 4) = 5):
hypot
-------
5
IN
Comprueba si el valor x existe en el arreglo y. Devuelve true si se encuentra; de lo contrario, devuelve false.
Sintaxis
IN(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BIGINT |
Obligatorio. El valor que se busca. |
|
|
BIGINT[] |
Obligatorio. El arreglo donde se realiza la búsqueda. |
Valor de retorno
BOOLEAN.
Ejemplo
SELECT hg_spark_funcs.IN(a, ARRAY[2,5,3]) FROM public.spark_test;
Resultado:
in
----
t
ISNAN
Comprueba si x es Not a Number (NaN). Devuelve true si es NaN; de lo contrario, devuelve false.
Sintaxis
ISNAN(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
DOUBLE PRECISION |
Obligatorio. El valor que se va a comprobar. |
Valor de retorno
BOOLEAN.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.ISNAN(a) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT ISNAN(a) FROM public.spark_test;
Resultado:
isnan
-------
f
LEVENSHTEIN
Devuelve la distancia de Levenshtein (distancia de edición) entre las cadenas x y y: el número mínimo de inserciones, eliminaciones o sustituciones de un solo carácter necesarias para transformar una cadena en la otra.
Sintaxis
LEVENSHTEIN(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
TEXT |
Obligatorio. La primera cadena. |
|
|
TEXT |
Obligatorio. La segunda cadena. |
Valor de retorno
INTEGER.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.LEVENSHTEIN(a::text, 'hologres') FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT LEVENSHTEIN(a::text, 'hologres') FROM public.spark_test;
Resultado:
levenshtein
-------------
8
LOG10
Devuelve el logaritmo en base 10 de x.
Sintaxis
LOG10(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
DOUBLE PRECISION |
Obligatorio. El valor de entrada. |
Valor de retorno
DOUBLE PRECISION.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.LOG10(a) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT LOG10(a) FROM public.spark_test;
Resultado:
log10
-------------------
0.477121254719662
LOG1P
Devuelve el logaritmo natural de x + 1.
Sintaxis
LOG1P(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
DOUBLE PRECISION |
Obligatorio. El valor de entrada. |
Valor de retorno
DOUBLE PRECISION.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.LOG1P(a) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT LOG1P(a) FROM public.spark_test;
Resultado:
log1p
------------------
1.38629436111989
LOG2
Devuelve el logaritmo base 2 de x.
Sintaxis
LOG2(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
DOUBLE PRECISION |
Obligatorio. El valor de entrada. |
Valor de retorno
DOUBLE PRECISION.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.LOG2(a) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT LOG2(a) FROM public.spark_test;
Resultado:
log2
------------------
1.58496250072116
MIGHT_CONTAIN
Comprueba si el valor y podría existir en el filtro Bloom serializado como x. Devuelve true si el valor podría estar presente (posible falso positivo) o false si está definitivamente ausente.
Sintaxis
MIGHT_CONTAIN(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BYTEA |
Obligatorio. Los bytes serializados de un filtro Bloom. |
|
|
BIGINT |
Obligatorio. El valor que se busca en el filtro Bloom. |
Valor de retorno
BOOLEAN.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.MIGHT_CONTAIN(a::text::bytea, 3) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT MIGHT_CONTAIN(a::text::bytea, 3) FROM public.spark_test;
Resultado:
might_contain
---------------
f
MONOTONICALLY_INCREASING_ID
Genera enteros de 64 bits únicos y monótonamente crecientes. Los ID generados garantizan ser únicos y aumentar de forma monótona entre filas, pero no son consecutivos.
Sintaxis
MONOTONICALLY_INCREASING_ID()
Valor de retorno
BIGINT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.MONOTONICALLY_INCREASING_ID() FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT MONOTONICALLY_INCREASING_ID() FROM public.spark_test;
Resultado:
monotonically_increasing_id
-----------------------------
0
PMOD
Devuelve el residuo positivo de x dividido por y. A diferencia del operador módulo estándar, el resultado siempre es no negativo.
Sintaxis
PMOD(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BIGINT |
Obligatorio. El dividendo. |
|
|
BIGINT |
Obligatorio. El divisor. |
Valor de retorno
BIGINT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.PMOD(a, 2) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT PMOD(a, 2) FROM public.spark_test;
Resultado:
pmod
------
1
REMAINDER
Devuelve el residuo de x dividido por y.
Sintaxis
REMAINDER(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BIGINT |
Obligatorio. El dividendo. |
|
|
BIGINT |
Obligatorio. El divisor. |
Valor de retorno
BIGINT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.REMAINDER(a, 2) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT REMAINDER(a, 2) FROM public.spark_test;
Resultado:
remainder
-----------
1
RINT
Devuelve el entero más cercano a x.
Sintaxis
RINT(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
DOUBLE PRECISION |
Obligatorio. El valor de entrada. |
Valor de retorno
DOUBLE PRECISION.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.RINT(a) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT RINT(a) FROM public.spark_test;
Resultado:
rint
------
3
SEC
Devuelve la secante de x (el recíproco del coseno).
Sintaxis
SEC(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
DOUBLE PRECISION |
Obligatorio. El valor de entrada en radianes. |
Valor de retorno
DOUBLE PRECISION.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.SEC(a) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT SEC(a) FROM public.spark_test;
Resultado:
sec
-------------------
-1.01010866590799
SHA1
Devuelve el hash Secure Hash Algorithm 1 (SHA-1) de la cadena binaria x como una cadena hexadecimal.
Sintaxis
SHA1(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BYTEA |
Obligatorio. La cadena binaria para calcular el hash. |
Valor de retorno
TEXT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.SHA1(a::text::bytea) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT SHA1(a::text::bytea) FROM public.spark_test;
Resultado:
sha1
------------------------------------------
77de68daecd823babbb58edb1c8e14d7106e83bb
SHA2
Devuelve el hash SHA-2 de la cadena binaria x como una cadena hexadecimal. Devuelve NULL para longitudes de bits no compatibles.
Sintaxis
SHA2(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BYTEA |
Obligatorio. La cadena binaria para calcular el hash. |
|
|
INTEGER |
Obligatorio. La longitud de bits del hash. Valores compatibles: |
Valor de retorno
TEXT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.SHA2(a::text::bytea, 3) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT SHA2(a::text::bytea, 3) FROM public.spark_test;
Resultado:
sha2
------
NaN
SHIFTLEFT
Desplaza x hacia la izquierda y bits.
Sintaxis
SHIFTLEFT(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BIGINT |
Obligatorio. El valor que se va a desplazar. |
|
|
INTEGER |
Obligatorio. El número de posiciones de bits para desplazar a la izquierda. |
Valor de retorno
BIGINT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.SHIFTLEFT(a, 1) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT SHIFTLEFT(a, 1) FROM public.spark_test;
Resultado:
shiftleft
-----------
6
SHIFTRIGHT
Desplaza x hacia la derecha y bits.
Sintaxis
SHIFTRIGHT(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
BIGINT |
Obligatorio. El valor que se va a desplazar. |
|
|
INTEGER |
Obligatorio. El número de posiciones de bits para desplazar a la derecha. |
Valor de retorno
BIGINT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.SHIFTRIGHT(a, 1) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT SHIFTRIGHT(a, 1) FROM public.spark_test;
Resultado:
shiftright
------------
1
SINH
Devuelve el seno hiperbólico de x.
Sintaxis
SINH(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
DOUBLE PRECISION |
Obligatorio. El valor de entrada. |
Valor de retorno
DOUBLE PRECISION.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.SINH(a) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT SINH(a) FROM public.spark_test;
Resultado:
sinh
------------------
10.0178749274099
SOUNDEX
Devuelve el código Soundex de la cadena x. El algoritmo Soundex asigna el mismo código a palabras en inglés fonéticamente similares, lo cual resulta útil para la coincidencia aproximada de nombres.
Sintaxis
SOUNDEX(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
TEXT |
Obligatorio. La cadena de entrada. |
Valor de retorno
TEXT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.SOUNDEX(concat('holo', a)) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT SOUNDEX(concat('holo', a)) FROM public.spark_test;
Resultado:
soundex
---------
H400
STARTSWITH
Comprueba si la cadena x comienza con la cadena y. Devuelve true si es así; de lo contrario, devuelve false.
Sintaxis
STARTSWITH(x, y)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
TEXT |
Obligatorio. La cadena que se va a comprobar. |
|
|
TEXT |
Obligatorio. El prefijo que se busca. |
Valor de retorno
BOOLEAN.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.STARTSWITH(concat(a, 'hologres'), 'gres') FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT STARTSWITH(concat(a, 'hologres'), 'gres') FROM public.spark_test;
Resultado:
startswith
------------
f
SUBSTRING_INDEX
Devuelve la subcadena de x anterior a la n-ésima aparición del separador y. Si n es positivo, devuelve todo lo que está a la izquierda del n-ésimo delimitador.
Sintaxis
SUBSTRING_INDEX(x, y, n)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
TEXT |
Obligatorio. La cadena de origen. |
|
|
TEXT |
Obligatorio. El separador que se busca. |
|
|
INTEGER |
Obligatorio. El número de apariciones. Los valores positivos cuentan desde la izquierda. |
Valor de retorno
TEXT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.SUBSTRING_INDEX(concat(a, 'hologres'), 'o', 2) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT SUBSTRING_INDEX(concat(a, 'hologres'), 'o', 2) FROM public.spark_test;
Resultado (devuelve la subcadena anterior a la segunda 'o' en '3hologres'):
substring_index
-----------------
3hol
UNHEX
Convierte una cadena hexadecimal a su representación binaria.
Sintaxis
UNHEX(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
TEXT |
Obligatorio. La cadena hexadecimal que se va a convertir. |
Valor de retorno
TEXT.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.UNHEX(a::text) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT UNHEX(a::text) FROM public.spark_test;
Resultado:
unhex
-------
\x03
URL_DECODE
Decodifica una cadena codificada mediante URL al reemplazar las secuencias codificadas por porcentaje con sus caracteres correspondientes.
Sintaxis
URL_DECODE(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
VARCHAR |
Obligatorio. La cadena codificada mediante URL que se va a decodificar. |
Valor de retorno
VARCHAR.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.URL_DECODE(hg_spark_funcs.URL_ENCODE(CONCAT('www.','Chinese',a,'.com'))) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT URL_DECODE(URL_ENCODE(CONCAT('www.','Chinese',a,'.com'))) FROM public.spark_test;
Resultado:
url_decode
---------------
www.chinese3.com
URL_ENCODE
Codifica una cadena en un formato seguro para URL al reemplazar los caracteres especiales con secuencias codificadas por porcentaje.
Sintaxis
URL_ENCODE(x)
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
|
VARCHAR |
Obligatorio. La cadena que se va a codificar. |
Valor de retorno
VARCHAR.
Ejemplo
-- Method 1: Explicit schema prefix (recommended)
SELECT hg_spark_funcs.URL_ENCODE(CONCAT('www.','Chinese',a,'.com')) FROM public.spark_test;
-- Method 2: Set the search path
SET search_path = 'hg_spark_funcs';
SELECT URL_ENCODE(CONCAT('www.','Chinese',a,'.com')) FROM public.spark_test;
Resultado:
url_encode
-----------------------------
www.%E4%B8%AD%E6%96%873.com