Mulai versi V3.1, Hologres mendukung berbagai fungsi yang kompatibel dengan Spark melalui ekstensi hg_spark_funcs. Topik ini menjelaskan fungsi-fungsi kompatibel dengan Spark di Hologres serta menyertakan contoh penggunaannya.
Fungsi | Fitur |
Menghitung invers kosinus hiperbolik. | |
Menghitung invers sinus hiperbolik. | |
Menghitung tangen hiperbolik. | |
Memeriksa apakah nilai x yang ditentukan berada dalam rentang [min, max] yang ditentukan. | |
Menghitung nilai biner. | |
Mendapatkan jumlah bit setelah perhitungan biner. | |
Menjalankan operasi AND logika bitwise. | |
Menjalankan operasi NOT logika bitwise. | |
Menjalankan operasi OR logika bitwise. | |
Menjalankan operasi XOR logika bitwise. | |
Menjalankan penambahan. Fungsi ini melaporkan kesalahan saat terjadi overflow numerik, bukan diam-diam mengalami overflow. | |
Menjalankan pembagian. Fungsi ini melaporkan kesalahan saat terjadi overflow numerik, bukan diam-diam mengalami overflow. | |
Menjalankan perkalian. Fungsi ini melaporkan kesalahan saat terjadi overflow numerik, bukan diam-diam mengalami overflow. | |
Menjalankan pengurangan. Fungsi ini melaporkan kesalahan saat terjadi overflow numerik, bukan diam-diam mengalami overflow. | |
Memeriksa apakah parameter x mengandung parameter y. | |
Mengonversi angka string dari satu basis (basis sumber) ke basis lainnya (basis target). | |
Menghitung kosinus hiperbolik. | |
Menghitung nilai hash CRC32. | |
Menghitung nilai kosekan. | |
Memeriksa apakah parameter input pertama diakhiri dengan parameter input kedua. | |
Menghitung pangkat bilangan Euler (basis logaritma natural) dikurangi 1, yaitu "exp(x) - 1". | |
Mencari posisi string tertentu dalam array string yang dipisahkan koma dan mengembalikan nilai indeks berbasis 1. | |
Mengonversi jumlah detik (tipe BIGINT) sejak epoch UNIX (1970-01-01 00:00:00 UTC) ke format waktu yang ditentukan. | |
Mengonversi data input ke format heksadesimal. | |
Menghitung akar kuadrat dari jumlah kuadrat dua nilai. | |
Memeriksa apakah nilai tertentu ada dalam array yang ditentukan. | |
Memeriksa apakah data adalah Not a Number (NaN). | |
Menghitung jarak LEVENSHTEIN (jarak edit) antara dua string, yang mewakili jumlah minimum operasi edit karakter tunggal yang diperlukan untuk mentransformasikan satu string menjadi string lainnya. | |
Menghitung logaritma basis-10 dari nilai yang ditentukan. | |
Menghitung logaritma natural dari nilai yang ditentukan ditambah 1. | |
Menghitung logaritma basis-2 dari nilai yang ditentukan. | |
Memeriksa apakah nilai tertentu mungkin ada dalam Bloom Filter. | |
Menghasilkan integer 64-bit unik yang meningkat secara monoton. Integer ini tidak berurutan. | |
Menghitung sisa positif dari parameter x dibagi y. | |
Menghitung modulus (sisa) dalam operasi pembagian. | |
Menghitung bilangan bulat terdekat. | |
Menghitung nilai sekan. Fungsi ini adalah jenis fungsi trigonometri, direpresentasikan sebagai kebalikan dari kosinus suatu sudut. | |
Menghitung nilai hash SHA-1 dari sebuah string dan mengonversi hasilnya ke string heksadesimal. | |
Menghitung nilai hash SHA-2 dari sebuah string (SHA-224, SHA-256, SHA-384, dan SHA-512) dan mengonversi hasilnya ke string heksadesimal. | |
Menjalankan pergeseran kiri pada nilai target. | |
Menjalankan pergeseran kanan pada nilai target. | |
Menghitung sinus hiperbolik. | |
Menghasilkan kode Soundex dari sebuah string. | |
Memeriksa apakah parameter pertama dimulai dengan parameter kedua. | |
Mendapatkan bagian string sebelum kemunculan ke-n dari pemisah. | |
Mengonversi string heksadesimal ke VARBIT. | |
Menghapus escape dari nilai-nilai yang dienkripsi dalam URL. | |
Melakukan escape melalui enkoding. |
Instal ekstensi
Sebelum menggunakan fungsi Spark, Anda harus mengeksekusi pernyataan berikut sebagai Superuser untuk menginstal ekstensi yang diperlukan. Pernyataan ini hanya perlu dieksekusi sekali per database. Jika Anda membuat database baru, Anda harus mengeksekusi pernyataan ini kembali.
CREATE extension hg_spark_funcs;Ekstensi ini hanya dapat dibuat di skema hg_spark_funcs. Anda tidak dapat menentukan skema lain secara manual.
Data sampel
Parameter x pada fungsi Spark dalam topik ini tidak mendukung parameter input konstan. Semua contoh dalam topik ini menggunakan data sampel berikut.
CREATE TABLE public.spark_test(a INT);
INSERT INTO public.spark_test VALUES (3);Fungsi Spark
Anda dapat memanggil fungsi di skema hg_spark_funcs dengan salah satu dari dua cara berikut. Metode 1 direkomendasikan.
Metode 1: Secara eksplisit tentukan skema (Disarankan)
Panggil fungsi dengan menambahkan awalanhg_spark_funcs.ke nama fungsinya.SELECT hg_spark_funcs.ACOSH(a) FROM public.spark_test;Metode 2: Atur jalur pencarian
Tambahkanhg_spark_funcske jalur pencarian sesi saat ini. Setelah itu, Anda dapat memanggil fungsi secara langsung tanpa awalan.-- 1. Tambahkan hg_spark_funcs ke jalur pencarian. SET search_path = 'hg_spark_funcs'; -- 2. Panggil fungsi secara langsung. SELECT ACOSH(a) FROM public.spark_test;
Untuk informasi lebih lanjut tentang fungsi yang kompatibel dengan Spark, lihat fungsi Spark.
ACOSH
Deskripsi: Menghitung invers kosinus hiperbolik.
ACOSH(x)Parameter:
x: Diperlukan. Tipe DOUBLE PRECISION didukung.
Nilai Kembali:
Mengembalikan nilai tipe DOUBLE PRECISION.
Contoh:
-- Metode 1: Panggilan langsung (Direkomendasikan) SELECT hg_spark_funcs.ACOSH(a) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT ACOSH(a) FROM public.spark_test;Hasil berikut dikembalikan:
acosh ------------------ 1.762747174039086
ASINH
Deskripsi: Menghitung invers sinus hiperbolik.
ASINH(x)Parameter:
x: Diperlukan. Tipe DOUBLE PRECISION didukung.
Nilai Kembali:
Mengembalikan nilai tipe DOUBLE PRECISION.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.ASINH(a) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT ASINH(a) FROM public.spark_test;Hasil berikut dikembalikan:
asinh ------------------ 1,8184464592320668
ATANH
Deskripsi: Menghitung tangen hiperbolik dari sebuah nilai.
ATANH(x)Parameter:
x: Diperlukan. Tipe DOUBLE PRECISION didukung.
Nilai Kembali:
Mengembalikan nilai tipe DOUBLE PRECISION.
Contoh:
-- Metode 1: Panggilan langsung (Direkomendasikan) SELECT hg_spark_funcs.ATANH(a) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT ATANH(a) FROM public.spark_test;Hasil berikut dikembalikan:
atanh ------- NaN
BETWEEN
Deskripsi: Memeriksa apakah nilai x berada dalam rentang [min, max] yang ditentukan.
hg_spark_funcs.BETWEEN(x, min, max)Catatan:
Karena BETWEEN merupakan kata kunci Hologres, Anda harus menambahkan awalan hg_spark_funcs. saat menggunakan fungsi ini.
Parameter:
x: Diperlukan. Tipe BIGINT didukung.
min: Diperlukan. Nilai minimum dari rentang yang ditentukan. Tipe BIGINT didukung.
max: Diperlukan. Nilai maksimum dari rentang yang ditentukan. Tipe BIGINT didukung.
Nilai Kembali:
Mengembalikan nilai tipe BOOLEAN. Jika x berada dalam rentang yang ditentukan, true akan dikembalikan. Sebaliknya, false akan dikembalikan.
Contoh:
SELECT hg_spark_funcs.BETWEEN(a,2 ,4) FROM public.spark_test;Hasil berikut dikembalikan:
between --------- t
BIN
Deskripsi: Mengonversi angka menjadi representasi string binernya.
BIN(x)Parameter:
x: Diperlukan. Tipe BIGINT didukung.
Nilai Kembali:
Mengembalikan nilai tipe TEXT.
Contoh:
-- Metode 1: Panggilan langsung (Direkomendasikan) SELECT hg_spark_funcs.BIN(a) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT BIN(a) FROM public.spark_test;Hasil berikut dikembalikan:
bin ----- 11
BIT_COUNT
Deskripsi: Mengembalikan jumlah bit yang disetel ke 1 dalam representasi biner dari sebuah angka.
BIT_COUNT(x)Parameter:
x: Diperlukan. Tipe BIGINT didukung.
Nilai Kembali:
Mengembalikan nilai tipe INTEGER.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.BIT_COUNT(a) FROM public.spark_test; -- Metode 2: Atur jalur pencarian dan kemudian panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT BIT_COUNT(a) FROM public.spark_test;Hasil berikut dikembalikan:
bit_count ----------- 2
BITWISE_AND
Deskripsi: Melakukan operasi logika AND bitwise.
BITWISE_AND(x, y)Parameter:
x dan y: Diperlukan. Tipe INTEGER didukung.
Nilai Kembali:
Mengembalikan nilai tipe INTEGER.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.BITWISE_AND(a, 2) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT BITWISE_AND(a, 2) FROM public.spark_test;Hasil berikut dikembalikan:
bitwise_and ------------- 2
BITWISE_NOT
Deskripsi: Melakukan operasi NOT logika bitwise.
BITWISE_NOT(x)Parameter:
x: Diperlukan. Tipe BIGINT didukung.
Nilai Kembali:
Mengembalikan nilai tipe BIGINT.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.BITWISE_NOT(a) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT BITWISE_NOT(a) FROM public.spark_test;Hasil berikut dikembalikan:
bitwise_not ------------- -4
BITWISE_OR
Deskripsi: Melakukan operasi OR logis bitwise.
BITWISE_OR(x, y)Parameter:
x dan y: Diperlukan. Tipe BIGINT didukung.
Nilai Kembali:
Mengembalikan nilai tipe BIGINT.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.BITWISE_OR(a, 2) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT BITWISE_OR(a, 2) FROM public.spark_test;Hasil berikut dikembalikan:
bitwise_or ------------ 3
BITWISE_XOR
Deskripsi: Melakukan operasi XOR logika bit.
BITWISE_XOR(x, y)Parameter:
x dan y: Diperlukan. Tipe INTEGER didukung.
Nilai Kembali:
Mengembalikan nilai tipe INTEGER.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.BITWISE_XOR(a, 2) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT BITWISE_XOR(a, 2) FROM public.spark_test;Hasil berikut dikembalikan:
bitwise_xor ------------- 1
CHECKED_ADD
Deskripsi: Melakukan penambahan dan melaporkan kesalahan jika terjadi overflow numerik. Ini mencegah overflow diam-diam.
CHECKED_ADD(x, y)Parameter:
x dan y: Diperlukan. Tipe BIGINT didukung.
Nilai Kembali:
Mengembalikan nilai tipe BIGINT.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.CHECKED_ADD(a, 2147483647) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT CHECKED_ADD(a, 2147483647) FROM public.spark_test;Hasil berikut dikembalikan:
--Sebagian dari pesan kesalahan adalah sebagai berikut. ERROR: internal error: Run func: spark_checked_add fails with Exception: VeloxUserError
CHECKED_DIVIDE
Deskripsi: Melakukan pembagian dan melaporkan kesalahan jika terjadi overflow numerik. Ini mencegah overflow diam-diam.
CHECKED_DIVIDE(x, y)Parameter:
x dan y: Diperlukan. Tipe BIGINT didukung.
Nilai Kembali:
Mengembalikan nilai tipe BIGINT.
Contoh:
-- Metode 1: Panggilan langsung (Direkomendasikan) SELECT hg_spark_funcs.CHECKED_DIVIDE(a, 1/2147483647) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT CHECKED_DIVIDE(a, 1/2147483647) FROM public.spark_test;Hasil berikut dikembalikan:
--Sebagian dari pesan kesalahan adalah sebagai berikut. ERROR: internal error: Run func: spark_checked_divide fails with Exception: VeloxUserError
CHECKED_MULTIPLY
Deskripsi: Melakukan perkalian dan melaporkan kesalahan jika terjadi overflow numerik. Ini mencegah overflow diam-diam.
CHECKED_MULTIPLY(x, y)Parameter:
x dan y: Diperlukan. Tipe BIGINT didukung.
Nilai Kembali:
Mengembalikan nilai tipe BIGINT.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.CHECKED_MULTIPLY(a, 2147483647) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT CHECKED_MULTIPLY(a, 2147483647) FROM public.spark_test;Hasil berikut dikembalikan:
--Sebagian dari pesan kesalahan adalah sebagai berikut. ERROR: internal error: Run func: spark_checked_multiply fails with Exception: VeloxUserError
CHECKED_SUBTRACT
Deskripsi: Melakukan pengurangan dan melaporkan kesalahan jika terjadi overflow numerik. Ini mencegah overflow diam-diam.
CHECKED_SUBTRACT(x, y)Parameter:
x dan y: Diperlukan. Tipe BIGINT didukung.
Nilai Kembali:
Mengembalikan nilai tipe BIGINT.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.CHECKED_SUBTRACT(a, -2147483647) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT CHECKED_SUBTRACT(a, -2147483647) FROM public.spark_test;Hasil berikut dikembalikan:
--Sebagian dari pesan kesalahan adalah sebagai berikut. ERROR: internal error: Run func: spark_checked_subtract fails with Exception: VeloxUserError
CONTAINS
Deskripsi: Memeriksa apakah string x mengandung string y.
CONTAINS(x, y)Parameter:
x dan y: Diperlukan. Tipe TEXT didukung.
Nilai Kembali:
Mengembalikan nilai tipe BOOLEAN. Jika x mengandung y, true dikembalikan. Sebaliknya, false dikembalikan.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.CONTAINS(a::text, '3') FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT CONTAINS(a::text, '3') FROM public.spark_test;Hasil berikut dikembalikan:
contains ---------- t
CONV
Deskripsi: Mengonversi string yang mewakili angka dari basis sumber ke basis target.
CONV(x, n, m)Parameter:
x: Diperlukan. Angka dalam bentuk string. Tipe TEXT didukung.
n: Diperlukan. Basis sumber. Tipe INTEGER didukung.
m: Diperlukan. Basis target. Tipe INTEGER didukung.
Nilai Kembali:
Mengembalikan nilai dengan tipe TEXT.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.CONV(a::text, 10, 2) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT CONV(a::text, 10, 2) FROM public.spark_test;Hasil berikut dikembalikan:
conv ------ 11
COSH
Deskripsi: Menghitung kosinus hiperbolik.
COSH(x)Parameter:
x: Diperlukan. Tipe DOUBLE PRECISION didukung.
Nilai Kembali:
Mengembalikan nilai tipe DOUBLE PRECISION.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.COSH(a) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT COSH(a) FROM public.spark_test;Hasil berikut dikembalikan:
cosh ------------------ 10.0676619957778
CRC32
Deskripsi: Menghitung nilai hash 32-bit cyclic redundancy check (CRC32).
CRC32(x)Parameter:
x: Diperlukan. Tipe BYTEA didukung.
Nilai Kembali:
Mengembalikan nilai tipe BIGINT.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.CRC32(hg_spark_funcs.bin(a)::bytea) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT CRC32(bin(a)::bytea) FROM public.spark_test;Hasil berikut dikembalikan:
crc32 ------------ 3.596.227.959
CSC
Deskripsi: Menghitung nilai kosekan.
CSC(x)Parameter:
x: Diperlukan. Tipe DOUBLE PRECISION didukung.
Nilai Kembali:
Mengembalikan nilai tipe DOUBLE PRECISION.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.CSC(a) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT CSC(a) FROM public.spark_test;Hasil berikut dikembalikan:
csc ------------------ 7.08616739573719
ENDSWITH
Deskripsi: Memeriksa apakah string x diakhiri dengan string y.
ENDSWITH(x, y)Parameter:
x dan y: Diperlukan. Tipe TEXT didukung.
Nilai Kembali:
Mengembalikan nilai tipe BOOLEAN. Jika string x diakhiri dengan string y, true dikembalikan. Sebaliknya, false dikembalikan.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.ENDSWITH(concat(a, 'hologres'), 'gres') FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT ENDSWITH(concat(a, 'hologres'), 'gres') FROM public.spark_test;Hasil berikut dikembalikan:
endswith ---------- t
EXPM1
Deskripsi: Menghitung exp(x) - 1, di mana exp(x) adalah bilangan Euler dipangkatkan dengan x.
EXPM1(x)Parameter:
x: Diperlukan. Tipe DOUBLE PRECISION didukung.
Nilai Kembali:
Mengembalikan nilai tipe DOUBLE PRECISION.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.EXPM1(a) FROM public.spark_test; -- Metode 2: Atur jalur pencarian dan kemudian panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT EXPM1(a) FROM public.spark_test;Hasil berikut dikembalikan:
expm1 ------------------ 19.0855369231877
FIND_IN_SET
Deskripsi: Mengembalikan indeks berbasis 1 dari sebuah string dalam daftar string yang dipisahkan koma.
FIND_IN_SET(x, y)Parameter:
x dan y: Diperlukan. Tipe TEXT didukung.
Nilai Pengembalian:
Mengembalikan nilai tipe INTEGER. Jika string yang ditentukan tidak ditemukan, 0 dikembalikan.
Contoh:
-- Metode 1: Panggilan langsung (Direkomendasikan) SELECT hg_spark_funcs.FIND_IN_SET(a::text, 'a,b,c,2') FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT FIND_IN_SET(a::text, 'a,b,c,2') FROM public.spark_test;Hasil berikut dikembalikan:
find_in_set ------------- 4
FROM_UNIXTIME
Deskripsi: Mengonversi jumlah detik sejak epoch UNIX (1970-01-01 00:00:00 UTC) menjadi string dalam format yang ditentukan.
FROM_UNIXTIME(x, y)Parameter:
x: Diperlukan. Jumlah detik. Tipe BIGINT didukung.
y: Diperlukan. Format waktu. Tipe TEXT didukung.
Nilai Kembali:
Mengembalikan nilai tipe TEXT.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.FROM_UNIXTIME(a, 'yyyy-MM-dd HH:mm:ss') FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT FROM_UNIXTIME(a, 'yyyy-MM-dd HH:mm:ss') FROM public.spark_test;Hasil berikut dikembalikan:
from_unixtime --------------------- 1970-01-01 00:00:03
HEX
Deskripsi: Mengonversi angka menjadi representasi string heksadesimalnya.
HEX(x)Parameter:
x: Diperlukan. Tipe BIGINT didukung.
Nilai Kembali:
Mengembalikan nilai tipe TEXT.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.HEX(a) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT HEX(a) FROM public.spark_test;Hasil berikut dikembalikan:
hex ----- 3
HYPOT
Deskripsi: Menghitung akar kuadrat dari jumlah kuadrat dua nilai.
HYPOT(x, y)Parameter:
x dan y: Diperlukan. Tipe DOUBLE PRECISION didukung.
Nilai Kembali:
Mengembalikan nilai tipe DOUBLE PRECISION.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.HYPOT(a, 4) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT HYPOT(a, 4) FROM public.spark_test;Hasil berikut dikembalikan:
hypot ------- 5
IN
Deskripsi: Memeriksa apakah suatu nilai ada dalam array.
IN(x, y)Parameter:
x: Diperlukan. Tipe BIGINT didukung.
y: Diperlukan. Array target. Tipe BIGINT[] didukung.
Nilai Kembali:
Mengembalikan nilai tipe BOOLEAN. Jika array y berisi nilai x, maka true dikembalikan. Sebaliknya, false dikembalikan.
Contoh:
SELECT hg_spark_funcs.IN(a, ARRAY[2,5,3]) FROM public.spark_test;Hasil berikut dikembalikan:
in ---- t
ISNAN
Deskripsi: Memeriksa apakah suatu nilai adalah Bukan Angka (NaN).
ISNAN(x)Parameter:
x: Diperlukan. Tipe DOUBLE PRECISION didukung.
Nilai Kembali:
Mengembalikan nilai tipe BOOLEAN. Jika nilai x adalah NaN, maka true dikembalikan. Sebaliknya, false dikembalikan.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.ISNAN(a) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT ISNAN(a) FROM public.spark_test;Hasil berikut dikembalikan:
isnan ------- f
LEVENSHTEIN
Deskripsi: Menghitung jarak Levenshtein, juga dikenal sebagai jarak edit, antara dua string. Jarak Levenshtein adalah jumlah minimum edit karakter tunggal yang diperlukan untuk mengubah satu string menjadi string lainnya.
LEVENSHTEIN(x, y)Parameter:
x dan y: Diperlukan. Tipe TEXT didukung.
Nilai Kembali:
Mengembalikan nilai tipe INTEGER.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.LEVENSHTEIN(a::text, 'hologres') FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT LEVENSHTEIN(a::text, 'hologres') FROM public.spark_test;Hasil berikut dikembalikan:
levenshtein ------------- 8
LOG10
Deskripsi: Menghitung logaritma basis-10 (logaritma desimal) dari sebuah nilai.
LOG10(x)Parameter:
x: Diperlukan. Tipe DOUBLE PRECISION didukung.
Nilai Kembali:
Mengembalikan nilai tipe DOUBLE PRECISION.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.LOG10(a) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT LOG10(a) FROM public.spark_test;Hasil berikut dikembalikan:
log10 ------------------- 0,477121254719662
LOG1P
Deskripsi: Menghitung logaritma natural dari sebuah nilai ditambah 1.
LOG1P(x)Parameter:
x: Diperlukan. Tipe DOUBLE PRECISION didukung.
Nilai Kembali:
Mengembalikan nilai tipe DOUBLE PRECISION.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.LOG1P(a) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT LOG1P(a) FROM public.spark_test;Hasil berikut dikembalikan:
log1p ------------------ 1.38629436111989
LOG2
Deskripsi: Menghitung logaritma basis-2 (logaritma biner) dari sebuah nilai.
LOG2(x)Parameter:
x: Diperlukan. Tipe DOUBLE PRECISION didukung.
Nilai Kembali:
Mengembalikan nilai tipe DOUBLE PRECISION.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.LOG2(a) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT LOG2(a) FROM public.spark_test;Hasil berikut dikembalikan:
log2 ------------------ 1.58496250072116
MIGHT_CONTAIN
Deskripsi: Memeriksa apakah suatu nilai mungkin ada dalam filter Bloom.
MIGHT_CONTAIN(x, y)Parameter:
x: Diperlukan. Tipe BYTEA didukung.
y: Diperlukan. Tipe BIGINT didukung.
Nilai Kembali:
Mengembalikan nilai tipe BOOLEAN. Jika nilai mungkin ada dalam filter Bloom, true dikembalikan. Sebaliknya, false dikembalikan.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.MIGHT_CONTAIN(a::text::bytea, 3) FROM public.spark_test; -- Metode 2: Atur jalur pencarian dan kemudian panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT MIGHT_CONTAIN(a::text::bytea, 3) FROM public.spark_test;Hasil berikut dikembalikan:
might_contain --------------- f
MONOTONICALLY_INCREASING_ID
Deskripsi: Menghasilkan bilangan bulat 64-bit yang meningkat secara monotonik dan unik. Bilangan bulat ini tidak berurutan.
MONOTONICALLY_INCREASING_ID()Nilai Kembali:
Mengembalikan nilai bertipe BIGINT.
Contoh:
-- Metode 1: Panggilan langsung (Direkomendasikan) SELECT hg_spark_funcs.MONOTONICALLY_INCREASING_ID() FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT MONOTONICALLY_INCREASING_ID() FROM public.spark_test;Hasil berikut dikembalikan:
monotonically_increasing_id ----------------------------- 0
PMOD
Deskripsi: Menghitung sisa positif dari x dibagi y.
PMOD(x, y)Parameter:
x dan y: Wajib. Tipe BIGINT didukung.
Nilai Kembali:
Mengembalikan nilai tipe BIGINT.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.PMOD(a, 2) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT PMOD(a, 2) FROM public.spark_test;Hasil berikut dikembalikan:
pmod ------ 1
REMAINDER
Deskripsi: Menghitung sisa dari x dibagi oleh y.
REMAINDER(x, y)Parameter:
x dan y: Diperlukan. Tipe BIGINT didukung.
Nilai Kembali:
Mengembalikan nilai tipe BIGINT.
Contoh:
-- Metode 1: Panggilan langsung (Direkomendasikan) SELECT hg_spark_funcs.REMAINDER(a, 2) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT REMAINDER(a, 2) FROM public.spark_test;Hasil berikut dikembalikan:
remainder ----------- 1
RINT
Deskripsi: Mengembalikan bilangan bulat terdekat dari suatu nilai.
RINT(x)Parameter:
x: Diperlukan. Tipe DOUBLE PRECISION didukung.
Nilai Kembali:
Mengembalikan nilai tipe DOUBLE PRECISION.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.RINT(a) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT RINT(a) FROM public.spark_test;Hasil berikut dikembalikan:
rint ------ 3
SEC
Deskripsi: Menghitung nilai sekan. Ini adalah fungsi trigonometri yang mengembalikan kebalikan dari kosinus suatu sudut.
SEC(x)Parameter:
x: Diperlukan. Tipe DOUBLE PRECISION didukung.
Nilai Kembali:
Mengembalikan nilai tipe DOUBLE PRECISION.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.SEC(a) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT SEC(a) FROM public.spark_test;Hasil berikut dikembalikan:
sec ------------------- -1.01010866590799
SHA1
Deskripsi: Menghitung hash Secure Hash Algorithm 1 (SHA-1) dari string biner dan mengembalikan hasilnya sebagai string heksadesimal.
SHA1(x)Parameter:
x: Diperlukan. Tipe BYTEA didukung.
Nilai Kembali:
Mengembalikan nilai tipe TEXT.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.SHA1(a::text::bytea) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT SHA1(a::text::bytea) FROM public.spark_test;Hasil berikut dikembalikan:
sha1 ------------------------------------------ 77de68daecd823babbb58edb1c8e14d7106e83bb
SHA2
Deskripsi: Menghitung hash SHA-2 dari string biner (SHA-224, SHA-256, SHA-384, atau SHA-512) dan mengembalikan hasilnya sebagai string heksadesimal.
SHA2(x, y)Parameter:
x: Diperlukan. Tipe BYTEA didukung.
y: Diperlukan. Tipe INTEGER didukung.
Nilai Kembali:
Mengembalikan nilai tipe TEXT.
Catatan:
Panjang bit yang tidak didukung mengembalikan NULL.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.SHA2(a::text::bytea, 3) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT SHA2(a::text::bytea, 3) FROM public.spark_test;Hasil berikut dikembalikan:
sha2 ------ NaN
SHIFTLEFT
Deskripsi: Melakukan operasi pergeseran bit ke kiri pada sebuah nilai.
SHIFTLEFT(x, y)Parameter:
x: Diperlukan. Nilai yang akan digeser. Tipe BIGINT didukung.
y: Diperlukan. Jumlah bit untuk menggeser nilai ke kiri. Tipe INTEGER didukung.
Nilai Kembali:
Mengembalikan nilai dengan tipe BIGINT.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.SHIFTLEFT(a, 1) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT SHIFTLEFT(a, 1) FROM public.spark_test;Hasil berikut dikembalikan:
shiftleft ----------- 6
SHIFTRIGHT
Deskripsi: Melakukan pergeseran bit ke kanan pada sebuah nilai.
SHIFTRIGHT(x, y)Parameter:
x: Diperlukan. Nilai yang akan digeser. Tipe BIGINT didukung.
y: Diperlukan. Jumlah bit untuk menggeser nilai ke kanan. Tipe INTEGER didukung.
Nilai Kembali:
Mengembalikan nilai tipe BIGINT.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.SHIFTRIGHT(a, 1) FROM public.spark_test; -- Metode 2: Atur jalur pencarian dan kemudian panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT SHIFTRIGHT(a, 1) FROM public.spark_test;Hasil berikut dikembalikan:
shiftright ------------ 1
SINH
Deskripsi: Menghitung sinus hiperbolik.
SINH(x)Parameter:
x: Diperlukan. Tipe DOUBLE PRECISION didukung.
Nilai Kembali:
Mengembalikan nilai tipe DOUBLE PRECISION.
Contoh:
-- Metode 1: Panggilan langsung (Direkomendasikan) SELECT hg_spark_funcs.SINH(a) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT SINH(a) FROM public.spark_test;Hasil berikut dikembalikan:
sinh ------------------ 10.0178749274099
SOUNDEX
Deskripsi: Mengembalikan kode Soundex dari sebuah string.
SOUNDEX(x)Parameter:
x: Diperlukan. Tipe TEXT didukung.
Nilai Kembali:
Mengembalikan nilai tipe TEXT.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.SOUNDEX(concat('holo', a)) FROM public.spark_test; -- Metode 2: Atur jalur pencarian dan kemudian panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT SOUNDEX(concat('holo', a)) FROM public.spark_test;Hasil berikut dikembalikan:
soundex --------- H400
STARTSWITH
Deskripsi: Memeriksa apakah string x dimulai dengan string y.
STARTSWITH(x, y)Parameter:
x dan y: Wajib. Tipe TEXT didukung.
Nilai Kembali:
Mengembalikan nilai tipe BOOLEAN. Jika string x dimulai dengan string y, true dikembalikan. Sebaliknya, false dikembalikan.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.STARTSWITH(concat(a, 'hologres'), 'gres') FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT STARTSWITH(concat(a, 'hologres'), 'gres') FROM public.spark_test;Hasil berikut dikembalikan:
startswith ------------ f
SUBSTRING_INDEX
Deskripsi: Mengembalikan substring dari sebuah string sebelum kemunculan ke-n dari pemisah.
SUBSTRING_INDEX(x, y, n)Parameter:
x: Wajib. String sumber. Tipe TEXT didukung.
y: Wajib. Pemisah. Tipe TEXT didukung.
n: Wajib. Jumlah kemunculan pemisah. Tipe INTEGER didukung.
Nilai Kembali:
Mengembalikan nilai dengan tipe TEXT.
Contoh:
-- Metode 1: Panggilan langsung (Direkomendasikan) SELECT hg_spark_funcs.SUBSTRING_INDEX(concat(a, 'hologres'), 'o', 2) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT SUBSTRING_INDEX(concat(a, 'hologres'), 'o', 2) FROM public.spark_test;Hasil berikut dikembalikan:
substring_index ----------------- 3hol
UNHEX
Deskripsi: Mengonversi string heksadesimal menjadi representasi binernya.
UNHEX(x)Parameter:
x: Diperlukan. Tipe TEXT didukung.
Nilai Kembali:
Mengembalikan nilai tipe TEXT.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.UNHEX(a::text) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT UNHEX(a::text) FROM public.spark_test;Hasil berikut dikembalikan:
unhex ------- \x03
URL_DECODE
Deskripsi: Mendekode string yang telah dienkode URL.
URL_DECODE(x)Parameter:
x: Wajib. Tipe VARCHAR didukung.
Nilai Kembali:
Mengembalikan nilai tipe VARCHAR.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.URL_DECODE(hg_spark_funcs.URL_ENCODE(CONCAT('www.','Chinese',a,'.com'))) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT URL_DECODE(URL_ENCODE(CONCAT('www.','Chinese',a,'.com'))) FROM public.spark_test;Hasil berikut dikembalikan:
url_decode --------------- www.chinese3.com
URL_ENCODE
Deskripsi: Mengkodekan string ke dalam format yang aman untuk URL.
URL_ENCODE(x)Parameter:
x: Diperlukan. Tipe VARCHAR didukung.
Nilai Kembali:
Mengembalikan nilai tipe VARCHAR.
Contoh:
-- Metode 1: Panggilan langsung (Disarankan) SELECT hg_spark_funcs.URL_ENCODE(CONCAT('www.','Chinese',a,'.com')) FROM public.spark_test; -- Metode 2: Atur jalur pencarian lalu panggil fungsi SET search_path = 'hg_spark_funcs'; SELECT URL_ENCODE(CONCAT('www.','Chinese',a,'.com')) FROM public.spark_test;Hasil berikut dikembalikan:
url_encode ----------------------------- www.%E4%B8%AD%E6%96%873.com