All Products
Search
Document Center

Realtime Compute for Apache Flink:Fungsi yang Didukung

Last Updated:Mar 06, 2026

Topik ini menjelaskan semua fungsi bawaan yang didukung oleh Realtime Compute for Apache Flink.

Fungsi yang Didukung

Realtime Compute for Apache Flink dengan Ververica Runtime (VVR) 3.0.0 menambahkan fungsi bawaan di luar yang tersedia di Apache Flink 1.12. Untuk informasi selengkapnya, lihat Fungsi skalar, Fungsi bernilai tabel, dan Fungsi agregat. Tabel berikut mencantumkan semua fungsi bawaan yang didukung oleh Realtime Compute for Apache Flink berdasarkan Apache Flink 1.15 beserta deskripsi singkatnya.

Kumpulan fungsi yang didukung bergantung pada versi Apache Flink. Untuk informasi selengkapnya, lihat Fungsi bawaan Flink 1.12, Fungsi bawaan Flink 1.13, Fungsi bawaan Flink 1.14, Fungsi bawaan Flink 1.15, Fungsi bawaan Flink 1.16, dan Fungsi bawaan Flink 1.17.

Catatan

Jika fungsi bawaan tidak memenuhi kebutuhan Anda, Anda dapat menggunakan user-defined function (UDF). Untuk informasi selengkapnya, lihat Ikhtisar.

Batasan

Versi mesin Realtime Compute VVR 11.1 dan yang lebih baru mendukung pemanggilan fungsi bawaan dalam Pekerjaan Table API menggunakan teks SQL.

Fungsi skalar

Kategori

Fungsi

Deskripsi

Fungsi perbandingan

value1 = value2

Mengembalikan true jika value1 sama dengan value2.

value1 <> value2

Mengembalikan true jika value1 tidak sama dengan value2.

value1 > value2

Mengembalikan true jika value1 lebih besar dari value2.

value1 >= value2

Mengembalikan true jika value1 lebih besar dari atau sama dengan value2.

value1 < value2

Mengembalikan true jika value1 kurang dari value2.

value1 <= value2

Mengembalikan true jika value1 kurang dari atau sama dengan value2.

value IS NULL

Mengembalikan true jika nilai tersebut NULL.

value IS NOT NULL

Mengembalikan true jika nilai tersebut bukan NULL.

value1 IS DISTINCT FROM value2

Mengembalikan true jika value1 dan value2 berbeda dalam tipe data atau nilainya. Semua nilai NULL dianggap sama.

value1 IS NOT DISTINCT FROM value2

Mengembalikan true jika value1 dan value2 memiliki tipe data dan nilai yang sama. Semua nilai NULL dianggap sama.

value1 BETWEEN [ ASYMMETRIC | SYMMETRIC ] value2 AND value3

Mengembalikan true secara default atau ketika kata kunci ASYMMETRIC digunakan jika value1 lebih besar dari atau sama dengan value2 dan kurang dari atau sama dengan value3.

value1 NOT BETWEEN [ ASYMMETRIC | SYMMETRIC ] value2 AND value3

Mengembalikan true secara default atau ketika kata kunci ASYMMETRIC digunakan jika value1 kurang dari value2 atau lebih besar dari value3.

string1 LIKE string2 [ ESCAPE char ]

Mengembalikan true jika string1 cocok dengan string2.

string1 NOT LIKE string2 [ ESCAPE char ]

Mengembalikan true jika string1 tidak cocok dengan string2.

string1 SIMILAR TO string2 [ ESCAPE char ]

Mengembalikan true jika string1 cocok dengan ekspresi reguler SQL string2.

string1 NOT SIMILAR TO string2 [ ESCAPE char ]

Mengembalikan true jika string1 tidak cocok dengan ekspresi reguler SQL string2.

value1 IN (value2 [, value3]* )

Mengembalikan true jika value1 ada dalam daftar (value2, value3, …).

value1 NOT IN (value2 [, value3]* )

Mengembalikan true jika value1 tidak ada dalam daftar (value2, value3, …).

EXISTS (sub-query)

Mengembalikan true jika subquery mengembalikan setidaknya satu baris.

value IN (sub-query)

Mengembalikan true jika nilai tersebut sama dengan salah satu baris dalam set hasil subquery.

value NOT IN (sub-query)

