Hologres, V3.1 sürümünden itibaren hg_spark_funcs uzantısı aracılığıyla Spark uyumlu işlevleri destekler. Bu konu, sözdizimi, parametreler, dönüş türleri ve örneklerle birlikte desteklenen tüm işlevleri kapsar.
Ön koşullar
Herhangi bir işlevi çağırmadan önce Superuser olarak hg_spark_funcs uzantısını yükleyin. Aşağıdaki deyimi veritabanı başına bir kez çalıştırın; oluşturduğunuz her yeni veritabanı için bu işlemi tekrarlayın.
CREATE extension hg_spark_funcs;
Uzantı yalnızca hg_spark_funcs şemasında oluşturulabilir. Farklı bir şema belirtemezsiniz.
İşlevleri çağırma
Tüm işlevler hg_spark_funcs şemasında bulunur. Aşağıdaki yöntemlerden birini kullanabilirsiniz.
Yöntem 1 — Açık şema öneki (önerilen)
İşlev adının önüne hg_spark_funcs. ekleyin:
SELECT hg_spark_funcs.ACOSH(a) FROM public.spark_test;
Yöntem 2 — Arama yolunu ayarlama
hg_spark_funcs değerini oturumun arama yoluna ekleyin, ardından işlevleri önek olmadan çağırın:
-- Set the search path for this session
SET search_path = 'hg_spark_funcs';
-- Call the function directly
SELECT ACOSH(a) FROM public.spark_test;
Tam Spark işlev spesifikasyonu için bkz. Spark functions.
Örnek veriler
Bu konudaki tüm örnekler aşağıdaki tabloyu kullanır. x parametresi sabit değerleri kabul etmez; bir sütundan gelmelidir.
CREATE TABLE public.spark_test(a INT);
INSERT INTO public.spark_test VALUES (3);
Desteklenen işlevler
| İşlev | Açıklama |
|---|---|
| ACOSH | Ters hiperbolik kosinüsü döndürür. |
| ASINH | Ters hiperbolik sinüsü döndürür. |
| ATANH | Ters hiperbolik tanjantı döndürür. |
| BETWEEN | Bir değerin belirtilen aralıkta olup olmadığını kontrol eder. |
| BIN | Bir sayıyı ikili dize gösterimine dönüştürür. |
| BIT_COUNT | Bir sayının ikili gösterimindeki 1-bit sayısını döndürür. |
| BITWISE_AND | Bit düzeyinde AND işlemi gerçekleştirir. |
| BITWISE_NOT | Bit düzeyinde NOT işlemi gerçekleştirir. |
| BITWISE_OR | Bit düzeyinde OR işlemi gerçekleştirir. |
| BITWISE_XOR | Bit düzeyinde XOR işlemi gerçekleştirir. |
| CHECKED_ADD | İki sayıyı toplar ve taşma durumunda hata verir. |
| CHECKED_DIVIDE | İki sayıyı böler ve taşma durumunda hata verir. |
| CHECKED_MULTIPLY | İki sayıyı çarpar ve taşma durumunda hata verir. |
| CHECKED_SUBTRACT | İki sayıyı çıkarır ve taşma durumunda hata verir. |
| CONTAINS | x dizesinin y dizesini içerip içermediğini kontrol eder. |
| CONV | Sayısal bir dizeyi bir tabandan diğerine dönüştürür. |
| COSH | Hiperbolik kosinüsü döndürür. |
| CRC32 | 32 bitlik döngüsel artıklık denetimi (CRC32) karma değerini döndürür. |
| CSC | Kosekantı döndürür. |
| ENDSWITH | x dizesinin y dizesiyle bitip bitmediğini kontrol eder. |
| EXPM1 | exp(x) - 1 değerini döndürür. |
| FIND_IN_SET | Virgülle ayrılmış bir listede bir dizenin 1 tabanlı konumunu döndürür. |
| FROM_UNIXTIME | UNIX epoch'tan bu yana geçen saniyeleri biçimlendirilmiş zaman damgası dizesine dönüştürür. |
| HEX | Bir sayıyı onaltılık dize gösterimine dönüştürür. |
| HYPOT | İki değerin karelerinin toplamının karekökünü döndürür. |
| IN | Bir değerin bir dizide var olup olmadığını kontrol eder. |
| ISNAN | Bir değerin Sayı Olmayan (NaN) olup olmadığını kontrol eder. |
| LEVENSHTEIN | İki dize arasındaki Levenshtein mesafesini (düzenleme mesafesi) döndürür. |
| LOG10 | 10 tabanındaki logaritmayı döndürür. |
| LOG1P | x + 1'in doğal logaritmasını döndürür. |
| LOG2 | 2 tabanındaki logaritmayı döndürür. |
| MIGHT_CONTAIN | Bir değerin Bloom filtresinde mevcut olabileceğini kontrol eder. |
| MONOTONICALLY_INCREASING_ID | Monoton olarak artan, benzersiz 64 bitlik tamsayılar oluşturur. |
| PMOD | x'in y'ye bölümünden kalan pozitif değeri döndürür. |
| REMAINDER | x'in y'ye bölümünden kalanı döndürür. |
| RINT | Bir değere en yakın tamsayıyı döndürür. |
| SEC | Sekantı döndürür. |
| SHA1 | SHA-1 karmasını onaltılık dize olarak döndürür. |
| SHA2 | SHA-2 karmasını (SHA-224, SHA-256, SHA-384 veya SHA-512) onaltılık dize olarak döndürür. |
| SHIFTLEFT | Bit düzeyinde sola kaydırma işlemi gerçekleştirir. |
| SHIFTRIGHT | Bit düzeyinde sağa kaydırma işlemi gerçekleştirir. |
| SINH | Hiperbolik sinüsü döndürür. |
| SOUNDEX | Bir dizenin Soundex kodunu döndürür. |
| STARTSWITH | x dizesinin y dizesiyle başlayıp başlamadığını kontrol eder. |
| SUBSTRING_INDEX | Bir ayırıcının n'inci oluşumundan önceki alt dizeyi döndürür. |
| UNHEX | Onaltılık bir dizeyi ikili gösterimine dönüştürür. |
| URL_DECODE | URL kodlanmış bir dizenin kodunu çözer. |
| URL_ENCODE | Bir dizeyi URL güvenli biçime kodlar. |
İşlev referansı
ACOSH
x'in ters hiperbolik kosinüsünü döndürür.
Sözdizimi
ACOSH(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
DOUBLE PRECISION | Gerekli. Giriş değeri. |
Dönüş değeri
DOUBLE PRECISION.
Örnek
-- 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;
Sonuç:
acosh
------------------
1.762747174039086
ASINH
x'in ters hiperbolik sinüsünü döndürür.
Sözdizimi
ASINH(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
DOUBLE PRECISION | Gerekli. Giriş değeri. |
Dönüş değeri
DOUBLE PRECISION.
Örnek
-- 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;
Sonuç:
asinh
------------------
1.8184464592320668
ATANH
x'in ters hiperbolik tanjantını döndürür.
Sözdizimi
ATANH(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
DOUBLE PRECISION | Gerekli. Giriş değeri. |
Dönüş değeri
DOUBLE PRECISION.
Örnek
-- 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;
Sonuç:
atanh
-------
NaN
BETWEEN
x değerinin [min, max] kapalı aralığında olup olmadığını kontrol eder. min <= x <= max ise true, aksi takdirde false döndürür.
BETWEENbir Hologres anahtar sözcüğüdür. Bu işlevi çağırırken her zamanhg_spark_funcs.önekini kullanın.
Sözdizimi
hg_spark_funcs.BETWEEN(x, min, max)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BIGINT | Gerekli. Kontrol edilecek değer. |
min |
BIGINT | Gerekli. Aralığın alt sınırı (dahil). |
max |
BIGINT | Gerekli. Aralığın üst sınırı (dahil). |
Dönüş değeri
BOOLEAN.
Örnek
SELECT hg_spark_funcs.BETWEEN(a, 2, 4) FROM public.spark_test;
Sonuç:
between
---------
t
BIN
Bir sayıyı ikili dize gösterimine dönüştürür.
Sözdizimi
BIN(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BIGINT | Gerekli. Dönüştürülecek sayı. |
Dönüş değeri
TEXT.
Örnek
-- 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;
Sonuç:
bin
-----
11
BIT_COUNT
Bir sayının ikili gösterimindeki 1-bit sayısını döndürür.
Sözdizimi
BIT_COUNT(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BIGINT | Gerekli. Giriş sayısı. |
Dönüş değeri
INTEGER.
Örnek
-- 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;
Sonuç (3'ün ikili karşılığı 11 olup iki adet 1-bit içerir):
bit_count
-----------
2
BITWISE_AND
x ve y üzerinde bit düzeyinde AND işlemi gerçekleştirir.
Sözdizimi
BITWISE_AND(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
INTEGER | Gerekli. İlk işlenen. |
y |
INTEGER | Gerekli. İkinci işlenen. |
Dönüş değeri
INTEGER.
Örnek
-- 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;
Sonuç:
bitwise_and
-------------
2
BITWISE_NOT
x üzerinde bit düzeyinde NOT işlemi gerçekleştirir.
Sözdizimi
BITWISE_NOT(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BIGINT | Gerekli. Giriş değeri. |
Dönüş değeri
BIGINT.
Örnek
-- 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;
Sonuç:
bitwise_not
-------------
-4
BITWISE_OR
x ve y üzerinde bit düzeyinde OR işlemi gerçekleştirir.
Sözdizimi
BITWISE_OR(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BIGINT | Gerekli. İlk işlenen. |
y |
BIGINT | Gerekli. İkinci işlenen. |
Dönüş değeri
BIGINT.
Örnek
-- 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;
Sonuç:
bitwise_or
------------
3
BITWISE_XOR
x ve y üzerinde bit düzeyinde XOR işlemi gerçekleştirir.
Sözdizimi
BITWISE_XOR(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
INTEGER | Gerekli. İlk işlenen. |
y |
INTEGER | Gerekli. İkinci işlenen. |
Dönüş değeri
INTEGER.
Örnek
-- 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;
Sonuç:
bitwise_xor
-------------
1
CHECKED_ADD
x ve y değerlerini toplar. Sonuç taşarsa sessizce sarmak yerine hata verir.
Sözdizimi
CHECKED_ADD(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BIGINT | Gerekli. İlk işlenen. |
y |
BIGINT | Gerekli. İkinci işlenen. |
Dönüş değeri
BIGINT.
Örnek
-- 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;
Sonuç (taşma hataya neden olur):
ERROR: internal error: Run func: spark_checked_add fails with Exception: VeloxUserError
CHECKED_DIVIDE
x değerini y değerine böler. Sonuç taşarsa sessizce sarmak yerine hata verir.
Sözdizimi
CHECKED_DIVIDE(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BIGINT | Gerekli. Bölünen. |
y |
BIGINT | Gerekli. Bölen. |
Dönüş değeri
BIGINT.
Örnek
-- 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;
Sonuç (taşma hataya neden olur):
ERROR: internal error: Run func: spark_checked_divide fails with Exception: VeloxUserError
CHECKED_MULTIPLY
x ve y değerlerini çarpar. Sonuç taşarsa sessizce sarmak yerine hata verir.
Sözdizimi
CHECKED_MULTIPLY(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BIGINT | Gerekli. İlk işlenen. |
y |
BIGINT | Gerekli. İkinci işlenen. |
Dönüş değeri
BIGINT.
Örnek
-- 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;
Sonuç (taşma hataya neden olur):
ERROR: internal error: Run func: spark_checked_multiply fails with Exception: VeloxUserError
CHECKED_SUBTRACT
y değerini x değerinden çıkarır. Sonuç taşarsa sessizce sarmak yerine hata verir.
Sözdizimi
CHECKED_SUBTRACT(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BIGINT | Gerekli. Çıkan. |
y |
BIGINT | Gerekli. Çıkan. |
Dönüş değeri
BIGINT.
Örnek
-- 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;
Sonuç (taşma hataya neden olur):
ERROR: internal error: Run func: spark_checked_subtract fails with Exception: VeloxUserError
CONTAINS
x dizesinin y dizesini içerip içermediğini kontrol eder. İçeriyorsa true, aksi takdirde false döndürür.
Sözdizimi
CONTAINS(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
TEXT | Gerekli. Aranacak dize. |
y |
TEXT | Gerekli. Aranacak alt dize. |
Dönüş değeri
BOOLEAN.
Örnek
-- 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;
Sonuç:
contains
----------
t
CONV
Sayısal bir dizeyi bir tabandan diğerine dönüştürür.
Sözdizimi
CONV(x, n, m)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
TEXT | Gerekli. Dize olarak temsil edilen dönüştürülecek sayı. |
n |
INTEGER | Gerekli. Kaynak taban (örneğin, ondalık için 10, ikili için 2). |
m |
INTEGER | Gerekli. Hedef taban. |
Dönüş değeri
TEXT.
Örnek
-- 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;
Sonuç (3 değerini 10 tabanından 2 tabanına dönüştürür):
conv
------
11
COSH
x'in hiperbolik kosinüsünü döndürür.
Sözdizimi
COSH(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
DOUBLE PRECISION | Gerekli. Giriş değeri. |
Dönüş değeri
DOUBLE PRECISION.
Örnek
-- 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;
Sonuç:
cosh
------------------
10.0676619957778
CRC32
İkili bir dizenin 32 bitlik döngüsel artıklık denetimi (CRC32) karma değerini döndürür.
Sözdizimi
CRC32(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BYTEA | Gerekli. Karma değeri hesaplanacak ikili dize. |
Dönüş değeri
BIGINT.
Örnek
-- 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;
Sonuç:
crc32
------------
3596227959
CSC
x'in kosekantını döndürür.
Sözdizimi
CSC(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
DOUBLE PRECISION | Gerekli. Radyan cinsinden giriş değeri. |
Dönüş değeri
DOUBLE PRECISION.
Örnek
-- 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;
Sonuç:
csc
------------------
7.08616739573719
ENDSWITH
x dizesinin y dizesiyle bitip bitmediğini kontrol eder. Bitiyorsa true, aksi takdirde false döndürür.
Sözdizimi
ENDSWITH(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
TEXT | Gerekli. Kontrol edilecek dize. |
y |
TEXT | Gerekli. Aranacak son ek. |
Dönüş değeri
BOOLEAN.
Örnek
-- 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;
Sonuç:
endswith
----------
t
EXPM1
exp(x) - 1 değerini döndürür; burada exp(x), Euler sayısı'nın x kuvvetidir.
Sözdizimi
EXPM1(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
DOUBLE PRECISION | Gerekli. Üs. |
Dönüş değeri
DOUBLE PRECISION.
Örnek
-- 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;
Sonuç:
expm1
------------------
19.0855369231877
FIND_IN_SET
Virgülle ayrılmış y listesi içinde x dizesinin 1 tabanlı konumunu döndürür. x bulunamazsa 0 döndürür.
Sözdizimi
FIND_IN_SET(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
TEXT | Gerekli. Aranacak dize. |
y |
TEXT | Gerekli. Virgülle ayrılmış dize listesi. |
Dönüş değeri
INTEGER.
Örnek
-- 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;
Sonuç:
find_in_set
-------------
4
FROM_UNIXTIME
UNIX zaman damgasını (1970-01-01 00:00:00 UTC'den bu yana geçen saniyeler) biçimlendirilmiş zaman damgası dizesine dönüştürür.
Sözdizimi
FROM_UNIXTIME(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BIGINT | Gerekli. UNIX epoch'tan (1970-01-01 00:00:00 UTC) bu yana geçen saniye sayısı. |
y |
TEXT | Gerekli. Çıkış biçim dizesi. Spark tarih/saat desen sözdizimini kullanır (örneğin, 'yyyy-MM-dd HH:mm:ss'). |
Dönüş değeri
TEXT.
Örnek
-- 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;
Sonuç:
from_unixtime
---------------------
1970-01-01 00:00:03
HEX
Bir sayıyı onaltılık (hexadecimal) dize gösterimine dönüştürür.
Sözdizimi
HEX(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BIGINT | Gereklidir. Dönüştürülecek sayı. |
Dönüş değeri
TEXT.
Örnek
-- 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;
Sonuç:
hex
-----
3
HYPOT
Kenarları x ve y olan bir dik üçgenin hipotenüs uzunluğunu döndürür. Hesaplama sqrt(x² + y²) şeklinde yapılır.
Sözdizimi
HYPOT(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
DOUBLE PRECISION | Gereklidir. Birinci kenar. |
y |
DOUBLE PRECISION | Gereklidir. İkinci kenar. |
Dönüş değeri
DOUBLE PRECISION.
Örnek
-- 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;
Sonuç (hypot(3, 4) = 5):
hypot
-------
5
IN
x değerinin y dizisinde olup olmadığını kontrol eder. Değer bulunursa true, aksi takdirde false döndürür.
Sözdizimi
IN(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BIGINT | Gereklidir. Aranacak değer. |
y |
BIGINT[] | Gereklidir. Aramanın yapılacağı dizi. |
Dönüş değeri
BOOLEAN.
Örnek
SELECT hg_spark_funcs.IN(a, ARRAY[2,5,3]) FROM public.spark_test;
Sonuç:
in
----
t
ISNAN
x değerinin Sayı Değil (NaN) olup olmadığını kontrol eder. Değer NaN ise true, değilse false döndürür.
Sözdizimi
ISNAN(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
DOUBLE PRECISION | Gereklidir. Kontrol edilecek değer. |
Dönüş değeri
BOOLEAN.
Örnek
-- 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;
Sonuç:
isnan
-------
f
LEVENSHTEIN
x ve y dizeleri arasındaki Levenshtein mesafesini (düzenleme mesafesi) döndürür. Bu değer, bir dizeyi diğerine dönüştürmek için gereken minimum tek karakterli ekleme, silme veya değiştirme sayısını ifade eder.
Sözdizimi
LEVENSHTEIN(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
TEXT | Gereklidir. Birinci dize. |
y |
TEXT | Gereklidir. İkinci dize. |
Dönüş değeri
INTEGER.
Örnek
-- 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;
Sonuç:
levenshtein
-------------
8
LOG10
x'in 10 tabanındaki logaritmasını döndürür.
Sözdizimi
LOG10(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
DOUBLE PRECISION | Gereklidir. Giriş değeri. |
Dönüş değeri
DOUBLE PRECISION.
Örnek
-- 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;
Sonuç:
log10
-------------------
0.477121254719662
LOG1P
x + 1'in doğal logaritmasını döndürür.
Sözdizimi
LOG1P(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
DOUBLE PRECISION | Gereklidir. Giriş değeri. |
Dönüş değeri
DOUBLE PRECISION.
Örnek
-- 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;
Sonuç:
log1p
------------------
1.38629436111989
LOG2
x'in 2 tabanındaki logaritmasını döndürür.
Sözdizimi
LOG2(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
DOUBLE PRECISION | Gereklidir. Giriş değeri. |
Dönüş değeri
DOUBLE PRECISION.
Örnek
-- 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;
Sonuç:
log2
------------------
1.58496250072116
MIGHT_CONTAIN
x olarak serileştirilmiş Bloom filtresinde y değerinin bulunma olasılığını kontrol eder. Değer mevcut olabileceği durumda (olası yanlış pozitif) true, kesinlikle yoksa false döndürür.
Sözdizimi
MIGHT_CONTAIN(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BYTEA | Gereklidir. Serileştirilmiş Bloom filtresi baytları. |
y |
BIGINT | Gereklidir. Bloom filtresinde aranacak değer. |
Dönüş değeri
BOOLEAN.
Örnek
-- 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;
Sonuç:
might_contain
---------------
f
MONOTONICALLY_INCREASING_ID
Monoton artan, benzersiz 64 bitlik tamsayılar oluşturur. Oluşturulan kimliklerin satırlar arasında monoton olarak arttığı ve benzersiz olduğu garanti edilir ancak ardışık değildirler.
Sözdizimi
MONOTONICALLY_INCREASING_ID()
Dönüş değeri
BIGINT.
Örnek
-- 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;
Sonuç:
monotonically_increasing_id
-----------------------------
0
PMOD
x değerinin y ile bölümünden kalan pozitif değeri döndürür. Standart modulo operatörünün aksine, sonuç her zaman negatif olmayan bir değerdir.
Sözdizimi
PMOD(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BIGINT | Gereklidir. Bölünen. |
y |
BIGINT | Gereklidir. Bölen. |
Dönüş değeri
BIGINT.
Örnek
-- 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;
Sonuç:
pmod
------
1
REMAINDER
x değerinin y ile bölümünden kalanı döndürür.
Sözdizimi
REMAINDER(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BIGINT | Gereklidir. Bölünen. |
y |
BIGINT | Gereklidir. Bölen. |
Dönüş değeri
BIGINT.
Örnek
-- 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;
Sonuç:
remainder
-----------
1
RINT
x değerine en yakın tamsayıyı döndürür.
Sözdizimi
RINT(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
DOUBLE PRECISION | Gereklidir. Giriş değeri. |
Dönüş değeri
DOUBLE PRECISION.
Örnek
-- 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;
Sonuç:
rint
------
3
SEC
x'in sekantını (kosinüsün çarpmaya göre tersi) döndürür.
Sözdizimi
SEC(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
DOUBLE PRECISION | Gereklidir. Radyan cinsinden giriş değeri. |
Dönüş değeri
DOUBLE PRECISION.
Örnek
-- 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;
Sonuç:
sec
-------------------
-1.01010866590799
SHA1
İkili dize x için Secure Hash Algorithm 1 (SHA-1) karmasını onaltılık dize olarak döndürür.
Sözdizimi
SHA1(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BYTEA | Gereklidir. Karma değeri hesaplanacak ikili dize. |
Dönüş değeri
TEXT.
Örnek
-- 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;
Sonuç:
sha1
------------------------------------------
77de68daecd823babbb58edb1c8e14d7106e83bb
SHA2
İkili dize x için SHA-2 karmasını onaltılık dize olarak döndürür. Desteklenmeyen bit uzunlukları için NULL döndürür.
Sözdizimi
SHA2(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BYTEA | Gereklidir. Karma değeri hesaplanacak ikili dize. |
y |
INTEGER | Gereklidir. Karma bit uzunluğu. Desteklenen değerler: 224, 256, 384, 512. Diğer tüm değerler için NULL döndürür. |
Dönüş değeri
TEXT.
Örnek
-- 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;
Sonuç:
sha2
------
NaN
SHIFTLEFT
x değerini y bit kadar sola kaydırır.
Sözdizimi
SHIFTLEFT(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BIGINT | Gereklidir. Kaydırılacak değer. |
y |
INTEGER | Gereklidir. Sola kaydırılacak bit sayısı. |
Dönüş değeri
BIGINT.
Örnek
-- 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;
Sonuç:
shiftleft
-----------
6
SHIFTRIGHT
x değerini y bit kadar sağa kaydırır.
Sözdizimi
SHIFTRIGHT(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
BIGINT | Gereklidir. Kaydırılacak değer. |
y |
INTEGER | Gereklidir. Sağa kaydırılacak bit sayısı. |
Dönüş değeri
BIGINT.
Örnek
-- 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;
Sonuç:
shiftright
------------
1
SINH
x'in hiperbolik sinüsünü döndürür.
Sözdizimi
SINH(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
DOUBLE PRECISION | Gereklidir. Giriş değeri. |
Dönüş değeri
DOUBLE PRECISION.
Örnek
-- 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;
Sonuç:
sinh
------------------
10.0178749274099
SOUNDEX
x dizesinin Soundex kodunu döndürür. Soundex algoritması, fonetik olarak benzer İngilizce kelimeleri aynı koda eşleyerek bulanık isim eşleştirmeleri için kullanışlı hale getirir.
Sözdizimi
SOUNDEX(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
TEXT | Gereklidir. Giriş dizesi. |
Dönüş değeri
TEXT.
Örnek
-- 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;
Sonuç:
soundex
---------
H400
STARTSWITH
x dizesinin y dizesiyle başlayıp başlamadığını kontrol eder. Başlıyorsa true, aksi takdirde false döndürür.
Sözdizimi
STARTSWITH(x, y)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
TEXT | Gereklidir. Kontrol edilecek dize. |
y |
TEXT | Gereklidir. Aranacak önek. |
Dönüş değeri
BOOLEAN.
Örnek
-- 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;
Sonuç:
startswith
------------
f
SUBSTRING_INDEX
x dizesinin, y ayırıcısının n inci oluşumundan önceki alt dizesini döndürür. n pozitif olduğunda, n'inci sınırlayıcının solundaki tüm içeriği döndürür.
Sözdizimi
SUBSTRING_INDEX(x, y, n)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
TEXT | Gereklidir. Kaynak dize. |
y |
TEXT | Gereklidir. Aranacak ayırıcı. |
n |
INTEGER | Gereklidir. Oluşum sayısı. Pozitif değerler soldan sayılır. |
Dönüş değeri
TEXT.
Örnek
-- 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;
Sonuç ('3hologres' içindeki 2. 'o' karakterinden önceki alt dizeyi döndürür):
substring_index
-----------------
3hol
UNHEX
Onaltılık bir dizeyi ikili temsil biçimine dönüştürür.
Sözdizimi
UNHEX(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
TEXT | Gereklidir. Dönüştürülecek onaltılık dize. |
Dönüş değeri
TEXT.
Örnek
-- 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;
Sonuç:
unhex
-------
\x03
URL_DECODE
Yüzde kodlamalı dizileri karşılık gelen karakterlerle değiştirerek URL kodlamalı bir dizenin kodunu çözer.
Sözdizimi
URL_DECODE(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
VARCHAR | Gereklidir. Kodu çözülecek URL kodlamalı dize. |
Dönüş değeri
VARCHAR.
Örnek
-- 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;
Sonuç:
url_decode
---------------
www.chinese3.com
URL_ENCODE
Özel karakterleri yüzde kodlamalı dizilerle değiştirerek bir dizeyi URL güvenli biçime kodlar.
Sözdizimi
URL_ENCODE(x)
Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
x |
VARCHAR | Gereklidir. Kodlanacak dize. |
Dönüş değeri
VARCHAR.
Örnek
-- 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;
Sonuç:
url_encode
-----------------------------
www.%E4%B8%AD%E6%96%873.com