Todos os produtos
Search
Central de documentação

Hologres:Funções Spark

Última atualização: Jun 28, 2026

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

ACOSH

Retorna o cosseno hiperbólico inverso.

ASINH

Retorna o seno hiperbólico inverso.

ATANH

Retorna a tangente hiperbólica inversa.

BETWEEN

Verifica se um valor está dentro de um intervalo especificado.

BIN

Converte um número para sua representação em string binária.

BIT_COUNT

Retorna a quantidade de bits 1 na representação binária de um número.

BITWISE_AND

Executa uma operação AND bit a bit.

BITWISE_NOT

Executa uma operação NOT bit a bit.

BITWISE_OR

Executa uma operação OR bit a bit.

BITWISE_XOR

Executa uma operação XOR bit a bit.

CHECKED_ADD

Soma dois números e gera um erro em caso de overflow.

CHECKED_DIVIDE

Divide dois números e gera um erro em caso de overflow.

CHECKED_MULTIPLY

Multiplica dois números e gera um erro em caso de overflow.

CHECKED_SUBTRACT

Subtrai dois números e gera um erro em caso de overflow.

CONTAINS

Verifica se a string x contém a string y.

CONV

Converte uma string numérica de uma base para outra.

COSH

Retorna o cosseno hiperbólico.

CRC32

Retorna o valor de hash CRC32 (verificação de redundância cíclica de 32 bits).

CSC

Retorna a cossecante.

ENDSWITH

Verifica se a string x termina com a string y.

EXPM1

Retorna exp(x) - 1.

FIND_IN_SET

Retorna a posição (base 1) de uma string em uma lista separada por vírgulas.

FROM_UNIXTIME

Converte segundos desde a época UNIX em uma string de timestamp formatada.

HEX

Converte um número para sua representação em string hexadecimal.

HYPOT

Retorna a raiz quadrada da soma dos quadrados de dois valores.

IN

Verifica se um valor existe em um array.

ISNAN

Verifica se um valor é NaN (Not a Number).

LEVENSHTEIN

Retorna a distância Levenshtein (distância de edição) entre duas strings.

LOG10

Retorna o logaritmo na base 10.

LOG1P

Retorna o logaritmo natural de x + 1.

LOG2

Retorna o logaritmo na base 2.

MIGHT_CONTAIN

Verifica se um valor pode existir em um filtro Bloom.

MONOTONICALLY_INCREASING_ID

Gera inteiros de 64 bits únicos e monotonicamente crescentes.

PMOD

Retorna o resto positivo da divisão de x por y.

REMAINDER

Retorna o resto da divisão de x por y.

RINT

Retorna o inteiro mais próximo de um valor.

SEC

Retorna a secante.

SHA1

Retorna o hash SHA-1 como uma string hexadecimal.

SHA2

Retorna o hash SHA-2 (SHA-224, SHA-256, SHA-384 ou SHA-512) como uma string hexadecimal.

SHIFTLEFT

Executa um deslocamento bit a bit para a esquerda.

SHIFTRIGHT

Executa um deslocamento bit a bit para a direita.

SINH

Retorna o seno hiperbólico.

SOUNDEX

Retorna o código Soundex de uma string.

STARTSWITH

Verifica se a string x começa com a string y.

SUBSTRING_INDEX

Retorna a substring anterior à n-ésima ocorrência de um separador.

UNHEX

Converte uma string hexadecimal em sua representação binária.

URL_DECODE

Decodifica uma string codificada por URL.

URL_ENCODE

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

x

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

x

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

x

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 prefixo hg_spark_funcs. ao chamar esta função.

Sintaxe

hg_spark_funcs.BETWEEN(x, min, max)

Parâmetros

Parâmetro

Tipo

Descrição

x

BIGINT

Obrigatório. O valor a verificar.

min

BIGINT

Obrigatório. O limite inferior do intervalo (inclusivo).

max

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

x

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

x

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

x

INTEGER

Obrigatório. O primeiro operando.

y

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

x

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

x

BIGINT

Obrigatório. O primeiro operando.

y

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

x

INTEGER

Obrigatório. O primeiro operando.

y

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

x

BIGINT

Obrigatório. O primeiro operando.

y

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

x

BIGINT

Obrigatório. O dividendo.

y

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

x

BIGINT

Obrigatório. O primeiro operando.

y

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

x

BIGINT

Obrigatório. O minuendo.

y

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

x

TEXT

Obrigatório. A string onde buscar.

y

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

x

TEXT

Obrigatório. O número a converter, representado como string.

n

INTEGER

Obrigatório. A base de origem (por exemplo, 10 para decimal, 2 para binário).

m

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

x

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

x

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

x

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

x

TEXT

Obrigatório. A string a verificar.

y

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

x

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

x

TEXT

Obrigatório. A string a buscar.

y

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

x

BIGINT

Obrigatório. O número de segundos decorridos desde a época UNIX (1970-01-01 00:00:00 UTC).

y

TEXT

Obrigatório. A string de formato de saída. Usa a sintaxe de padrão de data e hora do Spark (por exemplo, 'yyyy-MM-dd HH:mm:ss').

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

x

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

x

DOUBLE PRECISION

Obrigatório. O primeiro cateto.

y

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

x

BIGINT

Obrigatório. O valor a buscar.

y

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

x

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

x

TEXT

Obrigatório. A primeira string.

y

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

x

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

x

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

x

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

x

BYTEA

Obrigatório. Os bytes serializados de um filtro Bloom.

y

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

x

BIGINT

Obrigatório. O dividendo.

y

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

x

BIGINT

Obrigatório. O dividendo.

y

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

x

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

x

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

x

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

x

BYTEA

Obrigatório. A string binária para gerar o hash.

y

INTEGER

Obrigatório. O comprimento de bits do hash. Valores suportados: 224, 256, 384, 512. Retorna NULL para qualquer outro valor.

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

x

BIGINT

Obrigatório. O valor a deslocar.

y

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

x

BIGINT

Obrigatório. O valor a deslocar.

y

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

x

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

x

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

x

TEXT

Obrigatório. A string a verificar.

y

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

x

TEXT

Obrigatório. A string de origem.

y

TEXT

Obrigatório. O separador a buscar.

n

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

x

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

x

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

x

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