Mengembalikan true jika nilai tersebut tidak termasuk dalam baris apa pun yang dikembalikan oleh subquery.

Fungsi logika

BITAND

Menjalankan operasi bitwise AND.

BITNOT

Menjalankan operasi bitwise NOT.

BITOR

Menjalankan operasi bitwise OR.

BITXOR

Menjalankan operasi bitwise XOR.

boolean1 OR boolean2

Mengembalikan true jika boolean1 atau boolean2 bernilai true.

boolean1 AND boolean2

Mengembalikan true jika boolean1 dan boolean2 bernilai true.

NOT boolean

Mengembalikan true jika boolean bernilai false. Mengembalikan false jika boolean bernilai true. Mengembalikan unknown jika boolean bernilai unknown.

boolean IS FALSE

Mengembalikan true jika boolean bernilai false. Mengembalikan false jika boolean bernilai true atau unknown.

boolean IS NOT FALSE

Mengembalikan true jika boolean bernilai true atau unknown. Mengembalikan false jika boolean bernilai false.

boolean IS TRUE

Mengembalikan true jika boolean bernilai true. Mengembalikan false jika boolean bernilai false atau unknown.

boolean IS NOT TRUE

Mengembalikan true jika boolean bernilai false atau unknown. Mengembalikan false jika boolean bernilai true.

boolean IS UNKNOWN

Mengembalikan true jika boolean bernilai unknown. Mengembalikan false jika boolean bernilai true atau false.

boolean IS NOT UNKNOWN

Mengembalikan true jika boolean bernilai true atau false. Mengembalikan false jika boolean bernilai unknown.

Fungsi aritmetika

+ numeric

Mengembalikan nilai numerik tersebut.

- numeric

Mengembalikan negatif dari nilai numerik tersebut.

numeric1 + numeric2

Mengembalikan jumlah dari numeric1 dan numeric2.

numeric1 - numeric2

Mengembalikan selisih antara numeric1 dan numeric2.

numeric1 * numeric2

Mengembalikan hasil perkalian numeric1 dengan numeric2.

numeric1 / numeric2

Mengembalikan hasil bagi pembagian numeric1 dengan numeric2.

numeric1 % numeric2

Mengembalikan sisa hasil bagi pembagian numeric1 dengan numeric2.

POWER(numeric1, numeric2)

Mengembalikan numeric1 dipangkatkan dengan numeric2.

ABS(numeric)

Mengembalikan nilai absolut dari numeric.

SQRT(numeric)

Mengembalikan akar kuadrat dari numeric.

LN(numeric)

Mengembalikan logaritma natural dari numeric dengan basis e.

LOG10(numeric)

Mengembalikan logaritma basis-10 dari numeric.

LOG2(numeric)

Mengembalikan logaritma basis-2 dari numeric.

LOG(numeric2) LOG(numeric1, numeric2)

Mengembalikan logaritma natural dari numeric2 jika hanya satu parameter input yang diberikan. Mengembalikan logaritma basis-numeric1 dari numeric2 jika dua parameter input diberikan. numeric2 harus lebih besar dari 0, dan numeric1 harus lebih besar dari 1.

EXP(numeric)

Mengembalikan e dipangkatkan dengan numeric.

CEIL(numeric) CEILING(numeric)

Membulatkan numeric ke atas ke bilangan bulat terkecil yang lebih besar dari atau sama dengan numeric.

FLOOR(numeric)

Membulatkan numeric ke bawah ke bilangan bulat terbesar yang kurang dari atau sama dengan numeric.

SIN(numeric)

Mengembalikan nilai sinus dari suatu angka.

SINH(numeric)

Mengembalikan sinus hiperbolik dari numeric. Nilai kembali bertipe DOUBLE.

COS(numeric)

Mengembalikan kosinus dari numeric.

TAN(numeric)

Mengembalikan tangen dari nilai numerik.

TANH(numeric)

Mengembalikan tangen hiperbolik dari numeric. Nilai kembali bertipe DOUBLE.

COT(numeric)

Mengembalikan kotangen dari numeric.

ASIN(numeric)

Mengembalikan arcsinus dari numeric.

ACOS(numeric)

Mengembalikan arckosinus dari numeric.

ATAN(numeric)

Mengembalikan arctangen dari numeric.

