O Hologres oferece suporte a funções compatíveis com Spark a partir da versão V3.1 por meio da extensão hg_spark_funcs. Este tópico aborda todas as funções suportadas, incluindo sintaxe, parâmetros, tipos de retorno e exemplos.
Pré-requisitos
Instale a extensão hg_spark_funcs como Superuser antes de chamar qualquer função. Execute a instrução abaixo uma vez por banco de dados e repita o processo para cada novo banco de dados criado.
CREATE extension hg_spark_funcs;
A extensão só pode ser criada no schema hg_spark_funcs . Não é possível especificar um schema diferente.
Chamada de funções
Todas as funções residem no schema hg_spark_funcs. Utilize um dos métodos a seguir.
Método 1 — Prefixo explícito de schema (recomendado)
Adicione o prefixo hg_spark_funcs. ao nome da função:
SELECT hg_spark_funcs.ACOSH(a) FROM public.spark_test;
Método 2 — Definição do search path
Inclua hg_spark_funcs no search path da sessão e chame as funções sem prefixo:
-- 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 a especificação completa das funções Spark, acesse Funções Spark.
Dados de exemplo
Todos os exemplos deste tópico utilizam a tabela a seguir. O parâmetro x não aceita valores constantes; ele deve vir de uma coluna.
CREATE TABLE public.spark_test(a INT);
INSERT INTO public.spark_test VALUES (3);
Funções suportadas
|
Função |
Descrição |
|
Retorna o cosseno hiperbólico inverso. |
|
|
Retorna o seno hiperbólico inverso. |
|
|
Retorna a tangente hiperbólica inversa. |
|
|
Verifica se um valor está dentro de um intervalo especificado. |
|
|
Converte um número para sua representação em string binária. |
|
|
Retorna a quantidade de bits 1 na representação binária de um número. |
|
|
Executa uma operação AND bit a bit. |
|
|
Executa uma operação NOT bit a bit. |
|
|
Executa uma operação OR bit a bit. |
|
|
Executa uma operação XOR bit a bit. |
|
|
Soma dois números e gera um erro em caso de overflow. |
|
|
Divide dois números e gera um erro em caso de overflow. |
|
|
Multiplica dois números e gera um erro em caso de overflow. |
|
|
Subtrai dois números e gera um erro em caso de overflow. |
|
|
Verifica se a string x contém a string y. |
|
|
Converte uma string numérica de uma base para outra. |
|
|
Retorna o cosseno hiperbólico. |
|
|
Retorna o valor de hash CRC32 (verificação de redundância cíclica de 32 bits). |
|
|
Retorna a cossecante. |
|
|
Verifica se a string x termina com a string y. |
|
|
Retorna exp(x) - 1. |
|
|
Retorna a posição (base 1) de uma string em uma lista separada por vírgulas. |
|
|
Converte segundos desde a época UNIX em uma string de timestamp formatada. |
|
|
Converte um número para sua representação em string hexadecimal. |
|
|
Retorna a raiz quadrada da soma dos quadrados de dois valores. |
|
|
Verifica se um valor existe em um array. |
|
|
Verifica se um valor é NaN (Not a Number). |
|
|
Retorna a distância Levenshtein (distância de edição) entre duas strings. |
|
|
Retorna o logaritmo na base 10. |
|
|
Retorna o logaritmo natural de x + 1. |
|
|
Retorna o logaritmo na base 2. |
|
|
Verifica se um valor pode existir em um filtro Bloom. |
|
|
Gera inteiros de 64 bits únicos e monotonicamente crescentes. |
|
|
Retorna o resto positivo da divisão de x por y. |
|
|
Retorna o resto da divisão de x por y. |
|
|
Retorna o inteiro mais próximo de um valor. |
|
|
Retorna a secante. |
|
|
Retorna o hash SHA-1 como uma string hexadecimal. |
|
|
Retorna o hash SHA-2 (SHA-224, SHA-256, SHA-384 ou SHA-512) como uma string hexadecimal. |
|
|
Executa um deslocamento bit a bit para a esquerda. |
|
|
Executa um deslocamento bit a bit para a direita. |
|
|
Retorna o seno hiperbólico. |
|
|
Retorna o código Soundex de uma string. |
|
|
Verifica se a string x começa com a string y. |
|
|
Retorna a substring anterior à n-ésima ocorrência de um separador. |
|
|
Converte uma string hexadecimal em sua representação binária. |
|
|
Decodifica uma string codificada por URL. |
|
|
Codifica uma string em formato seguro para URL. |
Referência de funções
ACOSH
Retorna o cosseno hiperbólico inverso de x.
Sintaxe
ACOSH(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
DOUBLE PRECISION |
Obrigatório. O valor de entrada. |
Valor de retorno
DOUBLE PRECISION.
Exemplo
-- 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
Retorna o seno hiperbólico inverso de x.
Sintaxe
ASINH(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
DOUBLE PRECISION |
Obrigatório. O valor de entrada. |
Valor de retorno
DOUBLE PRECISION.
Exemplo
-- 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
Retorna a tangente hiperbólica inversa de x.
Sintaxe
ATANH(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
DOUBLE PRECISION |
Obrigatório. O valor de entrada. |
Valor de retorno
DOUBLE PRECISION.
Exemplo
-- 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
Verifica se x está dentro do intervalo fechado [min, max]. Retorna true se min <= x <= max, caso contrário retorna false.
BETWEENé uma palavra-chave do Hologres. Sempre utilize o prefixohg_spark_funcs.ao chamar esta função.
Sintaxe
hg_spark_funcs.BETWEEN(x, min, max)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BIGINT |
Obrigatório. O valor a verificar. |
|
|
BIGINT |
Obrigatório. O limite inferior do intervalo (inclusivo). |
|
|
BIGINT |
Obrigatório. O limite superior do intervalo (inclusivo). |
Valor de retorno
BOOLEAN.
Exemplo
SELECT hg_spark_funcs.BETWEEN(a, 2, 4) FROM public.spark_test;
Resultado:
between
---------
t
BIN
Converte um número para sua representação em string binária.
Sintaxe
BIN(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BIGINT |
Obrigatório. O número a converter. |
Valor de retorno
TEXT.
Exemplo
-- 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
Retorna a quantidade de bits 1 na representação binária de um número.
Sintaxe
BIT_COUNT(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BIGINT |
Obrigatório. O número de entrada. |
Valor de retorno
INTEGER.
Exemplo
-- 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 em binário é 11, que possui dois bits 1):
bit_count
-----------
2
BITWISE_AND
Executa uma operação AND bit a bit em x e y.
Sintaxe
BITWISE_AND(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
INTEGER |
Obrigatório. O primeiro operando. |
|
|
INTEGER |
Obrigatório. O segundo operando. |
Valor de retorno
INTEGER.
Exemplo
-- 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
Executa uma operação NOT bit a bit em x.
Sintaxe
BITWISE_NOT(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BIGINT |
Obrigatório. O valor de entrada. |
Valor de retorno
BIGINT.
Exemplo
-- 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
Executa uma operação OR bit a bit em x e y.
Sintaxe
BITWISE_OR(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BIGINT |
Obrigatório. O primeiro operando. |
|
|
BIGINT |
Obrigatório. O segundo operando. |
Valor de retorno
BIGINT.
Exemplo
-- 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
Executa uma operação XOR bit a bit em x e y.
Sintaxe
BITWISE_XOR(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
INTEGER |
Obrigatório. O primeiro operando. |
|
|
INTEGER |
Obrigatório. O segundo operando. |
Valor de retorno
INTEGER.
Exemplo
-- 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
Soma x e y. Gera um erro se o resultado causar overflow, em vez de ajustar o valor silenciosamente.
Sintaxe
CHECKED_ADD(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BIGINT |
Obrigatório. O primeiro operando. |
|
|
BIGINT |
Obrigatório. O segundo operando. |
Valor de retorno
BIGINT.
Exemplo
-- 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 (o overflow aciona um erro):
ERROR: internal error: Run func: spark_checked_add fails with Exception: VeloxUserError
CHECKED_DIVIDE
Divide x por y. Gera um erro se o resultado causar overflow, em vez de ajustar o valor silenciosamente.
Sintaxe
CHECKED_DIVIDE(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BIGINT |
Obrigatório. O dividendo. |
|
|
BIGINT |
Obrigatório. O divisor. |
Valor de retorno
BIGINT.
Exemplo
-- 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 (o overflow aciona um erro):
ERROR: internal error: Run func: spark_checked_divide fails with Exception: VeloxUserError
CHECKED_MULTIPLY
Multiplica x e y. Gera um erro se o resultado causar overflow, em vez de ajustar o valor silenciosamente.
Sintaxe
CHECKED_MULTIPLY(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BIGINT |
Obrigatório. O primeiro operando. |
|
|
BIGINT |
Obrigatório. O segundo operando. |
Valor de retorno
BIGINT.
Exemplo
-- 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 (o overflow aciona um erro):
ERROR: internal error: Run func: spark_checked_multiply fails with Exception: VeloxUserError
CHECKED_SUBTRACT
Subtrai y de x. Gera um erro se o resultado causar overflow, em vez de ajustar o valor silenciosamente.
Sintaxe
CHECKED_SUBTRACT(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BIGINT |
Obrigatório. O minuendo. |
|
|
BIGINT |
Obrigatório. O subtraendo. |
Valor de retorno
BIGINT.
Exemplo
-- 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 (o overflow aciona um erro):
ERROR: internal error: Run func: spark_checked_subtract fails with Exception: VeloxUserError
CONTAINS
Verifica se a string x contém a string y. Retorna true se contiver, caso contrário retorna false.
Sintaxe
CONTAINS(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
TEXT |
Obrigatório. A string onde buscar. |
|
|
TEXT |
Obrigatório. A substring a buscar. |
Valor de retorno
BOOLEAN.
Exemplo
-- 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
Converte uma string numérica de uma base para outra.
Sintaxe
CONV(x, n, m)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
TEXT |
Obrigatório. O número a converter, representado como string. |
|
|
INTEGER |
Obrigatório. A base de origem (por exemplo, |
|
|
INTEGER |
Obrigatório. A base de destino. |
Valor de retorno
TEXT.
Exemplo
-- 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 (converte 3 da base 10 para a base 2):
conv
------
11
COSH
Retorna o cosseno hiperbólico de x.
Sintaxe
COSH(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
DOUBLE PRECISION |
Obrigatório. O valor de entrada. |
Valor de retorno
DOUBLE PRECISION.
Exemplo
-- 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
Retorna o valor de hash CRC32 (verificação de redundância cíclica de 32 bits) de uma string binária.
Sintaxe
CRC32(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BYTEA |
Obrigatório. A string binária para gerar o hash. |
Valor de retorno
BIGINT.
Exemplo
-- 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
Retorna a cossecante de x.
Sintaxe
CSC(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
DOUBLE PRECISION |
Obrigatório. O valor de entrada em radianos. |
Valor de retorno
DOUBLE PRECISION.
Exemplo
-- 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
Verifica se a string x termina com a string y. Retorna true se terminar, caso contrário retorna false.
Sintaxe
ENDSWITH(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
TEXT |
Obrigatório. A string a verificar. |
|
|
TEXT |
Obrigatório. O sufixo a buscar. |
Valor de retorno
BOOLEAN.
Exemplo
-- 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
Retorna exp(x) - 1, onde exp(x) é o número de Euler elevado à potência x.
Sintaxe
EXPM1(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
DOUBLE PRECISION |
Obrigatório. O expoente. |
Valor de retorno
DOUBLE PRECISION.
Exemplo
-- 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
Retorna a posição (base 1) da string x na lista separada por vírgulas y. Retorna 0 se x não for encontrada.
Sintaxe
FIND_IN_SET(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
TEXT |
Obrigatório. A string a buscar. |
|
|
TEXT |
Obrigatório. Uma lista de strings separadas por vírgulas. |
Valor de retorno
INTEGER.
Exemplo
-- 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
Converte um timestamp Unix (segundos desde 1970-01-01 00:00:00 UTC) em uma string de timestamp formatada.
Sintaxe
FROM_UNIXTIME(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BIGINT |
Obrigatório. O número de segundos decorridos desde a época UNIX (1970-01-01 00:00:00 UTC). |
|
|
TEXT |
Obrigatório. A string de formato de saída. Usa a sintaxe de padrão de data e hora do Spark (por exemplo, |
Valor de retorno
TEXT.
Exemplo
-- 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
Converte um número para sua representação em string hexadecimal.
Sintaxe
HEX(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BIGINT |
Obrigatório. O número a converter. |
Valor de retorno
TEXT.
Exemplo
-- 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
Retorna o comprimento da hipotenusa de um triângulo retângulo com catetos x e y, calculado como sqrt(x² + y²).
Sintaxe
HYPOT(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
DOUBLE PRECISION |
Obrigatório. O primeiro cateto. |
|
|
DOUBLE PRECISION |
Obrigatório. O segundo cateto. |
Valor de retorno
DOUBLE PRECISION.
Exemplo
-- 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
Verifica se o valor x existe no array y. Retorna true se encontrado, caso contrário retorna false.
Sintaxe
IN(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BIGINT |
Obrigatório. O valor a buscar. |
|
|
BIGINT[] |
Obrigatório. O array onde buscar. |
Valor de retorno
BOOLEAN.
Exemplo
SELECT hg_spark_funcs.IN(a, ARRAY[2,5,3]) FROM public.spark_test;
Resultado:
in
----
t
ISNAN
Verifica se x é NaN (Not a Number). Retorna true se for NaN, caso contrário retorna false.
Sintaxe
ISNAN(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
DOUBLE PRECISION |
Obrigatório. O valor a verificar. |
Valor de retorno
BOOLEAN.
Exemplo
-- 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
Retorna a distância Levenshtein (distância de edição) entre as strings x e y — o número mínimo de inserções, exclusões ou substituições de caractere único necessárias para transformar uma string na outra.
Sintaxe
LEVENSHTEIN(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
TEXT |
Obrigatório. A primeira string. |
|
|
TEXT |
Obrigatório. A segunda string. |
Valor de retorno
INTEGER.
Exemplo
-- 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
Retorna o logaritmo de x na base 10.
Sintaxe
LOG10(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
DOUBLE PRECISION |
Obrigatório. O valor de entrada. |
Valor de retorno
DOUBLE PRECISION.
Exemplo
-- 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
Retorna o logaritmo natural de x + 1.
Sintaxe
LOG1P(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
DOUBLE PRECISION |
Obrigatório. O valor de entrada. |
Valor de retorno
DOUBLE PRECISION.
Exemplo
-- 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
Retorna o logaritmo de x na base 2.
Sintaxe
LOG2(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
DOUBLE PRECISION |
Obrigatório. O valor de entrada. |
Valor de retorno
DOUBLE PRECISION.
Exemplo
-- 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
Verifica se o valor y pode existir no filtro Bloom serializado como x. Retorna true se o valor puder estar presente (possível falso positivo), ou false se estiver definitivamente ausente.
Sintaxe
MIGHT_CONTAIN(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BYTEA |
Obrigatório. Os bytes serializados de um filtro Bloom. |
|
|
BIGINT |
Obrigatório. O valor a consultar no filtro Bloom. |
Valor de retorno
BOOLEAN.
Exemplo
-- 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
Gera inteiros de 64 bits únicos e monotonicamente crescentes. Os IDs gerados são garantidamente monotonicamente crescentes e únicos entre linhas, mas não são consecutivos.
Sintaxe
MONOTONICALLY_INCREASING_ID()
Valor de retorno
BIGINT.
Exemplo
-- 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
Retorna o resto positivo da divisão de x por y. Diferentemente do operador módulo padrão, o resultado é sempre não negativo.
Sintaxe
PMOD(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BIGINT |
Obrigatório. O dividendo. |
|
|
BIGINT |
Obrigatório. O divisor. |
Valor de retorno
BIGINT.
Exemplo
-- 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
Retorna o resto da divisão de x por y.
Sintaxe
REMAINDER(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BIGINT |
Obrigatório. O dividendo. |
|
|
BIGINT |
Obrigatório. O divisor. |
Valor de retorno
BIGINT.
Exemplo
-- 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
Retorna o inteiro mais próximo de x.
Sintaxe
RINT(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
DOUBLE PRECISION |
Obrigatório. O valor de entrada. |
Valor de retorno
DOUBLE PRECISION.
Exemplo
-- 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
Retorna a secante de x (o inverso do cosseno).
Sintaxe
SEC(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
DOUBLE PRECISION |
Obrigatório. O valor de entrada em radianos. |
Valor de retorno
DOUBLE PRECISION.
Exemplo
-- 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
Retorna o hash SHA-1 (Secure Hash Algorithm 1) da string binária x como uma string hexadecimal.
Sintaxe
SHA1(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BYTEA |
Obrigatório. A string binária para gerar o hash. |
Valor de retorno
TEXT.
Exemplo
-- 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
Retorna o hash SHA-2 da string binária x como uma string hexadecimal. Retorna NULL para comprimentos de bits não suportados.
Sintaxe
SHA2(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BYTEA |
Obrigatório. A string binária para gerar o hash. |
|
|
INTEGER |
Obrigatório. O comprimento de bits do hash. Valores suportados: |
Valor de retorno
TEXT.
Exemplo
-- 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
Desloca x para a esquerda em y bits.
Sintaxe
SHIFTLEFT(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BIGINT |
Obrigatório. O valor a deslocar. |
|
|
INTEGER |
Obrigatório. O número de posições de bit para deslocar à esquerda. |
Valor de retorno
BIGINT.
Exemplo
-- 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
Desloca x para a direita em y bits.
Sintaxe
SHIFTRIGHT(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
BIGINT |
Obrigatório. O valor a deslocar. |
|
|
INTEGER |
Obrigatório. O número de posições de bit para deslocar à direita. |
Valor de retorno
BIGINT.
Exemplo
-- 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
Retorna o seno hiperbólico de x.
Sintaxe
SINH(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
DOUBLE PRECISION |
Obrigatório. O valor de entrada. |
Valor de retorno
DOUBLE PRECISION.
Exemplo
-- 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
Retorna o código Soundex da string x. O algoritmo Soundex mapeia palavras em inglês foneticamente semelhantes para o mesmo código, sendo útil para correspondência aproximada de nomes.
Sintaxe
SOUNDEX(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
TEXT |
Obrigatório. A string de entrada. |
Valor de retorno
TEXT.
Exemplo
-- 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
Verifica se a string x começa com a string y. Retorna true se começar, caso contrário retorna false.
Sintaxe
STARTSWITH(x, y)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
TEXT |
Obrigatório. A string a verificar. |
|
|
TEXT |
Obrigatório. O prefixo a buscar. |
Valor de retorno
BOOLEAN.
Exemplo
-- 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
Retorna a substring de x anterior à n-ésima ocorrência do separador y. Se n for positivo, retorna tudo à esquerda do n-ésimo delimitador.
Sintaxe
SUBSTRING_INDEX(x, y, n)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
TEXT |
Obrigatório. A string de origem. |
|
|
TEXT |
Obrigatório. O separador a buscar. |
|
|
INTEGER |
Obrigatório. A contagem de ocorrências. Valores positivos contam a partir da esquerda. |
Valor de retorno
TEXT.
Exemplo
-- 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 (retorna a substring anterior ao 2º 'o' em '3hologres'):
substring_index
-----------------
3hol
UNHEX
Converte uma string hexadecimal em sua representação binária.
Sintaxe
UNHEX(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
TEXT |
Obrigatório. A string hexadecimal a converter. |
Valor de retorno
TEXT.
Exemplo
-- 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 uma string codificada por URL substituindo sequências codificadas por porcentagem pelos caracteres correspondentes.
Sintaxe
URL_DECODE(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
VARCHAR |
Obrigatório. A string codificada por URL a decodificar. |
Valor de retorno
VARCHAR.
Exemplo
-- 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 uma string em formato seguro para URL substituindo caracteres especiais por sequências codificadas por porcentagem.
Sintaxe
URL_ENCODE(x)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
VARCHAR |
Obrigatório. A string a codificar. |
Valor de retorno
VARCHAR.
Exemplo
-- 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