À partir de la version V3.1, Hologres prend en charge les fonctions compatibles avec Spark via l'extension hg_spark_funcs. Cette rubrique répertorie toutes les fonctions prises en charge, ainsi que leur syntaxe, leurs paramètres, leurs types de retour et des exemples d'utilisation.
Prérequis
Avant d'appeler une fonction, installez l'extension hg_spark_funcs en tant que Superuser. Exécutez l'instruction suivante une fois par base de données ; répétez l'opération pour chaque nouvelle base de données créée.
CREATE extension hg_spark_funcs;
L'extension ne peut être créée que dans le schéma hg_spark_funcs . Il n'est pas possible de spécifier un autre schéma.
Appeler des fonctions
Toutes les fonctions résident dans le schéma hg_spark_funcs. Utilisez l'une des deux méthodes ci-dessous.
Méthode 1 — Préfixe de schéma explicite (recommandée)
Préfixez le nom de la fonction par hg_spark_funcs. :
SELECT hg_spark_funcs.ACOSH(a) FROM public.spark_test;
Méthode 2 — Définir le chemin de recherche
Ajoutez hg_spark_funcs au chemin de recherche de la session, puis appelez les fonctions sans préfixe :
-- Set the search path for this session
SET search_path = 'hg_spark_funcs';
-- Call the function directly
SELECT ACOSH(a) FROM public.spark_test;
Pour consulter la spécification complète des fonctions Spark, reportez-vous à la page Fonctions Spark.
Données d'exemple
Tous les exemples de cette rubrique s'appuient sur la table suivante. Le paramètre x n'accepte pas les valeurs constantes ; il doit provenir d'une colonne.
CREATE TABLE public.spark_test(a INT);
INSERT INTO public.spark_test VALUES (3);
Fonctions prises en charge
| Fonction | Description |
|---|---|
| ACOSH | Renvoie le cosinus hyperbolique inverse. |
| ASINH | Renvoie le sinus hyperbolique inverse. |
| ATANH | Renvoie la tangente hyperbolique inverse. |
| BETWEEN | Vérifie si une valeur se situe dans une plage spécifiée. |
| BIN | Convertit un nombre en sa représentation sous forme de chaîne binaire. |
| BIT_COUNT | Renvoie le nombre de bits à 1 dans la représentation binaire d'un nombre. |
| BITWISE_AND | Effectue une opération AND bit à bit. |
| BITWISE_NOT | Effectue une opération NOT bit à bit. |
| BITWISE_OR | Effectue une opération OR bit à bit. |
| BITWISE_XOR | Effectue une opération XOR bit à bit. |
| CHECKED_ADD | Additionne deux nombres et génère une erreur en cas de dépassement de capacité. |
| CHECKED_DIVIDE | Divise deux nombres et génère une erreur en cas de dépassement de capacité. |
| CHECKED_MULTIPLY | Multiplie deux nombres et génère une erreur en cas de dépassement de capacité. |
| CHECKED_SUBTRACT | Soustrait deux nombres et génère une erreur en cas de dépassement de capacité. |
| CONTAINS | Vérifie si la chaîne x contient la chaîne y. |
| CONV | Convertit une chaîne numérique d'une base à une autre. |
| COSH | Renvoie le cosinus hyperbolique. |
| CRC32 | Renvoie la valeur de hachage CRC32 (contrôle de redondance cyclique 32 bits). |
| CSC | Renvoie la cosécante. |
| ENDSWITH | Vérifie si la chaîne x se termine par la chaîne y. |
| EXPM1 | Renvoie exp(x) - 1. |
| FIND_IN_SET | Renvoie la position (indexée à partir de 1) d'une chaîne dans une liste séparée par des virgules. |
| FROM_UNIXTIME | Convertit le nombre de secondes écoulées depuis l'époque UNIX en une chaîne d'horodatage formatée. |
| HEX | Convertit un nombre en sa représentation sous forme de chaîne hexadécimale. |
| HYPOT | Renvoie la racine carrée de la somme des carrés de deux valeurs. |
| IN | Vérifie si une valeur existe dans un tableau. |
| ISNAN | Vérifie si une valeur est NaN (Not a Number). |
| LEVENSHTEIN | Renvoie la distance de Levenshtein (distance d'édition) entre deux chaînes. |
| LOG10 | Renvoie le logarithme en base 10. |
| LOG1P | Renvoie le logarithme naturel de x + 1. |
| LOG2 | Renvoie le logarithme en base 2. |
| MIGHT_CONTAIN | Vérifie si une valeur pourrait exister dans un filtre de Bloom. |
| MONOTONICALLY_INCREASING_ID | Génère des entiers 64 bits uniques et strictement croissants. |
| PMOD | Renvoie le reste positif de la division de x par y. |
| REMAINDER | Renvoie le reste de la division de x par y. |
| RINT | Renvoie l'entier le plus proche d'une valeur. |
| SEC | Renvoie la sécante. |
| SHA1 | Renvoie le hachage SHA-1 sous forme de chaîne hexadécimale. |
| SHA2 | Renvoie le hachage SHA-2 (SHA-224, SHA-256, SHA-384 ou SHA-512) sous forme de chaîne hexadécimale. |
| SHIFTLEFT | Effectue un décalage binaire vers la gauche. |
| SHIFTRIGHT | Effectue un décalage binaire vers la droite. |
| SINH | Renvoie le sinus hyperbolique. |
| SOUNDEX | Renvoie le code Soundex d'une chaîne. |
| STARTSWITH | Vérifie si la chaîne x commence par la chaîne y. |
| SUBSTRING_INDEX | Renvoie la sous-chaîne précédant la nième occurrence d'un séparateur. |
| UNHEX | Convertit une chaîne hexadécimale en sa représentation binaire. |
| URL_DECODE | Décode une chaîne encodée au format URL. |
| URL_ENCODE | Encode une chaîne dans un format compatible avec les URL. |
Référence des fonctions
ACOSH
Renvoie le cosinus hyperbolique inverse de x.
Syntaxe
ACOSH(x)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
x |
DOUBLE PRECISION | Obligatoire. La valeur d'entrée. |
Valeur de retour
DOUBLE PRECISION.
Exemple
-- 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;
Résultat :
acosh
------------------
1.762747174039086
ASINH
Renvoie le sinus hyperbolique inverse de x.
Syntaxe
ASINH(x)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
x |
DOUBLE PRECISION | Obligatoire. La valeur d'entrée. |
Valeur de retour
DOUBLE PRECISION.
Exemple
-- 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;
Résultat :
asinh
------------------
1.8184464592320668
ATANH
Renvoie la tangente hyperbolique inverse de x.
Syntaxe
ATANH(x)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
x |
DOUBLE PRECISION | Obligatoire. La valeur d'entrée. |
Valeur de retour
DOUBLE PRECISION.
Exemple
-- 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;
Résultat :
atanh
-------
NaN
BETWEEN
Vérifie si x se trouve dans l'intervalle fermé [min, max]. Renvoie true si min <= x <= max, sinon false.
BETWEENest un mot-clé Hologres. Utilisez toujours le préfixehg_spark_funcs.lors de l'appel de cette fonction.
Syntaxe
hg_spark_funcs.BETWEEN(x, min, max)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
x |
BIGINT | Obligatoire. La valeur à vérifier. |
min |
BIGINT | Obligatoire. La borne inférieure de la plage (inclusive). |
max |
BIGINT | Obligatoire. La borne supérieure de la plage (inclusive). |
Valeur de retour
BOOLEAN.
Exemple
SELECT hg_spark_funcs.BETWEEN(a, 2, 4) FROM public.spark_test;
Résultat :
between
---------
t
BIN
Convertit un nombre en sa représentation sous forme de chaîne binaire.
Syntaxe
BIN(x)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
x |
BIGINT | Obligatoire. Le nombre à convertir. |
Valeur de retour
TEXT.
Exemple
-- 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;
Résultat :
bin
-----
11
BIT_COUNT
Renvoie le nombre de bits à 1 dans la représentation binaire d'un nombre.
Syntaxe
BIT_COUNT(x)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
x |
BIGINT | Obligatoire. Le nombre d'entrée. |
Valeur de retour
INTEGER.
Exemple
-- 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;
Résultat (3 en binaire correspond à 11, soit deux bits à 1) :
bit_count
-----------
2
BITWISE_AND
Effectue une opération AND bit à bit sur x et y.
Syntaxe
BITWISE_AND(x, y)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
x |
INTEGER | Obligatoire. Le premier opérande. |
y |
INTEGER | Obligatoire. Le second opérande. |
Valeur de retour
INTEGER.
Exemple
-- 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;
Résultat :
bitwise_and
-------------
2
BITWISE_NOT
Effectue une opération NOT bit à bit sur x.
Syntaxe
BITWISE_NOT(x)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
x |
BIGINT | Obligatoire. La valeur d'entrée. |
Valeur de retour
BIGINT.
Exemple
-- 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;
Résultat :
bitwise_not
-------------
-4
BITWISE_OR
Effectue un OU binaire sur les valeurs de x et de y.
Syntaxe
BITWISE_OR(x, y)
Paramètres
| Parameter | Type | Description |
|---|---|---|
x |
BIGINT | Obligatoire. Premier opérande. |
y |
BIGINT | Obligatoire. Second opérande. |
Valeur de retour
BIGINT.
Exemple
-- 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;
Résultat :
bitwise_or
------------
3
BITWISE_XOR
Effectue un OU exclusif (XOR) binaire sur les valeurs de x et de y.
Syntaxe
BITWISE_XOR(x, y)
Paramètres
| Parameter | Type | Description |
|---|---|---|
x |
INTEGER | Obligatoire. Premier opérande. |
y |
INTEGER | Obligatoire. Second opérande. |
Valeur de retour
INTEGER.
Exemple
-- 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;
Résultat :
bitwise_xor
-------------
1
CHECKED_ADD
Ajoute les valeurs de x et de y. En cas de dépassement de capacité (overflow), une erreur est générée au lieu d'un simple retour à la valeur minimale (wrapping).
Syntaxe
CHECKED_ADD(x, y)
Paramètres
| Parameter | Type | Description |
|---|---|---|
x |
BIGINT | Obligatoire. Premier opérande. |
y |
BIGINT | Obligatoire. Second opérande. |
Valeur de retour
BIGINT.
Exemple
-- 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;
Résultat (le dépassement de capacité déclenche une erreur) :
ERROR: internal error: Run func: spark_checked_add fails with Exception: VeloxUserError
CHECKED_DIVIDE
Divise la valeur de x par celle de y. En cas de dépassement de capacité, une erreur est générée au lieu d'un simple retour à la valeur minimale.
Syntaxe
CHECKED_DIVIDE(x, y)
Paramètres
| Parameter | Type | Description |
|---|---|---|
x |
BIGINT | Obligatoire. Dividende. |
y |
BIGINT | Obligatoire. Diviseur. |
Valeur de retour
BIGINT.
Exemple
-- 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;
Résultat (le dépassement de capacité déclenche une erreur) :
ERROR: internal error: Run func: spark_checked_divide fails with Exception: VeloxUserError
CHECKED_MULTIPLY
Multiplie les valeurs de x et de y. En cas de dépassement de capacité, une erreur est générée au lieu d'un simple retour à la valeur minimale.
Syntaxe
CHECKED_MULTIPLY(x, y)
Paramètres
| Parameter | Type | Description |
|---|---|---|
x |
BIGINT | Obligatoire. Premier opérande. |
y |
BIGINT | Obligatoire. Second opérande. |
Valeur de retour
BIGINT.
Exemple
-- 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;
Résultat (le dépassement de capacité déclenche une erreur) :
ERROR: internal error: Run func: spark_checked_multiply fails with Exception: VeloxUserError
CHECKED_SUBTRACT
Soustrait la valeur de y de celle de x. En cas de dépassement de capacité, une erreur est générée au lieu d'un simple retour à la valeur minimale.
Syntaxe
CHECKED_SUBTRACT(x, y)
Paramètres
| Parameter | Type | Description |
|---|---|---|
x |
BIGINT | Obligatoire. Diminuende. |
y |
BIGINT | Obligatoire. Soustrayant. |
Valeur de retour
BIGINT.
Exemple
-- 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;
Résultat (le dépassement de capacité déclenche une erreur) :
ERROR: internal error: Run func: spark_checked_subtract fails with Exception: VeloxUserError
CONTAINS
Vérifie si la chaîne de caractères x contient la chaîne y. Renvoie true si c'est le cas, sinon false.
Syntaxe
CONTAINS(x, y)
Paramètres
| Parameter | Type | Description |
|---|---|---|
x |
TEXT | Obligatoire. Chaîne dans laquelle effectuer la recherche. |
y |
TEXT | Obligatoire. Sous-chaîne à rechercher. |
Valeur de retour
BOOLEAN.
Exemple
-- 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;
Résultat :
contains
----------
t
CONV
Convertit une chaîne numérique d'une base vers une autre.
Syntaxe
CONV(x, n, m)
Paramètres
| Parameter | Type | Description |
|---|---|---|
x |
TEXT | Obligatoire. Nombre à convertir, représenté sous forme de chaîne. |
n |
INTEGER | Obligatoire. Base source (par exemple, 10 pour le décimal, 2 pour le binaire). |
m |
INTEGER | Obligatoire. Base cible. |
Valeur de retour
TEXT.
Exemple
-- 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;
Résultat (convertit la valeur 3 de la base 10 vers la base 2) :
conv
------
11
COSH
Renvoie le cosinus hyperbolique de x.
Syntaxe
COSH(x)
Paramètres
| Parameter | Type | Description |
|---|---|---|
x |
DOUBLE PRECISION | Obligatoire. Valeur d'entrée. |
Valeur de retour
DOUBLE PRECISION.
Exemple
-- 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;
Résultat :
cosh
------------------
10.0676619957778
CRC32
Renvoie la valeur de hachage CRC32 (contrôle de redondance cyclique 32 bits) d'une chaîne binaire.
Syntaxe
CRC32(x)
Paramètres
| Parameter | Type | Description |
|---|---|---|
x |
BYTEA | Obligatoire. Chaîne binaire à hacher. |
Valeur de retour
BIGINT.
Exemple
-- 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;
Résultat :
crc32
------------
3596227959
CSC
Renvoie la cosécante de x.
Syntaxe
CSC(x)
Paramètres
| Parameter | Type | Description |
|---|---|---|
x |
DOUBLE PRECISION | Obligatoire. Valeur d'entrée en radians. |
Valeur de retour
DOUBLE PRECISION.
Exemple
-- 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;
Résultat :
csc
------------------
7.08616739573719
ENDSWITH
Vérifie si la chaîne de caractères x se termine par la chaîne y. Renvoie true si c'est le cas, sinon false.
Syntaxe
ENDSWITH(x, y)
Paramètres
| Parameter | Type | Description |
|---|---|---|
x |
TEXT | Obligatoire. Chaîne à vérifier. |
y |
TEXT | Obligatoire. Suffixe à rechercher. |
Valeur de retour
BOOLEAN.
Exemple
-- 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;
Résultat :
endswith
----------
t
EXPM1
Renvoie exp(x) - 1, où exp(x) correspond au nombre d'Euler élevé à la puissance x.
Syntaxe
EXPM1(x)
Paramètres
| Parameter | Type | Description |
|---|---|---|
x |
DOUBLE PRECISION | Obligatoire. Exposant. |
Valeur de retour
DOUBLE PRECISION.
Exemple
-- 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;
Résultat :
expm1
------------------
19.0855369231877
FIND_IN_SET
Renvoie la position (indexée à partir de 1) de la chaîne x au sein de la liste séparée par des virgules y. Renvoie 0 si x n'est pas trouvé.
Syntaxe
FIND_IN_SET(x, y)
Paramètres
| Parameter | Type | Description |
|---|---|---|
x |
TEXT | Obligatoire. Chaîne à rechercher. |
y |
TEXT | Obligatoire. Liste de chaînes séparées par des virgules. |
Valeur de retour
INTEGER.
Exemple
-- 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;
Résultat :
find_in_set
-------------
4
FROM_UNIXTIME
Convertit un horodatage Unix (nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC) en une chaîne d'horodatage formatée.
Syntaxe
FROM_UNIXTIME(x, y)
Paramètres
| Parameter | Type | Description |
|---|---|---|
x |
BIGINT | Obligatoire. Nombre de secondes écoulées depuis l'époque UNIX (1er janvier 1970 à 00:00:00 UTC). |
y |
TEXT | Obligatoire. Chaîne de format de sortie. Utilise la syntaxe des modèles de date et heure de Spark (par exemple, 'yyyy-MM-dd HH:mm:ss'). |
Valeur de retour
TEXT.
Exemple
-- 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;
Résultat :
from_unixtime
---------------------
1970-01-01 00:00:03
HEX
Convertit un nombre en sa représentation sous forme de chaîne hexadécimale.
Syntaxe
HEX(x)
Paramètres
| Paramètre | Type | description |
|---|---|---|
x |
BIGINT | Obligatoire. Nombre à convertir. |
Valeur renvoyée
TEXT.
Exemple
-- 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;
Résultat :
hex
-----
3
HYPOT
Renvoie la longueur de l'hypoténuse d'un triangle rectangle dont les côtés adjacents à l'angle droit sont x et y, calculée selon la formule sqrt(x² + y²).
Syntaxe
HYPOT(x, y)
Paramètres
| Paramètre | Type | description |
|---|---|---|
x |
DOUBLE PRECISION | Obligatoire. Premier côté adjacent. |
y |
DOUBLE PRECISION | Obligatoire. Deuxième côté adjacent. |
Valeur renvoyée
DOUBLE PRECISION.
Exemple
-- 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;
Résultat (hypot(3, 4) = 5) :
hypot
-------
5
IN
Vérifie si la valeur x existe dans le tableau y. Renvoie true si la valeur est trouvée, sinon false.
Syntaxe
IN(x, y)
Paramètres
| Paramètre | Type | description |
|---|---|---|
x |
BIGINT | Obligatoire. Valeur à rechercher. |
y |
BIGINT[] | Obligatoire. Tableau dans lequel effectuer la recherche. |
Valeur renvoyée
BOOLEAN.
Exemple
SELECT hg_spark_funcs.IN(a, ARRAY[2,5,3]) FROM public.spark_test;
Résultat :
in
----
t
ISNAN
Vérifie si x correspond à la valeur NaN (Not a Number). Renvoie true si c'est le cas, sinon false.
Syntaxe
ISNAN(x)
Paramètres
| Paramètre | Type | description |
|---|---|---|
x |
DOUBLE PRECISION | Obligatoire. Valeur à vérifier. |
Valeur renvoyée
BOOLEAN.
Exemple
-- 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;
Résultat :
isnan
-------
f
LEVENSHTEIN
Renvoie la distance de Levenshtein (distance d'édition) entre les chaînes x et y ; il s'agit du nombre minimal d'insertions, de suppressions ou de substitutions de caractères uniques nécessaires pour transformer une chaîne en l'autre.
Syntaxe
LEVENSHTEIN(x, y)
Paramètres
| Paramètre | Type | description |
|---|---|---|
x |
TEXT | Obligatoire. Première chaîne. |
y |
TEXT | Obligatoire. Deuxième chaîne. |
Valeur renvoyée
INTEGER.
Exemple
-- 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;
Résultat :
levenshtein
-------------
8
LOG10
Renvoie le logarithme décimal (base 10) de x.
Syntaxe
LOG10(x)
Paramètres
| Paramètre | Type | description |
|---|---|---|
x |
DOUBLE PRECISION | Obligatoire. Valeur d'entrée. |
Valeur renvoyée
DOUBLE PRECISION.
Exemple
-- 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;
Résultat :
log10
-------------------
0.477121254719662
LOG1P
Renvoie le logarithme naturel de x + 1.
Syntaxe
LOG1P(x)
Paramètres
| Paramètre | Type | description |
|---|---|---|
x |
DOUBLE PRECISION | Obligatoire. Valeur d'entrée. |
Valeur renvoyée
DOUBLE PRECISION.
Exemple
-- 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;
Résultat :
log1p
------------------
1.38629436111989
LOG2
Renvoie le logarithme binaire (base 2) de x.
Syntaxe
LOG2(x)
Paramètres
| Paramètre | Type | description |
|---|---|---|
x |
DOUBLE PRECISION | Obligatoire. Valeur d'entrée. |
Valeur renvoyée
DOUBLE PRECISION.
Exemple
-- 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;
Résultat :
log2
------------------
1.58496250072116
MIGHT_CONTAIN
Vérifie si la valeur y pourrait exister dans le filtre de Bloom sérialisé sous la forme x. Renvoie true si la valeur est potentiellement présente (avec un risque de faux positif), ou false si elle est absente avec certitude.
Syntaxe
MIGHT_CONTAIN(x, y)
Paramètres
| Paramètre | Type | description |
|---|---|---|
x |
BYTEA | Obligatoire. Octets sérialisés d'un filtre de Bloom. |
y |
BIGINT | Obligatoire. Valeur à rechercher dans le filtre de Bloom. |
Valeur renvoyée
BOOLEAN.
Exemple
-- 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;
Résultat :
might_contain
---------------
f
MONOTONICALLY_INCREASING_ID
Génère des entiers 64 bits uniques qui augmentent de manière monotone. Les ID générés sont garantis comme étant uniques et croissants d'une ligne à l'autre, mais ne sont pas consécutifs.
Syntaxe
MONOTONICALLY_INCREASING_ID()
Valeur renvoyée
BIGINT.
Exemple
-- 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;
Résultat :
monotonically_increasing_id
-----------------------------
0
PMOD
Renvoie le reste positif de la division de x par y. Contrairement à l'opérateur modulo standard, le résultat est toujours non négatif.
Syntaxe
PMOD(x, y)
Paramètres
| Paramètre | Type | description |
|---|---|---|
x |
BIGINT | Obligatoire. Dividende. |
y |
BIGINT | Obligatoire. Diviseur. |
Valeur renvoyée
BIGINT.
Exemple
-- 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;
Résultat :
pmod
------
1
REMAINDER
Renvoie le reste de la division de x par y.
Syntaxe
REMAINDER(x, y)
Paramètres
| Paramètre | Type | description |
|---|---|---|
x |
BIGINT | Obligatoire. Dividende. |
y |
BIGINT | Obligatoire. Diviseur. |
Valeur renvoyée
BIGINT.
Exemple
-- 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;
Résultat :
remainder
-----------
1
RINT
Renvoie l'entier le plus proche de x.
Syntaxe
RINT(x)
Paramètres
| Paramètre | Type | description |
|---|---|---|
x |
DOUBLE PRECISION | Obligatoire. Valeur d'entrée. |
Valeur renvoyée
DOUBLE PRECISION.
Exemple
-- 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;
Résultat :
rint
------
3
SEC
Renvoie la sécante de x (l'inverse du cosinus).
Syntaxe
SEC(x)
Paramètres
| Paramètre | Type | description |
|---|---|---|
x |
DOUBLE PRECISION | Obligatoire. Valeur d'entrée en radians. |
Valeur renvoyée
DOUBLE PRECISION.
Exemple
-- 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;
Résultat :
sec
-------------------
-1.01010866590799
SHA1
Renvoie le hachage SHA-1 (Secure Hash Algorithm 1) de la chaîne binaire x sous forme de chaîne hexadécimale.
Syntaxe
SHA1(x)
Paramètres
| Paramètre | Type | description |
|---|---|---|
x |
BYTEA | Obligatoire. Chaîne binaire à hacher. |
Valeur renvoyée
TEXT.
Exemple
-- 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;
Résultat :
sha1
------------------------------------------
77de68daecd823babbb58edb1c8e14d7106e83bb
SHA2
Renvoie le hachage SHA-2 de la chaîne binaire x sous forme de chaîne hexadécimale. Renvoie NULL pour les longueurs de bits non prises en charge.
Syntaxe
SHA2(x, y)
Paramètres
| Paramètre | Type | description |
|---|---|---|
x |
BYTEA | Obligatoire. Chaîne binaire à hacher. |
y |
INTEGER | Obligatoire. Longueur du hachage en bits. Valeurs prises en charge : 224, 256, 384, 512. Renvoie NULL pour toute autre valeur. |
Valeur renvoyée
TEXT.
Exemple
-- 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;
Résultat :
sha2
------
NaN
SHIFTLEFT
Décale la valeur x vers la gauche de y bits.
Syntaxe
SHIFTLEFT(x, y)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
x |
BIGINT | Obligatoire. La valeur à décaler. |
y |
INTEGER | Obligatoire. Le nombre de positions de bits pour le décalage vers la gauche. |
Valeur renvoyée
BIGINT.
Exemple
-- 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;
Résultat :
shiftleft
-----------
6
SHIFTRIGHT
Décale la valeur x vers la droite de y bits.
Syntaxe
SHIFTRIGHT(x, y)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
x |
BIGINT | Obligatoire. La valeur à décaler. |
y |
INTEGER | Obligatoire. Le nombre de positions de bits pour le décalage vers la droite. |
Valeur renvoyée
BIGINT.
Exemple
-- 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;
Résultat :
shiftright
------------
1
SINH
Renvoie le sinus hyperbolique de x.
Syntaxe
SINH(x)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
x |
DOUBLE PRECISION | Obligatoire. La valeur d'entrée. |
Valeur renvoyée
DOUBLE PRECISION.
Exemple
-- 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;
Résultat :
sinh
------------------
10.0178749274099
SOUNDEX
Renvoie le code Soundex de la chaîne x. L'algorithme Soundex associe les mots anglais phonétiquement similaires au même code, ce qui est utile pour la correspondance floue de noms.
Syntaxe
SOUNDEX(x)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
x |
TEXT | Obligatoire. La chaîne d'entrée. |
Valeur renvoyée
TEXT.
Exemple
-- 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;
Résultat :
soundex
---------
H400
STARTSWITH
Vérifie si la chaîne x commence par la chaîne y. Renvoie true si c'est le cas, sinon false.
Syntaxe
STARTSWITH(x, y)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
x |
TEXT | Obligatoire. La chaîne à vérifier. |
y |
TEXT | Obligatoire. Le préfixe à rechercher. |
Valeur renvoyée
BOOLEAN.
Exemple
-- 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;
Résultat :
startswith
------------
f
SUBSTRING_INDEX
Renvoie la sous-chaîne de x située avant la nème occurrence du séparateur y. Si n est positif, renvoie tout ce qui se trouve à gauche du n-ième délimiteur.
Syntaxe
SUBSTRING_INDEX(x, y, n)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
x |
TEXT | Obligatoire. La chaîne source. |
y |
TEXT | Obligatoire. Le séparateur à rechercher. |
n |
INTEGER | Obligatoire. Le nombre d'occurrences. Les valeurs positives comptent à partir de la gauche. |
Valeur renvoyée
TEXT.
Exemple
-- 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;
Résultat (renvoie la sous-chaîne avant la 2e occurrence de 'o' dans '3hologres') :
substring_index
-----------------
3hol
UNHEX
Convertit une chaîne hexadécimale en sa représentation binaire.
Syntaxe
UNHEX(x)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
x |
TEXT | Obligatoire. La chaîne hexadécimale à convertir. |
Valeur renvoyée
TEXT.
Exemple
-- 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;
Résultat :
unhex
-------
\x03
URL_DECODE
Décode une chaîne encodée en URL en remplaçant les séquences encodées en pourcentage par leurs caractères correspondants.
Syntaxe
URL_DECODE(x)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
x |
VARCHAR | Obligatoire. La chaîne encodée en URL à décoder. |
Valeur renvoyée
VARCHAR.
Exemple
-- 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;
Résultat :
url_decode
---------------
www.chinese3.com
URL_ENCODE
Encode une chaîne dans un format sécurisé pour les URL en remplaçant les caractères spéciaux par des séquences encodées en pourcentage.
Syntaxe
URL_ENCODE(x)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
x |
VARCHAR | Obligatoire. La chaîne à encoder. |
Valeur renvoyée
VARCHAR.
Exemple
-- 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;
Résultat :
url_encode
-----------------------------
www.%E4%B8%AD%E6%96%873.com