ATAN2(numeric1, numeric2)

Mengembalikan arctangen dari koordinat (numeric1, numeric2).

COSH(numeric)

Mengembalikan kosinus hiperbolik dari numeric. Nilai kembali bertipe DOUBLE.

DEGREES(numeric)

Mengembalikan ekuivalen derajat dari radian numeric.

RADIANS(numeric)

Mengembalikan ekuivalen radian dari derajat numeric.

SIGN(numeric)

Mengembalikan tanda dari numeric.

ROUND(numeric, INT)

Mengembalikan numeric yang dibulatkan ke INT tempat desimal.

PI()

Mengembalikan nilai yang sangat mendekati π.

E()

Mengembalikan nilai yang sangat mendekati e.

RAND()

Mengembalikan nilai presisi ganda pseudorandom dalam rentang [0.0, 1.0).

RAND(INT)

Mengembalikan nilai presisi ganda pseudorandom dalam rentang [0.0, 1.0) dengan seed awal INT.

RAND_INTEGER(INT)

Mengembalikan bilangan bulat pseudorandom dalam rentang [0, INT).

RAND_INTEGER(INT1,INT2)

Mengembalikan bilangan bulat pseudorandom dalam rentang [0, INT2) dengan seed awal INT1.

UUID()

Mengembalikan string Universally Unique Identifier (UUID) berdasarkan RFC 4122 Type 4. String UUID dihasilkan secara pseudorandom.

BIN(INT)

Mengembalikan representasi string dalam format biner dari nilai INTEGER.

HEX(numeric) HEX(string)

Mengembalikan representasi string dalam format heksadesimal dari nilai numerik atau string.

TRUNCATE(numeric1,integer2)

Mengembalikan angka yang dipotong hingga sejumlah tempat desimal tertentu.

UNHEX(expr)

Mengonversi string heksadesimal ke BINARY.

PERCENTILE(expr, percentage[, frequency])

Mengembalikan nilai persentil eksak dari expr pada persentase yang ditentukan.

Fungsi string

string1 || string2

Mengembalikan gabungan dari string1 dan string2.

CHAR_LENGTH(string) CHARACTER_LENGTH(string)

Mengembalikan jumlah karakter dalam string.

UPPER(string)

Mengembalikan string dalam huruf kapital.

LOWER(string)

Mengembalikan string dalam huruf kecil.

POSITION(string1 IN string2)

Mengembalikan posisi kemunculan pertama string1 dalam string2, dimulai dari 1. Mengembalikan 0 jika string1 tidak ditemukan.

TRIM([ BOTH | LEADING | TRAILING ] string1 FROM string2)

Mengembalikan STRING2 setelah menghapus substring yang diawali dengan STRING1, diakhiri dengan STRING1, atau keduanya.

Saat memproses parameter TRAILING, fungsi ini menghapus karakter dari akhir string hingga menemukan karakter yang tidak ada dalam parameter TRAILING. Misalnya, TRIM(TRAILING 'fe' FROM 'abcdef') mengembalikan 'abcd'.

LTRIM(string)

Menghapus spasi di awal string.

RTRIM(string)

Menghapus spasi di akhir string.

REPEAT(string, int)

Mengembalikan string yang dibentuk dengan menggabungkan INT string.

REGEXP_REPLACE

Mengganti kemunculan pola dalam string dengan string pengganti dan mengembalikan hasilnya.

OVERLAY(string1 PLACING string2 FROM integer1 [ FOR integer2 ])

Mengganti integer2 karakter dalam string1 mulai dari posisi integer1 dengan string2. Secara default, integer2 adalah panjang string2.

SUBSTRING(string FROM integer1 [FOR integer2 ])

Mengembalikan substring dari string mulai dari posisi integer1 dengan panjang integer2. Secara default, integer2 menentukan panjang dari posisi integer1 hingga akhir string.

REPLACE(string1,string2, string3)

Mengganti semua kemunculan non-overlapping dari string2 dengan string3 dalam string1 dan mengembalikan hasilnya.

REGEXP_EXTRACT(string1, string2[,integer])

Memisahkan string1 menggunakan ekspresi reguler string2 dan mengembalikan substring pada posisi integer.

INITCAP(string)

Memberi huruf kapital pada huruf pertama setiap kata dalam string dan mengubah huruf sisanya menjadi huruf kecil. Kata-kata adalah rangkaian karakter alfanumerik.

CONCAT(string1, string2, ...)

Menggabungkan beberapa string dan mengembalikan hasilnya. Mengembalikan NULL jika ada input yang bernilai NULL.

CONCAT_WS(string1, string2, string3, ...)

Mengembalikan string yang dibentuk dengan menggabungkan string2, string3, … menggunakan pemisah string1.

LPAD(string1, integer, string2)

Menambahkan string2 di sebelah kiri string1 hingga mencapai panjang integer.

RPAD(string1, integer, string2)

Menambahkan string2 di sebelah kanan string1 hingga mencapai panjang integer.

FROM_BASE64(string)

Mendekode string menggunakan Base64.

TO_BASE64(string)

Mengkodekan string menggunakan Base64.

ASCII(string)

Mengembalikan kode ASCII dari karakter pertama dalam string.

CHR(integer)

Mengembalikan karakter ASCII yang sesuai dengan integer.

DECODE(binary, string)

Mendekode string dalam format encoding yang ditentukan, seperti US-ASCII, ISO-8859-1, UTF-8, UTF-16BE, UTF-16LE, atau UTF-16.

ENCODE(string1, string2)

Mengkodekan string1 dalam format encoding yang ditentukan, seperti US-ASCII, ISO-8859-1, UTF-8, UTF-16BE, UTF-16LE, atau UTF-16.

INSTR(string1, string2)

Mengembalikan posisi kemunculan pertama string2 dalam string1.

LEFT(string, integer)

Mengembalikan substring dengan panjang tertentu dari sisi kiri string.

RIGHT(string, integer)

Mengembalikan integer karakter paling kanan dari string.

LOCATE(string1, string2[, integer])

Mengembalikan posisi kemunculan pertama string1 dalam string2 setelah posisi integer.

PARSE_URL

Mengurai bagian tertentu dari URL dan mengembalikan nilainya.

REGEXP

Mencari pola dalam string menggunakan ekspresi reguler dan mengembalikan nilai Boolean.

REGEXP_SUBSTR(str, regex)

Mengembalikan substring pertama dalam str yang cocok dengan regex.

REGEXP_INSTR(str, regex)

Mengembalikan posisi substring pertama dalam str yang cocok dengan regex.

REGEXP_COUNT(str, regex)

Mengembalikan jumlah kali str cocok dengan pola regex.

REGEXP_EXTRACT_ALL(str, regex[, extractIndex])

Mengekstraksi semua substring dalam str yang cocok dengan ekspresi regex dan sesuai dengan grup regex extractIndex.

REVERSE(string)

Mengembalikan string dalam urutan terbalik.

SPLIT_INDEX

Memisahkan string menjadi segmen menggunakan pembatas dan mengembalikan bidang pada posisi yang ditentukan.

STR_TO_MAP(string1[, string2, string3])

Memisahkan string1 menjadi pasangan kunci-nilai menggunakan pembatas dan mengembalikan map.

SUBSTR(string[, integer1[, integer2]])

Mengembalikan substring dari string mulai dari posisi integer1 dengan panjang integer2.

PRINTF(format[, obj]*)

Mengembalikan string terformat menggunakan format printf-style.

TRANSLATE(expr, fromStr, toStr)

Mengganti semua karakter dalam fromStr dengan karakter yang sesuai dalam toStr.

ELT(index, expr[, exprs]*)

Mengembalikan ekspresi ke-index. index harus berupa bilangan bulat antara 1 dan jumlah ekspresi.

BTRIM(str[, trimStr])

Menghapus karakter awal dan akhir dari str yang sesuai dengan trimStr. Secara default, trimStr adalah whitespace.

STARTSWITH(expr, startExpr)

Mengembalikan true jika expr diawali dengan startExpr. Mengembalikan true jika startExpr kosong.

ENDSWITH(expr, endExpr)

Mengembalikan true jika expr diakhiri dengan endExpr. Mengembalikan true jika endExpr kosong.

Fungsi waktu

DATE string

Mengembalikan nilai DATE SQL yang diurai dari string dalam format yyyy-MM-dd.

DATEDIFF

Menghitung selisih antara dua nilai tanggal.

DATE_ADD

Mengembalikan tanggal yang merupakan hasil penambahan sejumlah hari tertentu ke tanggal yang diberikan.

DATE_SUB

Mengembalikan tanggal yang berada sejumlah hari tertentu sebelum tanggal yang ditentukan.

TIME string

Mengembalikan nilai TIME SQL yang diurai dari string dalam format HH:mm:ss.

TIMESTAMP string

Mengembalikan nilai TIMESTAMP SQL yang diurai dari string dalam format yyyy-MM-dd HH:mm:ss[.SSS].

INTERVAL string range

Mengurai interval dalam milidetik dari string dalam format dd hh:mm:ss.fff atau mengurai interval dalam bulan dari string dalam format yyyy-mm.

LOCALTIME

Mengembalikan waktu lokal saat ini sebagai nilai SQL TIME(0).

LOCALTIMESTAMP

Mengembalikan stempel waktu lokal saat ini sebagai nilai SQL TIMESTAMP(3).

CURRENT_TIME

Mengembalikan waktu lokal saat ini sebagai nilai SQL TIME. Setara dengan LOCALTIME.

CURRENT_DATE

Mengembalikan tanggal lokal saat ini sebagai nilai SQL DATE.

CURRENT_TIMESTAMP

Mengembalikan stempel waktu lokal saat ini sebagai nilai SQL TIMESTAMP.

NOW()

Mengembalikan stempel waktu lokal saat ini sebagai nilai SQL TIMESTAMP. Setara dengan CURRENT_TIMESTAMP.

CURRENT_ROW_TIMESTAMP()

Mengembalikan stempel waktu lokal saat ini sebagai nilai SQL TIMESTAMP.

EXTRACT(timeintervalunit FROM temporal)

Mengembalikan nilai LONG yang diekstraksi dari bagian timeintervalunit dari temporal.

YEAR(date)

Mengembalikan komponen tahun dari nilai DATE SQL.

QUARTER(date)

Mengembalikan komponen kuartal dari nilai DATE SQL.

MONTH(date)

Mengembalikan komponen bulan dari nilai DATE SQL.

WEEK(date)

Mengembalikan nomor minggu dalam tahun untuk nilai DATE SQL.

DAYOFYEAR(date)

Mengembalikan nomor hari dalam tahun untuk nilai DATE SQL.

DAYOFMONTH

Mengembalikan nomor hari dalam bulan untuk nilai DATE SQL.

HOUR(timestamp)

Mengembalikan komponen jam dari nilai TIMESTAMP SQL.

MINUTE(timestamp)

Mengembalikan komponen menit dari nilai TIMESTAMP SQL.

SECOND(timestamp)

Mengembalikan komponen detik dari nilai TIMESTAMP SQL.

FLOOR(timepoint TO timeintervalunit)

Mengembalikan timepoint yang dibulatkan ke bawah ke timeintervalunit terdekat.

CEIL(timepoint TO timeintervalunit)

Mengembalikan timepoint yang dibulatkan ke atas ke timeintervalunit terdekat.

(timepoint1, temporal1) OVERLAPS (timepoint2, temporal2)

Mengembalikan true jika interval waktu yang didefinisikan oleh (timepoint1, temporal1) dan (timepoint2, temporal2) saling tumpang tindih.

DATE_FORMAT

Memformat nilai tanggal STRING sesuai dengan pola yang ditentukan.

DATE_FORMAT_TZ

Memformat nilai TIMESTAMP sebagai STRING dalam zona waktu dan format yang ditentukan.

TIMESTAMPADD(timeintervalunit, interval, timepoint)

Mengembalikan timepoint baru dengan menambahkan interval ke timepoint. Interval adalah timeintervalunit dikalikan dengan interval.

TIMESTAMPDIFF(timepointunit,timepoint1, timepoint2)

Mengembalikan interval waktu antara timepoint1 dan timepoint2.

CONVERT_TZ(string1, string2, string3)

Mengonversi string datetime1 dari zona waktu string2 ke zona waktu string3. String datetime1 harus dalam format ISO default yyyy-MM-dd HH:mm:ss.

FROM_UNIXTIME

Mengembalikan nilai tanggal VARCHAR.

UNIX_TIMESTAMP

Mengonversi nilai tanggal ke Stempel waktu UNIX.

TO_DATE

Mengonversi nilai tanggal INT atau VARCHAR ke tipe data DATE.

TO_TIMESTAMP_LTZ(numeric, precision)

Mengonversi Stempel waktu UNIX ke nilai TIMESTAMP_LTZ. Satuan: milidetik atau detik.

TO_TIMESTAMP(string1[, string2])

Mengonversi string1 dalam zona waktu UTC+0 dan format string2 ke stempel waktu. Secara default, string2 adalah yyyy-MM-dd HH:mm:ss.

TO_TIMESTAMP_TZ

Mengonversi nilai tanggal VARCHAR ke nilai TIMESTAMP dalam zona waktu yang ditentukan.

CURRENT_WATERMARK(rowtime)

Mengembalikan watermark saat ini untuk properti kolom waktu rowtime.

Fungsi kondisional

CASE value WHEN value1_1 [, value1_2]* THEN RESULT1 (WHEN value2_1 [, value2_2 ]* THEN result_2)* (ELSE result_z) END

Mengembalikan resultX jika value cocok dengan nilai apa pun dalam daftar (valueX_1, valueX_2, …).

CASE WHEN condition1 THEN result1 (WHEN condition2 THEN result2)* (ELSE result_z) END

Mengembalikan resultX jika conditionX adalah kondisi pertama yang bernilai true.

NULLIF(value1,value2)

Mengembalikan NULL jika value1 sama dengan value2. Jika tidak, mengembalikan value1.

COALESCE(value1,value2 [, value3]*)

Mengembalikan nilai pertama yang bukan NULL di antara value1, value2, ….

IF(condition,true_value, false_value)

Mengembalikan true_value jika kondisi bernilai true. Jika tidak, mengembalikan false_value.

IFNULL(input,null_replacement)

Mengembalikan null_replacement jika input bernilai NULL. Jika tidak, mengembalikan input.

IS_ALPHA(string)

Mengembalikan true jika semua karakter dalam string adalah huruf. Jika tidak, mengembalikan false.

IS_DECIMAL(string)

Mengembalikan true jika string dapat diurai sebagai angka yang valid. Jika tidak, mengembalikan false.

IS_DIGIT(string)

Mengembalikan true jika semua karakter dalam string adalah digit. Jika tidak, mengembalikan false.

GREATEST(value1[,value2]*)

Mengembalikan nilai maksimum di antara parameter input. Mengembalikan NULL jika ada input yang bernilai NULL.

LEAST(value1[,value2]*)

Mengembalikan nilai minimum di antara parameter input. Mengembalikan NULL jika ada input yang bernilai NULL.

Fungsi konversi tipe data

CONV

Mengonversi nilai numerik atau karakter antar basis.

CAST(value AS type)

Mengembalikan nilai yang dikonversi ke tipe.

TYPEOF(input) | TYPEOF(input, force_serializable)

Mengembalikan representasi string dari tipe data input.

Fungsi koleksi

CARDINALITY(array)

Mengembalikan jumlah elemen dalam array.

array '[' INT ']'

Mengembalikan elemen pada posisi INT dalam array.

ELEMENT(array)

Mengembalikan satu-satunya elemen array jika kardinalitasnya 1.

CARDINALITY(map)

Mengembalikan jumlah entri dalam map.

map‘[’ value ‘]’

Mengembalikan nilai yang terkait dengan kunci yang ditentukan dalam map.

Fungsi JSON

IS JSON [ { VALUE | SCALAR | ARRAY | OBJECT } ]

Menentukan apakah string yang diberikan merupakan string JSON yang valid.

JSON_EXISTS(jsonValue, path [ { TRUE | FALSE | UNKNOWN | ERROR } ON ERROR ])

Menentukan apakah string JSON memenuhi kondisi pencarian jalur yang ditentukan.

JSON_STRING(value)

Menyerialisasi nilai menjadi string JSON.

JSON_VALUE

Mengekstraksi nilai pada jalur yang ditentukan dari string JSON.

JSON_QUERY(jsonValue, path [ { WITHOUT | WITH CONDITIONAL | WITH UNCONDITIONAL } [ ARRAY ] WRAPPER ] [ { NULL | EMPTY ARRAY | EMPTY OBJECT | ERROR } ON EMPTY ] [ { NULL | EMPTY ARRAY | EMPTY OBJECT | ERROR } ON ERROR ])

Mengekstraksi nilai JSON dari string JSON.

JSON_OBJECT([[KEY] key VALUE value]* [ { NULL | ABSENT } ON NULL ])

Menghasilkan objek JSON dari daftar pasangan kunci-nilai.

JSON_OBJECTAGG([KEY] key VALUE value [ { NULL | ABSENT } ON NULL ])

Mengagregasi ekspresi pasangan kunci-nilai menjadi objek JSON.

JSON_ARRAY([value]* [ { NULL | ABSENT } ON NULL ])

Menghasilkan array JSON dari daftar nilai.

JSON_ARRAYAGG(items [ { NULL | ABSENT } ON NULL ])

Mengagregasi item ke dalam array untuk membentuk string objek JSON.

JSON_QUOTE

Memberi tanda kutip pada string sebagai nilai JSON dengan membungkusnya dengan tanda kutip ganda.

JSON_UNQUOTE

Mendereferensi nilai JSON.

Fungsi konstruksi nilai

-- implicit constructor with parenthesis (value1 [, value2]*)

Mengembalikan baris yang dibangun dari daftar nilai (value1, value2, …).

ARRAY ‘[’value1 [, value2 ]* ‘]’

Mengembalikan array yang dibangun dari daftar nilai (value1, value2, …).

MAP ‘[’value1, value2 [, value3, value4 ]* ‘]’

Mengembalikan map yang dibangun dari daftar pasangan kunci-nilai ((value1, value2), (value3, value4), …).

Fungsi pengambilan nilai

tableName.compositeType.field

Mengekstraksi nilai field dari tipe data komposit seperti Tuple atau POJO.

tableName.compositeType.*

Memperluas subtipe dari tipe data komposit seperti Tuple atau POJO menjadi bidang-bidang terpisah.

Fungsi pengelompokan

GROUP_ID()

Mengembalikan bilangan bulat yang secara unik mengidentifikasi kombinasi kunci pengelompokan.

GROUPING(expression1 [, expression2]* ) | GROUPING_ID(expression1 [, expression2]* )

Mengembalikan vektor bit yang merepresentasikan status pengelompokan dari ekspresi yang diberikan.

Fungsi hash

MD5(string)

Mengembalikan Hash MD5 dari string sebagai string heksadesimal 32 karakter.

SHA1(string)

Mengembalikan hash SHA-1 dari string sebagai string heksadesimal 40 karakter.

SHA224(string)

Mengembalikan hash SHA-224 dari string sebagai string heksadesimal 56 karakter.

SHA256(string)

Mengembalikan Hash SHA-256 dari string sebagai string heksadesimal 64 karakter.

SHA384(string)

Mengembalikan hash SHA-384 dari string sebagai string heksadesimal 96 karakter.

SHA512(string)

Mengembalikan hash SHA-512 dari string sebagai string heksadesimal 128 karakter.

SHA2(string,hashLength)

Mengembalikan nilai hash menggunakan SHA-224, SHA-256, SHA-384, atau SHA-512.

MURMUR_HASH

Menghitung nilai hash 32-bit dari parameter yang ditentukan menggunakan algoritma hash Murmur32.

MURMUR_HASH_64

Fungsi MURMUR_HASH_64 menggunakan algoritma hash Murmur 128 untuk menghitung nilai hash 64-bit dari parameter yang ditentukan.

Lainnya

ISNAN

Memeriksa apakah bilangan titik mengambang yang ditentukan adalah NaN (Not a Number). Fungsi ini berperilaku seperti Double.isNaN() atau Float.isNaN() di Java.

KEYVALUE

Memisahkan string menjadi pasangan kunci-nilai menggunakan split1 sebagai pembatas pasangan dan split2 sebagai pembatas kunci-nilai, lalu mengembalikan nilai untuk kunci yang ditentukan.

Fungsi bernilai tabel

Fungsi

Deskripsi

GENERATE_SERIES

Menghasilkan serangkaian data padding berdasarkan aturan dari, dari+1, dari+2 ... sampai-1.

JSON_TUPLE

Mengambil nilai yang direpresentasikan oleh setiap string jalur dari string JSON.

MULTI_KEYVALUE

Memisahkan string menjadi pasangan kunci-nilai berdasarkan pembatas pasangan kunci-nilai yang ditentukan oleh split1, memisahkan pasangan kunci-nilai berdasarkan pembatas yang ditentukan oleh split2, dan mengembalikan nilai key_name1 dan key_name2.

STRING_SPLIT

Memisahkan string menjadi substring berdasarkan pembatas yang ditentukan dan mengembalikan daftar substring.

Fungsi agregat

Fungsi

Deskripsi

COUNT([ ALL ] expression | DISTINCT expression1 [, expression2]*)

Mengembalikan jumlah baris input non-NULL untuk ekspresi secara default atau jika kata kunci ALL digunakan.

COUNT(*) | COUNT(1)

Mengembalikan jumlah total baris input.

AVG([ ALL | DISTINCT ] expression)

Menghitung nilai rata-rata ekspresi di seluruh baris input secara default atau jika kata kunci ALL digunakan.

SUM([ ALL | DISTINCT ] expression)

Mengembalikan jumlah ekspresi di seluruh baris input secara default atau jika kata kunci ALL digunakan.

MAX([ ALL | DISTINCT ] expression)

Mengembalikan nilai maksimum ekspresi di seluruh baris input secara default atau jika kata kunci ALL digunakan.

MIN([ ALL | DISTINCT ] expression )

Mengembalikan nilai minimum ekspresi di seluruh baris input secara default atau jika kata kunci ALL digunakan.

STDDEV_POP([ ALL | DISTINCT ] expression)

Mengembalikan simpangan baku populasi dari ekspresi di seluruh baris input secara default atau jika kata kunci ALL digunakan.

Catatan

Mulai dari VVR 11.6, fungsi varians dan simpangan baku menggunakan algoritma baru untuk meningkatkan akurasi perhitungan dan memperbaiki kesalahan dalam kasus ekstrem.

Perubahan ini menyebabkan ketidakcocokan state. Pekerjaan yang menggunakan fungsi-fungsi ini memerlukan restart tanpa status. Atau, atur parameter table.exec.legacy-stddev-behaviour ke true untuk mempertahankan perilaku sebelumnya.

Fungsi yang terpengaruh meliputi STDDEV_POP, STDDEV_SAMP, VAR_POP, VAR_SAMP.

STDDEV_SAMP([ ALL | DISTINCT ] expression)

Mengembalikan simpangan baku sampel dari ekspresi di seluruh baris input secara default atau jika kata kunci ALL digunakan.

VAR_POP([ ALL | DISTINCT ] expression)

Mengembalikan varians populasi (kuadrat dari simpangan baku populasi) dari ekspresi di seluruh baris input secara default atau jika kata kunci ALL digunakan.

VAR_SAMP([ ALL | DISTINCT ] expression)

Mengembalikan varians sampel (kuadrat dari simpangan baku sampel) dari ekspresi di seluruh baris input secara default atau jika kata kunci ALL digunakan.

COLLECT([ ALL | DISTINCT ] expression)

Mengembalikan beberapa nilai ekspresi di seluruh baris input secara default atau jika kata kunci ALL digunakan.

VARIANCE([ ALL | DISTINCT ] expression)

Fungsi ini setara dengan VAR_SAMP().

RANK()

Mengembalikan peringkat suatu nilai dalam kelompok nilai.

DENSE_RANK()

Mengembalikan peringkat padat suatu nilai dalam kelompok nilai. Peringkat meningkat sebesar 1 untuk setiap nilai yang berbeda.

ROW_NUMBER()

Mengembalikan nomor urut baris dalam partisi jendela, dimulai dari 1.

LEAD(expression [, offset] [, default])

Mengembalikan nilai ekspresi dari baris yang berada offset baris setelah baris saat ini dalam jendela.

Catatan

Fungsi LEAD tidak didukung dalam mode streaming.

LAG(expression [, offset] [, default])

Mengembalikan nilai ekspresi dari baris yang berada offset baris sebelum baris saat ini dalam jendela.

LISTAGG(expression [, separator])

Menggabungkan nilai-nilai ekspresi string, dipisahkan oleh separator.

APPROX_COUNT_DISTINCT

Tingkatkan performa pekerjaan.

FIRST_VALUE

Mengembalikan catatan pertama yang bukan NULL dalam aliran data.

LAST_VALUE

Mengembalikan catatan terakhir yang bukan NULL dalam aliran data.