Výrazy transformace dat v toku mapování dat

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Datové toky jsou k dispozici v Azure Data Factory i v Azure synapse Pipelines. Tento článek se týká mapování toků dat. Pokud s transformacemi začínáte, přečtěte si prosím úvodní článek transformace dat pomocí toku dat s mapováním.

Tento článek poskytuje podrobné informace o výrazech a funkcích, které podporuje Azure Data Factory a Azure synapse Analytics v tématu mapování toků dat.

Funkce výrazů

V kanálech Data Factory a synapse můžete pomocí jazyka výrazů funkce mapování toku dat nakonfigurovat transformace dat.

Funkce výrazu Úkol
ABS Absolutní hodnota čísla
acos Vypočítá inverzní hodnotu kosinusu.
add Přidá dvojici řetězců nebo čísel. Přidá datum do počtu dní. Přidá dobu trvání do časového razítka. Připojí jedno pole podobného typu k druhému. Stejné jako u operátoru +.
addDays Přidejte dny k datu nebo časovému razítku. Stejné jako u operátoru + pro datum.
addMonths Přidejte měsíce k datu nebo časovému razítku. Volitelně můžete časové pásmo předat.
and Logický operátor AND Stejné jako &&.
ASIN Vypočítá inverzní hodnotu sinus.
atan Vypočítá hodnotu inverzní tangens.
funkce Vrátí úhel v radiánech mezi kladnou osou x rovinou a bodem daným souřadnicemi.
jednotlivých Kontroluje, zda je první hodnota mezi dvěma dalšími hodnotami (včetně). Hodnoty čísel, řetězců a hodnot DateTime se dají porovnat.
bitwiseAnd Bitový operátor and mezi celočíselnými typy. Stejné jako operátor &
bitový operátor Bitový operátor OR mezi celočíselnými typy. Stejné jako | operátor
bitwiseXor Bitový operátor OR mezi celočíselnými typy. Stejné jako | operátor
blake2b Vypočítá Blake2 výtah sady sloupců s proměnlivými primitivními datovými typy s délkou bitu, který může být pouze násobkem 8 mezi 8 & 512. Dá se použít k výpočtu otisku prstu pro řádek.
blake2bBinary Vypočítá Blake2 výtah sady sloupců s proměnlivými primitivními datovými typy s délkou bitu, který může být pouze násobkem 8 mezi 8 & 512. Dá se použít k výpočtu otisku prstu pro řádek.
tom Na základě střídajících se podmínek používá jedna hodnota nebo druhá. Pokud je počet vstupů sudý, druhý je pro poslední podmínku nastaven na hodnotu NULL.
cbrt – Vypočítá kořenovou složku datové krychle čísla.
ceil – Vrátí nejmenší celé číslo, které není menší než číslo.
COALESCE Vrátí první nenulovou hodnotu ze sady vstupů. Všechny vstupy by měly být stejného typu.
columnNames Získá názvy všech výstupních sloupců pro datový proud. Jako druhý argument můžete předat volitelný název datového proudu.
sloupcích Získá hodnoty všech výstupních sloupců pro datový proud. Jako druhý argument můžete předat volitelný název datového proudu.
porovnán Porovná dvě hodnoty stejného typu. Vrátí záporné celé číslo, pokud hodnota1 < hodnota2, 0 Pokud hodnota1 = = hodnota2, kladné hodnoty, pokud hodnota1 > hodnota2.
spojuje Zřetězí proměnný počet řetězců dohromady. Totéž jako operátor + s řetězci.
concatWS Zřetězí proměnlivý počet řetězců spolu s oddělovačem. První parametr je oddělovač.
Cos Vypočítá hodnotu kosinusu.
cosh – Vypočítá hyperbolický kosinus hodnoty.
CRC32 Vypočítá hodnotu hash CRC32 sady sloupců různých primitivních DataTypes dané bitové délky, která může být pouze z hodnot 0 (256), 224, 256, 384, 512. Dá se použít k výpočtu otisku prstu pro řádek.
currentDate Získá aktuální datum spuštění této úlohy. Můžete předat volitelné časové pásmo ve formátu "GMT", "PST", "UTC", "Amerika/Kajmanské". Místní časové pásmo se používá jako výchozí. SimpleDateFormatPro dostupné formáty se podívejte na třídu Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
currentTimestamp Získá aktuální časové razítko, kdy se úloha začne spouštět s místním časovým pásmem.
currentUTC Získá aktuální časové razítko jako UTC. Pokud chcete, aby byl aktuální čas interpretován v jiném časovém pásmu než časové pásmo clusteru, můžete předat volitelné časové pásmo ve formátu "GMT", "PST", "UTC", "Amerika/Kajmanské". Ve výchozím nastavení je nastavené na aktuální časové pásmo. SimpleDateFormatPro dostupné formáty se podívejte na třídu Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. Pro převod času UTC na jiné použití časového pásma fromUTC() .
dayOfMonth Vrátí den v měsíci, který má dané datum.
dayOfWeek Vrátí den v týdnu daného data. 1 – neděle, 2 – pondělí..., 7 – sobota.
dayOfYear Načte den v roce na dané datum.
denní Doba v milisekundách pro počet dní
určitý Převede radiány na stupně.
Rozdělovací Vydělí dvojici čísel. Stejné jako / operátor.
dropLeft Odebere tolik znaků nalevo od řetězce. Pokud přežádaný počet překročí délku řetězce, je vrácen prázdný řetězec.
dropRight Odebere tolik znaků od napravo od řetězce. Pokud přežádaný počet překročí délku řetězce, je vrácen prázdný řetězec.
endsWith Kontroluje, zda řetězec končí zadaným řetězcem.
rovná Operátor porovnání je rovno. Stejný jako operátor = =.
equalsIgnoreCase Porovnání se rovná operátoru bez ohledu na velikost písmen. Stejné jako <= operátor>.
před Řídí řetězec v závislosti na formátu. Hodnoty literálu pro přijatelný formát jsou "JSON", "XML", "ECMAScript", "HTML", "Java".
výrazu Výsledkem je výraz z řetězce. To je stejné jako zápis tohoto výrazu do formuláře, který není literál. To lze použít k předání parametrů jako řetězcové reprezentace.
faktoriál Vypočítá faktoriál čísla.
chybné Vždy vrátí hodnotu false. Funkci použijte, syntax(false()) Pokud je sloupec s názvem false.
řízení Vrátí největší celé číslo, které není větší než číslo.
fromBase64 Dekóduje daný řetězec kódovaný v kódování Base64.
fromUTC Převede na časové razítko od času UTC. Časové pásmo můžete volitelně předat ve formátu "GMT", "PST", "UTC", "Amerika/Kajmanské". Ve výchozím nastavení je nastavené na aktuální časové pásmo. SimpleDateFormatPro dostupné formáty se podívejte na třídu Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
greater Porovnání většího operátoru. Stejné jako operátor >.
greaterOrEqual Porovnání větší než nebo rovno operátoru. Stejné jako operátor >=.
největší Vrátí nejvyšší hodnotu ze seznamu hodnot jako vstup, který přeskakuje hodnoty null. Vrátí hodnotu null, pokud všechny vstupy mají hodnotu null.
hasColumn Kontroluje hodnotu sloupce podle názvu v datovém proudu. Jako druhý argument můžete předat volitelný název datového proudu. Názvy sloupců, které jsou známy v době návrhu, by měly být řešeny stejným názvem. Počítané vstupy se nepodporují, ale můžete použít substituce parametrů.
hodiny Získá hodnotu hodiny časového razítka. Můžete předat volitelné časové pásmo ve formátu "GMT", "PST", "UTC", "Amerika/Kajmanské". Místní časové pásmo se používá jako výchozí. SimpleDateFormatPro dostupné formáty se podívejte na třídu Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
hodin Doba trvání v milisekundách pro počet hodin
IIf Na základě podmínky platí jedna nebo druhá hodnota. Pokud není uvedeno jinak, považuje se za NULL. Obě hodnoty musí být kompatibilní (číselná, String...).
iifNull Kontroluje, zda je první parametr null. Pokud není null, je vrácen první parametr. Pokud má hodnotu null, je vrácen druhý parametr. Pokud jsou zadány tři parametry, chování je stejné jako funkce IIF (isNull (hodnota1), hodnota2, hodnota3) a třetí parametr je vrácen, pokud první hodnota není null.
initCap Převede první písmeno každého slova na velká. Slova jsou označena jako oddělená prázdným znakem.
InStr Vyhledá pozici (na základě 1) podřetězce v rámci řetězce. hodnota 0 se vrátí, pokud nebyla nalezena.
Odstranění Zkontroluje, jestli je řádek označený k odstranění. Pro transformace s více než jedním vstupním datovým proudem můžete index (založený na 1) předat tomuto datovému proudu. Index datového proudu musí být buď 1, nebo 2 a výchozí hodnota je 1.
IsError – Zkontroluje, jestli je řádek označený jako chyba. Pro transformace s více než jedním vstupním datovým proudem můžete index (založený na 1) předat tomuto datovému proudu. Index datového proudu musí být buď 1, nebo 2 a výchozí hodnota je 1.
Ignore Zkontroluje, jestli je řádek označený jako ignorovaný. Pro transformace s více než jedním vstupním datovým proudem můžete index (založený na 1) předat tomuto datovému proudu. Index datového proudu musí být buď 1, nebo 2 a výchozí hodnota je 1.
Vložit Zkontroluje, jestli je řádek označený pro vložení. Pro transformace s více než jedním vstupním datovým proudem můžete index (založený na 1) předat tomuto datovému proudu. Index datového proudu musí být buď 1, nebo 2 a výchozí hodnota je 1.
isMatch Zkontroluje, jestli se řádek při vyhledávání shodoval. Pro transformace s více než jedním vstupním datovým proudem můžete index (založený na 1) předat tomuto datovému proudu. Index datového proudu musí být buď 1, nebo 2 a výchozí hodnota je 1.
isNull Zkontroluje, jestli je hodnota NULL.
Aktualizace Zkontroluje, jestli je řádek označený k aktualizaci. Pro transformace s více než jedním vstupním datovým proudem můžete index (založený na 1) předat tomuto datovému proudu. Index datového proudu musí být buď 1, nebo 2 a výchozí hodnota je 1.
isUpsert Zkontroluje, jestli je řádek označený pro vložení. Pro transformace s více než jedním vstupním datovým proudem můžete index (založený na 1) předat tomuto datovému proudu. Index datového proudu musí být buď 1, nebo 2 a výchozí hodnota je 1.
jaroWinkler Získá JaroWinkler vzdálenost mezi dvěma řetězci.
lastDayOfMonth Získá poslední datum měsíce daného data.
menší Porovnání menší než nebo rovno operátoru. Stejné jako operátor <=.
zbývá Extrahuje podřetězec začínající na indexu 1 s počtem znaků. Stejné jako podřetězec (str, 1, n).
length Vrátí délku řetězce.
cházet Operátor porovnání less. Stejné jako operátor <.
lesserOrEqual Porovnání menší než nebo rovno operátoru. Stejné jako operátor <=.
levenshtein Získá levenshtein vzdálenost mezi dvěma řetězci.
jako Vzor je řetězec, který se bude shodovat s doslova. Výjimky jsou následující speciální symboly: _ odpovídá jakémukoli jednomu znaku ve vstupu (podobně jako. v posix regulárních výrazech)
Hledat Vyhledá pozici (na základě 1) podřetězce v řetězci, který spouští určitou pozici. Pokud je pozice vynechána, je považována za začátek řetězce. hodnota 0 se vrátí, pokud nebyla nalezena.
protokolu Vypočítá hodnotu protokolu. Volitelná základní hodnota může být poskytnuta v jiném Eulerova čísle, pokud je použito.
log10 – Vypočítá hodnotu protokolu založenou na 10 Base.
malým Malá písmena řetězce.
lpad Vlevo vyplní řetězec doplněním zadaného odsazení, dokud nemá určitou délku. Pokud je řetězec větší nebo roven délce, je oříznut na délku.
LTrim Levá ořízne řetězec úvodních znaků. Pokud není zadán druhý parametr, ořízne prázdné znaky. Jinak ořízne libovolný znak určený ve druhém parametru.
algoritmy Vypočítá výtah MD5 sady sloupců různých primitivních typů DataTypes a vrátí šestnáctkový řetězec 32 znaků. Dá se použít k výpočtu otisku prstu pro řádek.
komponentu Získá hodnotu milisekundy pro datum. Můžete předat volitelné časové pásmo ve formátu "GMT", "PST", "UTC", "Amerika/Kajmanské". Místní časové pásmo se používá jako výchozí. SimpleDateFormatPro dostupné formáty se podívejte na třídu Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
milisekundy Doba v milisekundách pro počet milisekund
minus Odečte čísla. Odečíst počet dní od data. Odečíst dobu trvání z časového razítka. Ododečte dvě časová razítka k získání rozdílů v milisekundách. Stejné jako operátor--.
za Získá hodnotu minuty časového razítka. Můžete předat volitelné časové pásmo ve formátu "GMT", "PST", "UTC", "Amerika/Kajmanské". Místní časové pásmo se používá jako výchozí. SimpleDateFormatPro dostupné formáty se podívejte na třídu Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
minuty Doba trvání v milisekundách na počet minut
střední Zbytek páru čísel. Stejné jako operátor%.
month Získá hodnotu měsíce pro datum nebo časové razítko.
monthsBetween Vrátí počet měsíců mezi dvěma kalendářními daty. Výpočet můžete zaokrouhlit. Můžete předat volitelné časové pásmo ve formátu "GMT", "PST", "UTC", "Amerika/Kajmanské". Místní časové pásmo se používá jako výchozí. SimpleDateFormatPro dostupné formáty se podívejte na třídu Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
hodnotou Vynásobí dvojici čísel. Stejné jako operátor *.
negate Negace čísla. Změní kladné hodnoty na záporné a naopak.
nextSequence Vrátí další jedinečnou sekvenci. Číslo je po sobě po sobě pouze v rámci oddílu a je předponou partitionId.
normalizovat Normalizuje řetězcovou hodnotu pro oddělení zvýrazněných znaků Unicode.
mění Logický operátor negace.
notEquals Operátor porovnání není rovno. Stejné jako != – operátor.
notNull (nenulová) Zkontroluje, jestli hodnota není NULL.
null Vrátí hodnotu NULL. Pokud existuje sloupec s názvem null, použijte syntax(null()) funkci . Každá operace, která používá , bude mít za následek hodnotu NULL.
nebo Logický operátor OR. Stejné jako | | .
pMod (pMod) Positive Modulus of pair of numbers (Kladný modul páru čísel)
Partitionid Vrátí ID aktuálního oddílu, ve které je vstupní řádek.
Sílu Zvýší jednu číslu na druhou.
Radiánech Převede stupně na radiány.
Náhodné Vrátí náhodné číslo podle volitelného předsídku v rámci oddílu. Přediména by měla být pevná hodnota a používá se ve spojení s partitionId k vytvoření náhodných hodnot.
regexExtract Extrahujte odpovídající podřetězec pro daný vzor regulárního výrazu. Poslední parametr identifikuje skupinu shod a při vynechání je výchozí hodnota 1. Pomocí <regex> (zpětná uvozovka) porovnáte řetězec bez uvozovek.
regexMatch Zkontroluje, jestli řetězec odpovídá danému vzoru regulárního výrazu. Pomocí <regex> (zpětná uvozovka) porovnáte řetězec bez uvozovek.
regexReplace (místo pro regulární výrazy) Nahraďte všechny výskyty vzoru regulárního výrazu jiným dílčím řetězcem v daném řetězci Use (zpětná uvozovka) tak, aby <regex> odpovídaly řetězci bez uvozování.
regexSplit Rozdělí řetězec na základě oddělovače na základě regulárního výrazu a vrátí pole řetězců.
Nahradit Nahraďte všechny výskyty podřetězce jiným dílčím řetězcem v daném řetězci. Pokud je poslední parametr vynechán, je ve výchozím nastavení prázdný řetězec.
Reverzní Obrátí řetězec.
Právo Extrahuje zprava podřetězec s počtem znaků. Stejné jako SUBSTRING(str, LENGTH(str) - n, n).
rlike Zkontroluje, jestli řetězec odpovídá danému vzoru regulárního výrazu.
Kolo Zaokrouhlí číslo podle volitelného měřítka a volitelného režimu zaokrouhlení. Pokud je škálování vynecháno, má výchozí hodnotu 0. Pokud je režim vynechán, je ve výchozím nastavení ROUND_HALF_UP(5). Mezi hodnoty pro zaokrouhlení patří
rpad Pravým tlačítkem odsudí řetězec zadaným odsazením, dokud nebude o určité délce. Pokud je řetězec stejný nebo větší než délka, oříznutá na délku.
Rtrim Zprava ořízněte řetězec koncových znaků. Pokud druhý parametr není zadán, ořízněte prázdné znaky. Jinak oříznutí libovolného znaku zadaného ve druhém parametru.
Druhé Získá druhou hodnotu data. Volitelně můžete předat časové pásmo ve formátu GMT, PST, UTC, America/Cayman. Jako výchozí se používá místní časové pásmo. Dostupné formáty najdete SimpleDateFormat ve třídě Jazyka Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
Sekund Doba trvání v milisekundách po dobu několika sekund.
sha1 (sha1) Vypočítá hodnotu hash SHA-1 sady sloupců s různými primitivními datovými typy a vrátí 40znaky šestnáctkového řetězce. Můžete ho použít k výpočtu otisku prstu pro řádek.
sha2 (sha2) Vypočítá hodnotu hash SHA-2 sady sloupců s různými primitivními datovými typy s danou bitovou délkou, která může mít pouze hodnoty 0(256), 224, 256, 384, 512. Můžete ho použít k výpočtu otisku prstu pro řádek.
Hřích Vypočítá sinusovou hodnotu.
Sinh Vypočítá hyperbolickou sinusovou hodnotu.
Soundex Získá soundex kód pro řetězec.
Rozdělit Rozdělí řetězec na základě oddělovače a vrátí pole řetězců.
Sqrt Vypočítá odmocninu čísla.
Startswith Zkontroluje, jestli řetězec začíná zadaným řetězcem.
subDays Odečítá dny od data nebo časového razítka. Stejné jako operátor - pro date.
dílčí měsíce Odečítá měsíce od data nebo časového razítka.
Podřetězec Extrahuje z pozice podřetězec určité délky. Pozice je založená na 1. Pokud je délka vynechána, je ve výchozím nastavení na konec řetězce.
Tan Vypočítá hodnotu tangensu.
tanh Vypočítá hodnotu hyperbolického tangensu.
Přeložit Nahradí jednu sadu znaků jinou sadu znaků v řetězci. Znaky mají nahrazení od 1 do 1.
Trim Oříznutí řetězce počátečních a koncových znaků. Pokud druhý parametr není zadán, ořízněte prázdné znaky. Jinak oříznutí libovolného znaku zadaného ve druhém parametru.
podmínka Vždy vrátí hodnotu true. Funkci použijte, syntax(true()) Pokud je sloupec s názvem "true".
typeMatch Odpovídá typu sloupce. Dá se použít jenom ve výrazech vzoru. číslo odpovídá krátkému, celému číslu, dlouhému, dvojitému, floatu nebo desetinnému číslu, které odpovídá krátkému, celému číslu, dlouhému a zlomku odpovídá typu datum nebo časové razítko.
Unescape – Odřídí řetězec v závislosti na formátu. Hodnoty literálu pro přijatelný formát jsou "JSON", "XML", "ECMAScript", "HTML", "Java".
umístit Velká písmena řetězce.
uuid Vrátí generovaný UUID.
weekOfYear Získá týden v roce, který má dané datum.
Week Doba trvání v milisekundách pro počet týdnů
XOR Logický operátor XOR Stejné jako u operátoru ^.
year Získá hodnotu roku pro datum.

Agregační funkce

Následující funkce jsou k dispozici pouze v transformacích agregace, Pivot, UNPIVOT a Window.

Agregační funkce Úkol
approxDistinctCount Získá přibližný agregovaný počet jedinečných hodnot pro sloupec. Nepovinným druhým parametrem je řízení chyby odhadu.
volání Získá průměr hodnot sloupce.
avgIf Na základě kritérií získá průměrnou hodnotu sloupce.
shromáždění Shromáždí všechny hodnoty výrazu v agregované skupině do pole. Struktury je možné shromažďovat a transformovat do alternativních struktur během tohoto procesu. Počet položek bude stejný jako počet řádků v dané skupině a může obsahovat hodnoty null. Počet shromážděných položek by měl být malý.
count Získá agregovaný počet hodnot. Pokud jsou zadány volitelné sloupce, ignorují se hodnoty NULL v počtu.
countDistinct Získá agregovaný počet jedinečných hodnot sady sloupců.
Funkcí Na základě kritérií získá agregovaný počet hodnot. Pokud je zadán volitelný sloupec, ignoruje hodnoty NULL v počtu.
covariancePopulation Získá kovarianci populace mezi dvěma sloupci.
covariancePopulationIf Na základě kritérií získá kovarianci populace dvou sloupců.
covarianceSample Získá ukázkovou odchylku dvou sloupců.
covarianceSampleIf Na základě kritérií Získá vzorek kovariance dvou sloupců.
první Získá první hodnotu skupiny sloupců. Pokud je vynechán druhý parametr ignoreNulls, předpokládá se hodnota false.
DISTINCT Najde, zda je sloupec nebo sada sloupců odlišná. Nepočítá hodnotu null jako jedinečnou hodnotu.
špičat Získá špičatost sloupce.
kurtosisIf Na základě kritérií získá špičatost sloupce.
posledního Načte poslední hodnotu skupiny sloupců. Pokud je vynechán druhý parametr ignoreNulls, předpokládá se hodnota false.
počet Získá maximální hodnotu sloupce.
maxIf Na základě kritérií získá maximální hodnotu sloupce.
mean Získá průměrnou hodnotu sloupce. Stejné jako prům.
meanIf Na základě kritérií získá průměrnou hodnotu sloupce. Stejné jako avgIf.
min Získá minimální hodnotu sloupce.
minIf Na základě kritérií získá minimální hodnotu sloupce.
případné Získá zešikmení sloupce.
skewnessIf Na základě kritérií získá zešikmení sloupce.
StdDev Získá směrodatnou odchylku sloupce.
stddevIf Na základě kritérií získá směrodatnou odchylku sloupce.
stddevPopulation Získá směrodatnou odchylku základního souboru sloupce.
stddevPopulationIf Na základě kritérií získá směrodatnou odchylku základního souboru sloupce.
stddevSample Získá směrodatnou odchylku sloupce.
stddevSampleIf Na základě kritérií Získá vzorek směrodatnou odchylku sloupce.
zapůjčen Získá agregovaný součet číselného sloupce.
sumDistinct Získá agregovaný součet jedinečných hodnot číselného sloupce.
sumDistinctIf Na základě kritérií získá agregovaný součet číselného sloupce. Podmínka může být založená na libovolném sloupci.
Sumif Na základě kritérií získá agregovaný součet číselného sloupce. Podmínka může být založená na libovolném sloupci.
Odchylka Získá odchylku sloupce.
varianceIf Na základě kritérií získá odchylku sloupce.
variancePopulation Získá odchylku základního souboru sloupce.
variancePopulationIf Na základě kritérií získá odchylku populace sloupce.
varianceSample Získá nezaujatou odchylku sloupce.
varianceSampleIf Na základě kritérií získá nezaujatou odchylku sloupce.

Funkce pro práci s poli

Funkce polí provádějí transformace datových struktur, které jsou poli. Mezi ně patří speciální klíčová slova pro adresování prvků pole a indexů:

  • #acc představuje hodnotu, kterou chcete zahrnout do jednoho výstupu při snížení hodnoty pole.
  • #index představuje aktuální index pole spolu s čísly indexu pole. #index2, #index3 ...
  • #item představuje aktuální hodnotu prvku v poli .
Funkce array Úkol
array Vytvoří pole položek. Všechny položky by měly být stejného typu. Pokud nejsou zadány žádné položky, je výchozím polem prázdného řetězce. Stejné jako operátor [] pro vytváření.
Na Vyhledá prvek v indexu pole. Index je založený na 1. Index mimo hranice má za výsledek hodnotu null. Vyhledá hodnotu v mapě vzhledem ke klíči. Pokud klíč není nalezen, vrátí hodnotu null.
Obsahuje Vrátí hodnotu true, pokud se kterýkoli prvek v poskytnutém poli v zadaném predikátu vyhodnotí jako true. Contains očekává odkaz na jeden prvek ve funkci predikátu jako #item.
Odlišné Vrátí odlišnou sadu položek z pole.
Kromě Vrátí sadu rozdílů jednoho pole z jiného zahození duplicit.
Filtr Filtruje prvky z pole, které nesplňuje poskytnutý predikát. Filter očekává odkaz na jeden prvek ve funkci predikátu jako #item.
Najít Najde první položku z pole, které odpovídá podmětu. Přebírá funkci filtru, ve které můžete adresut položku v poli jako #item. U hlouběji vnořených map můžete na nadřazené mapy odkazovat pomocí notace #item_n(#item_1, #item_2...).
Zploštit Zploštěte pole nebo pole do jednoho pole. Pole atomických položek se vrátí beze změny. Poslední argument je volitelný a ve výchozím nastavení má hodnotu false, aby rekurzivně zploštěl více než jednu úroveň hloubky.
In Kontroluje, zda je položka v poli.
intersect Vrátí sadu jedinečných položek průniku ze 2 polí.
Mapu Mapy každý prvek pole na nový prvek pomocí poskytnutého výrazu. Map očekává odkaz na jeden prvek ve funkci výrazu jako #item.
mapIf Podmíněně mapuje pole na jiné pole o stejné nebo menší délce. Hodnoty mohou být libovolného datového typu, včetně structTypes. Přebírá funkci mapování, ve které můžete adresut položku v poli jako #item a aktuální index jako #index. U hlouběji vnořených map můžete pomocí notace odkazovat na nadřazené #item_[n](#item_1, #index_1...) mapy.
mapIndex Mapy každý prvek pole na nový prvek pomocí poskytnutého výrazu. Map očekává odkaz na jeden prvek ve funkci výrazu jako #item a odkaz na index prvku jako #index.
mapLoop Prochází smyčkou od 1 k délce a vytvoří pole této délky. Přebírá funkci mapování, ve které můžete adresovat index v poli jako #index. U hlouběji vnořených map můžete na nadřazené mapy odkazovat pomocí notace #index_n(#index_1, #index_2...).
Snížit Akumuluje prvky v poli. Reduce očekává odkaz na zásobník a jeden prvek první funkce výrazu jako #acc a #item a očekává, že se výsledná hodnota použije jako #result ve druhé funkci výrazu.
Velikost Najde velikost pole nebo typu mapy.
Plátek Extrahuje podmnožinu pole z pozice. Pozice je založená na 1. Pokud je délka vynechána, je ve výchozím nastavení na konec řetězce.
Řazení Seřadí pole pomocí poskytnuté predikátové funkce. Funkce Sort očekává odkaz na dva po sobě jdoucí prvky ve funkci výrazu jako #item1 a #item2.
Rozvinout Rozbalí pole do sady řádků a opakuje hodnoty pro zbývající sloupce v každém řádku.
Unie Vrátí sadu sjednocených položek ze 2 polí.

Funkce vyhledávání v mezipaměti

Následující funkce jsou dostupné jenom při použití vyhledávání uloženého v mezipaměti, pokud jste zahrnou jímku v mezipaměti.

Funkce vyhledávání v mezipaměti Úkol
Vyhledávání Vyhledá první řádek z jímky uložené v mezipaměti pomocí zadaných klíčů, které odpovídají klíčům z jímky uložené v mezipaměti.
ml přichytát Vyhledá všechny odpovídající řádky z jímky uložené v mezipaměti pomocí zadaných klíčů, které odpovídají klíčům z jímky uložené v mezipaměti.
Výstup Vrátí první řádek výsledků jímky mezipaměti.
Výstupy Vrátí celou sadu řádků výstupu výsledků jímky mezipaměti.

Převodní funkce

Převodní funkce slouží k převodu dat a testování datových typů.

Převodní funkce Úkol
isBitSet Kontroluje, zda je bitová pozice nastavena v této bitové sadě.
setBitSet Nastaví pozici bitu v této bitové bitové sady.
isBoolean Kontroluje, jestli je řetězcová hodnota logickou hodnotou podle pravidel toBoolean()
isByte (jebajt) Kontroluje, jestli je řetězcová hodnota hodnota byte vzhledem k volitelném formátu v souladu s pravidly toByte()
Isdate Pomocí volitelného formátu vstupního data zkontroluje, jestli vstupní řetězec data je datum. Dostupné formáty najdete v tématu SimpleDateFormat jazyka Java. Pokud je formát vstupního data vynechán, výchozí formát je yyyy-[M]M-[d]d . Přijímané formáty jsou [ yyyy, yyyy-[M]M, yyyy-[M]M-[d]d, yyyy-[M]M-[d]dT* ]
isShort Kontroly řetězcové hodnoty jsou krátkou hodnotou s volitelným formátem v souladu s pravidly toShort()
isInteger Kontroly řetězcové hodnoty jsou celočíselnou hodnotou s volitelným formátem v souladu s pravidly toInteger()
isLong Kontroly řetězcové hodnoty jsou dlouhou hodnotou s volitelným formátem v souladu s pravidly toLong()
isNan Zkontrolujte, jestli se jedná o číslo.
isFloat Kontroly řetězcové hodnoty jsou hodnotou float s volitelným formátem v souladu s pravidly toFloat()
jeDouble Kontroly řetězcové hodnoty jsou dvojitou hodnotou s volitelným formátem v souladu s pravidly toDouble()
isDecimal Kontrola řetězcové hodnoty je desetinná hodnota vzhledem k volitelném formátu podle pravidel toDecimal()
isTimestamp Pomocí volitelného formátu vstupního časového razítka zkontroluje, jestli je vstupní řetězec data časové razítko. Dostupné formáty najdete v tématu SimpleDateFormat jazyka Java. Pokud je časové razítko vynecháno, použije se yyyy-[M]M-[d]d hh:mm:ss[.f...] výchozí vzor. Volitelně můžete předat časové pásmo ve formátu GMT, PST, UTC, America/Cayman. Časové razítko podporuje přesnost až milisekund s hodnotou 999. Dostupné formáty najdete v souboru SimpleDateFormat jazyka Java.
toBase64 Zakóduje daný řetězec v base64.
toBinary (toBinary) Převede jakékoli číselné/datum/časové razítko/řetězec na binární reprezentaci.
toBoolean Převede hodnotu ('t', 'true', 'y', 'yes', '1') na true a ('f', 'false', 'n', 'no', '0') na false a NULL pro jakoukoli jinou hodnotu.
Tobyte Převede všechny číselné hodnoty nebo řetězce na hodnotu typu byte. Pro převod lze použít volitelný desítkový formát Java.
toDate (Datum toDate) Převede vstupní řetězec data na datum pomocí volitelného formátu vstupního data. Dostupné formáty najdete SimpleDateFormat ve třídě Jazyka Java. Pokud je formát vstupního data vynechán, výchozí formát je yyyy-[M]M-[d]d. Přijaté formáty jsou :[ yyyy, yyyy-[M]M, yyyy-[M]M-[d]d, yyyy-[M]M-[d]dT* ].
toDecimal Převede libovolný číselný řetězec nebo řetězec na desetinnou hodnotu. Pokud není zadána přesnost a škálování, má výchozí hodnotu (10,2). Pro převod lze použít volitelný desítkový formát Java. Volitelný formát národního prostředí ve formě jazyka BCP47, jako je en-US, de, zh-CN.
Todouble Převede všechny číselné hodnoty nebo řetězce na dvojitou hodnotu. Pro převod lze použít volitelný desítkový formát Java. Volitelný formát národního prostředí ve formě jazyka BCP47, jako je en-US, de, zh-CN.
toFloat Převede všechny číselné hodnoty nebo řetězce na hodnotu s plovoucí desetinnou čárkou. Pro převod lze použít volitelný desítkový formát Java. Zkrátí všechny dvojité.
toInteger (integrace) Převede všechny číselné hodnoty nebo řetězce na celočíselnou hodnotu. Pro převod lze použít volitelný desítkový formát Java. Zkrátí všechny typy long, float a double.
Tolong Převede všechny číselné hodnoty nebo řetězce na dlouhou hodnotu. Pro převod lze použít volitelný desítkový formát Java. Zkrátí všechny float, double.
toShort (toShort) Převede libovolný číselný řetězec nebo řetězec na krátkou hodnotu. Pro převod lze použít volitelný desítkový formát Java. Zkrátí libovolné celé číslo, long, float, double.
Tostring Převede primitivní datový typ na řetězec. Pro čísla a datum je možné zadat formát. Pokud není zadáno, je vybrána výchozí hodnota systému. Desetinný formát Java se používá pro čísla. Všechny možné formáty dat najdete v jazyce Java SimpleDateFormat. Výchozí formát je rrrr-MM-dd.
toTimestamp Převede řetězec na časové razítko s volitelným formátem časového razítka. Pokud časové razítko vyjmete, použije se výchozí vzor yyyy-[M]M-[d]d hh:mm:ss[.f...]. Volitelně můžete předat časové pásmo ve formátu GMT, PST, UTC, America/Cayman. Časové razítko podporuje přesnost až milisekund s hodnotou 999. Dostupné formáty najdete SimpleDateFormat ve třídě Jazyka Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
toUTC (ToUTC) Převede časové razítko na UTC. Volitelně můžete předat časové pásmo ve formátu GMT, PST, UTC, America/Cayman. Výchozí hodnota je aktuální časové pásmo. Dostupné formáty najdete SimpleDateFormat ve třídě Jazyka Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

Mapové funkce

Funkce mapování provádějí operace s datovými typy mapování.

Funkce Map Úkol
Přidružit Vytvoří mapu klíčů/hodnot. Všechny klíče & hodnoty by měly být stejného typu. Pokud nejsou zadány žádné položky, je nastavena jako výchozí mapování řetězce na typ řetězce. Stejné jako [ -> ] operátor vytvoření. Klíče a hodnoty by se měly vzájemně střídat.
Hodnoty na hodnotě Vytvoří mapu klíč/hodnota. První parametr je pole klíčů a druhý je pole hodnot. Obě pole by měly mít stejnou délku.
mapAssociation Transformuje mapu přidružením klíčů k novým hodnotám. Vrátí pole. Převezme funkci mapování, kde můžete položku adresovat jako #key a aktuální hodnotu jako #value.
obnovit přidružení Transformuje mapu přidružením klíčů k novým hodnotám. Převezme funkci mapování, kde můžete položku adresovat jako #key a aktuální hodnotu jako #value.

Metafunctions

Metafunctions primárně funguje na metadatech v toku dat

Metafunkcí Úkol
byItem Najít podřízenou položku v rámci struktury nebo pole struktury, pokud existuje více shod, je vrácena první shoda. Pokud žádná shoda není, vrátí hodnotu NULL. Vrácená hodnota musí být typu převedený jednou z akcí převodu typu (? Datum? řetězec...). Názvy sloupců, které jsou známy v době návrhu, by měly být řešeny stejným názvem. Počítané vstupy se nepodporují, ale můžete použít substituce parametrů.
byOrigin Vybere hodnotu sloupce podle názvu v datovém proudu zdroje. Druhý argument je název zdrojového streamu. Pokud existuje více shod, je vrácena první shoda. Pokud žádná shoda není, vrátí hodnotu NULL. Vrácená hodnota musí být typu převedený jednou z funkcí pro převod typu (TO_DATE, TO_STRING...). Názvy sloupců, které jsou známy v době návrhu, by měly být řešeny stejným názvem. Počítané vstupy se nepodporují, ale můžete použít substituce parametrů.
byOrigins Vybere pole sloupců podle názvu v datovém proudu. Druhý argument je datový proud, ze kterého pochází. Pokud existuje více shod, je vrácena první shoda. Pokud žádná shoda není, vrátí hodnotu NULL. Vrácená hodnota musí být typu převedený jednou z funkcí pro převod typu (TO_DATE, TO_STRING...). Názvy sloupců, které jsou známy v době návrhu, by měly být řešeny stejným názvem. Počítané vstupy se nepodporují, ale můžete použít substituce parametrů.
byName Vybere hodnotu sloupce podle názvu v datovém proudu. Jako druhý argument můžete předat volitelný název datového proudu. Pokud existuje více shod, je vrácena první shoda. Pokud žádná shoda není, vrátí hodnotu NULL. Vrácená hodnota musí být typu převedený jednou z funkcí pro převod typu (TO_DATE, TO_STRING...). Názvy sloupců, které jsou známy v době návrhu, by měly být řešeny stejným názvem. Počítané vstupy se nepodporují, ale můžete použít substituce parametrů.
byNames Vyberte pole sloupců podle názvu v datovém proudu. Jako druhý argument můžete předat volitelný název datového proudu. Pokud existuje více shod, je vrácena první shoda. Pokud pro sloupec neexistují žádné shody, celý výstup je hodnota NULL. Vrácená hodnota vyžaduje funkce pro převod typu (do: do, toString,...). Názvy sloupců, které jsou známy v době návrhu, by měly být řešeny stejným názvem. Počítané vstupy se nepodporují, ale můžete použít substituce parametrů.
byPath Vyhledá hierarchickou cestu podle názvu v datovém proudu. Jako druhý argument můžete předat volitelný název datového proudu. Pokud se taková cesta nenajde, vrátí hodnotu null. Názvy sloupců/cesty známé v době návrhu by měly být řešeny stejným názvem nebo cestou zápisu tečky. Počítané vstupy se nepodporují, ale můžete použít substituce parametrů.
byPosition Vybere hodnotu sloupce podle relativní pozice (na základě 1) v datovém proudu. Pokud je pozice mimo rozsah, vrátí hodnotu NULL. Vrácená hodnota musí být typu převedený jednou z funkcí pro převod typu (TO_DATE, TO_STRING...). Počítané vstupy se nepodporují, ale můžete použít substituce parametrů.
hasPath Zkontroluje, jestli v datovém proudu existuje určitá hierarchická cesta podle názvu. Jako druhý argument můžete předat volitelný název datového proudu. Názvy sloupců/cesty známé v době návrhu by měly být řešeny stejným názvem nebo cestou zápisu tečky. Počítané vstupy se nepodporují, ale můžete použít substituce parametrů.
originColumns Načte všechny výstupní sloupce pro datový proud zdroje, ve kterém se vytvořily sloupce. Musí být uzavřený v jiné funkci.
soustavy Vrátí šestnáctkovou řetězcovou reprezentaci binární hodnoty.
unhex Unhexes binární hodnotu ze své řetězcové reprezentace. Dá se použít ve spojení s SHA2, algoritmus MD5 pro převod řetězce na binární reprezentaci.

Funkce okna

Následující funkce jsou k dispozici pouze v transformacích okna.

Windows funkce Úkol
cumeDist Funkce CumeDist vypočítá pozici hodnoty relativně ke všem hodnotám v oddílu. Výsledkem je počet řádků předcházejících nebo rovných aktuálnímu řádku v pořadí oddílu dělený celkovým počtem řádků v oddílu okna. Všechny hodnoty propojení v řazení se vyhodnotí na stejnou pozici.
denseRank Vypočítá pořadí hodnoty ve skupině hodnot zadaných v klauzuli ORDER by v okně. Výsledkem je jedna hodnota plus počet řádků předcházejících nebo rovných aktuálnímu řádku v pořadí oddílu. Hodnoty nebudou v sekvenci vydávat žádné mezery. Zhuštěné řazení funguje i v případě, že data nejsou seřazena a vyhledávají změny v hodnotách.
opožděn Získá hodnotu prvního parametru vyhodnoceného n řádků před aktuálním řádkem. Druhým parametrem je počet řádků, které se mají vyhledat, a výchozí hodnota je 1. Pokud není k dispozici tolik řádků, je vrácena hodnota null, pokud není zadána výchozí hodnota.
vést Získá hodnotu prvního parametru vyhodnoceného n řádků za aktuálním řádkem. Druhým parametrem je počet řádků, které se mají hledat, a výchozí hodnota je 1. Pokud není k dispozici tolik řádků, je vrácena hodnota null, pokud není zadána výchozí hodnota.
nTile NTileFunkce rozdělí řádky pro každý oddíl okna do n intervalů v rozsahu od 1 do nejvýše n . Hodnoty plechovky se budou lišit o nejvýše 1. Pokud počet řádků v oddílu nerozdělí rovnoměrně do počtu kbelíků, zbývající hodnoty se rozdělí pro každý kbelík, počínaje prvním kbelíkem. Funkce NTile je užitečná pro výpočet tertiles , kvartily, deciles a další běžné souhrnné statistiky. Funkce při inicializaci vypočítá dvě proměnné: Velikost normálního kbelíku bude mít přidaný jeden řádek navíc. Obě proměnné jsou založené na velikosti aktuálního oddílu. Během procesu výpočtu funkce sleduje číslo aktuálního řádku, číslo aktuálního kbelíku a číslo řádku, se kterým se kbelík změní (bucketThreshold). Když číslo aktuálního řádku dosáhne prahové hodnoty kbelíku, hodnota kbelíku se zvýší o jednu a prahová hodnota se zvýší o velikost kbelíku (plus jeden navíc, pokud je aktuální kbelík vyplněný).
Hodnost Vypočítá pořadí hodnoty ve skupině hodnot zadaných v klauzuli order by okna. Výsledkem je jedna plus počet řádků předcházejících aktuálnímu řádku v pořadí oddílu nebo roven aktuálnímu řádku. Hodnoty vytvoří mezery v sekvenci. Pořadí funguje i v případě, že data nejsou seřazená a hledá změny v hodnotách.
Rownumber Přiřadí sekvenční číslování řádků řádků v okně začínajícím na 1.

Abecední seznam všech funkcí

Následuje abecední seznam všech funkcí dostupných v mapování toků dat.

abs

abs(<value1> : number) => number

Absolutní hodnota čísla

  • abs(-20) -> 20
  • abs(10) -> 10

acos

acos(<value1> : number) => double

Vypočítá inverzní hodnotu kosinusu.

  • acos(1) -> 0.0

add

add(<value1> : any, <value2> : any) => any

Přidá dvojici řetězců nebo čísel. Přidá datum k počtu dnů. Přidá do časového razítka dobu trvání. Připojí jedno pole podobného typu k jinému. Stejné jako operátor + .

  • add(10, 20) -> 30
  • 10 + 20 -> 30
  • add('ice', 'cream') -> 'icecream'
  • 'ice' + 'cream' + ' cone' -> 'icecream cone'
  • add(toDate('2012-12-12'), 3) -> toDate('2012-12-15')
  • toDate('2012-12-12') + 3 -> toDate('2012-12-15')
  • [10, 20] + [30, 40] -> [10, 20, 30, 40]
  • toTimestamp('2019-02-03 05:19:28.871', 'yyyy-MM-dd HH:mm:ss.SSS') + (days(1) + hours(2) - seconds(10)) -> toTimestamp('2019-02-04 07:19:18.871', 'yyyy-MM-dd HH:mm:ss.SSS')

addDays

addDays(<date/timestamp> : datetime, <days to add> : integral) => datetime

Přidejte dny do data nebo časového razítka. Stejné jako operátor + pro date.

  • addDays(toDate('2016-08-08'), 1) -> toDate('2016-08-09')

addMonths

addMonths(<date/timestamp> : datetime, <months to add> : integral, [<value3> : string]) => datetime

Přidejte měsíce k datu nebo časového razítka. Volitelně můžete předat časové pásmo.

  • addMonths(toDate('2016-08-31'), 1) -> toDate('2016-09-30')
  • addMonths(toTimestamp('2016-09-30 10:10:10'), -1) -> toTimestamp('2016-08-31 10:10:10')

and

and(<value1> : boolean, <value2> : boolean) => boolean

Logický operátor AND. Stejné jako &&.

  • and(true, false) -> false
  • true && false -> false

approxDistinctCount

approxDistinctCount(<value1> : any, [ <value2> : double ]) => long

Získá přibližný agregovaný počet jedinečných hodnot pro sloupec. Druhým volitelným parametrem je řízení chyby odhadu.

  • approxDistinctCount(ProductID, .05) => long

array

array([<value1> : any], ...) => array

Vytvoří pole položek. Všechny položky by měly být stejného typu. Pokud nejsou zadány žádné položky, je výchozím polem prázdného řetězce. Stejné jako operátor [] pro vytváření.

  • array('Seattle', 'Washington')
  • ['Seattle', 'Washington']
  • ['Seattle', 'Washington'][1]
  • 'Washington'

asin

asin(<value1> : number) => double

Vypočítá inverzní sinusovou hodnotu.

  • asin(0) -> 0.0

associate

reassociate(<value1> : map, <value2> : binaryFunction) => map

Vytvoří mapu klíčů/hodnot. Všechny klíče & hodnoty by měly být stejného typu. Pokud nejsou zadány žádné položky, je ve výchozím nastavení namapován řetězec na typ řetězce. Stejné jako operátor [ -> ] vytvoření. Klíče a hodnoty by se měly mezi sebou střídat.

  • associate('fruit', 'apple', 'vegetable', 'carrot' )=> ['fruit' -> 'apple', 'vegetable' -> 'carrot']

at

at(<value1> : array/map, <value2> : integer/key type) => array

Vyhledá prvek v indexu pole. Index je založený na 1. Index mimo hranice má za výsledek hodnotu null. Vyhledá hodnotu v mapě vzhledem ke klíči. Pokud klíč není nalezen, vrátí hodnotu null.

  • at(['apples', 'pears'], 1) => 'apples'
  • at(['fruit' -> 'apples', 'vegetable' -> 'carrot'], 'fruit') => 'apples'

atan

atan(<value1> : number) => double

Vypočítá inverzní tangensovou hodnotu.

  • atan(0) -> 0.0

atan2

atan2(<value1> : number, <value2> : number) => double

Vrátí úhel v radiánech mezi kladnou osou X roviny a bodem daným souřadnicemi.

  • atan2(0, 0) -> 0.0

avg

avg(<value1> : number) => number

Získá průměr hodnot sloupce.

  • avg(sales)

avgIf

avgIf(<value1> : boolean, <value2> : number) => number

Na základě kritérií získá průměr hodnot sloupce.

  • avgIf(region == 'West', sales)

between

between(<value1> : any, <value2> : any, <value3> : any) => boolean

Zkontroluje, jestli je první hodnota mezi dvěma dalšími hodnotami včetně. Je možné porovnávat číselné hodnoty, hodnoty řetězců a data a času. * between(10, 5, 24)

  • true
  • between(currentDate(), currentDate() + 10, currentDate() + 20)
  • false

bitwiseAnd

bitwiseAnd(<value1> : integral, <value2> : integral) => integral

Bitový operátor And napříč celočíselným typem. Stejné jako & operátor * bitwiseAnd(0xf4, 0xef)

  • 0xe4
  • (0xf4 & 0xef)
  • 0xe4

bitwiseOr

bitwiseOr(<value1> : integral, <value2> : integral) => integral

Bitový operátor Or napříč celočíselným typem. Stejné jako | Operátor * bitwiseOr(0xf4, 0xef)

  • 0xff
  • (0xf4 | 0xef)
  • 0xff

bitwiseXor

bitwiseXor(<value1> : any, <value2> : any) => any

Bitový operátor Or napříč celočíselným typem. Stejné jako | Operátor * bitwiseXor(0xf4, 0xef)

  • 0x1b
  • (0xf4 ^ 0xef)
  • 0x1b
  • (true ^ false)
  • true
  • (true ^ true)
  • false

blake2b

blake2b(<value1> : integer, <value2> : any, ...) => string

Vypočítá hodnotu Hash2 sady sloupců s různými primitivními datovými typy s danou bitovou délkou, která může být pouze násobky 8 od 8 & 512. Můžete ho použít k výpočtu otisku prstu pro řádek. * blake2b(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))

  • 'c9521a5080d8da30dffb430c50ce253c345cc4c4effc315dab2162dac974711d'

blake2bBinary

blake2bBinary(<value1> : integer, <value2> : any, ...) => binary

Vypočítá hodnotu Hash2 sady sloupců s různými primitivními datovými typy s danou bitovou délkou, která může být pouze násobky 8 od 8 & 512. Můžete ho použít k výpočtu otisku prstu pro řádek. * blake2bBinary(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))

  • unHex('c9521a5080d8da30dffb430c50ce253c345cc4c4effc315dab2162dac974711d')

byItem

byItem(<parent column> : any, <column name> : string) => any

Vyhledání dílčí položky v rámci struktury nebo pole struktury Pokud existuje více shod, vrátí se první shoda. Pokud se žádná shoda neshoduje, vrátí hodnotu NULL. Vrácenou hodnotu je třeba převést na typ pomocí jedné z akcí převodu typu(? Datum? řetězec ...). Názvy sloupců známé v době návrhu by se měly adresovat pouze podle jejich názvu. Vypočítané vstupy se nepodporují, ale můžete použít náhrady parametrů. * byItem( byName('customer'), 'orderItems') ? (itemName as string, itemQty as integer)

  • byItem( byItem( byName('customer'), 'orderItems'), 'itemName') ? string

byName

byName(<column name> : string, [<stream name> : string]) => any

Vybere hodnotu sloupce podle názvu ve streamu. Jako druhý argument můžete předat volitelný název datového proudu. Pokud existuje více shod, vrátí se první shoda. Pokud se žádná shoda neshoduje, vrátí hodnotu NULL. Vrácenou hodnotu musí být typ převeden jedním z funkcí převodu typu(TO_DATE, TO_STRING ...). Názvy sloupců známé v době návrhu by se měly adresovat pouze podle jejich názvu. Vypočítané vstupy se nepodporují, ale můžete použít náhrady parametrů.

  • toString(byName('parent'))
  • toLong(byName('income'))
  • toBoolean(byName('foster'))
  • toLong(byName($debtCol))
  • toString(byName('Bogus Column'))
  • toString(byName('Bogus Column', 'DeriveStream'))

byNames

byNames(<column names> : array, [<stream name> : string]) => any

Vyberte pole sloupců podle názvu ve streamu. Jako druhý argument můžete předat volitelný název datového proudu. Pokud existuje více shod, vrátí se první shoda. Pokud pro sloupec neexistují žádné shody, je celý výstup hodnotou NULL. Vrácená hodnota vyžaduje funkce převodu typu (toDate, toString, ...). Názvy sloupců známé v době návrhu by se měly adresovat pouze podle jejich názvu. Vypočítané vstupy se nepodporují, ale můžete použít náhrady parametrů.

  • toString(byNames(['parent', 'child']))
  • byNames(['parent']) ? string
  • toLong(byNames(['income']))
  • byNames(['income']) ? long
  • toBoolean(byNames(['foster']))
  • toLong(byNames($debtCols))
  • toString(byNames(['a Column']))
  • toString(byNames(['a Column'], 'DeriveStream'))
  • byNames(['orderItem']) ? (itemName as string, itemQty as integer)

byOrigin

byOrigin(<column name> : string, [<origin stream name> : string]) => any

Vybere hodnotu sloupce podle názvu v streamu původu. Druhým argumentem je název původního streamu. Pokud existuje více shod, vrátí se první shoda. Pokud se žádná shoda neshoduje, vrátí hodnotu NULL. Vrácenou hodnotu musí být typ převeden jedním z funkcí převodu typu(TO_DATE, TO_STRING ...). Názvy sloupců známé v době návrhu by se měly adresovat pouze podle jejich názvu. Vypočítané vstupy se nepodporují, ale můžete použít náhrady parametrů.

  • toString(byOrigin('ancestor', 'ancestorStream'))

byOrigins

byOrigins(<column names> : array, [<origin stream name> : string]) => any

Vybere pole sloupců podle názvu ve streamu. Druhým argumentem je datový proud, ze kterého pochází. Pokud existuje více shod, vrátí se první shoda. Pokud se žádná shoda neshoduje, vrátí hodnotu NULL. Vrácená hodnota musí být typu převedena jedním z funkcí převodu typu(TO_DATE, TO_STRING ...) Názvy sloupců známé v době návrhu by se měly adresovat pouze podle jejich názvu. Vypočítané vstupy se nepodporují, ale můžete použít náhrady parametrů.

  • toString(byOrigins(['ancestor1', 'ancestor2'], 'ancestorStream'))

byPath

byPath(<value1> : string, [<streamName> : string]) => any

Vyhledá hierarchickou cestu podle názvu ve streamu. Jako druhý argument můžete předat volitelný název datového proudu. Pokud taková cesta není nalezena, vrátí hodnotu null. Názvy nebo cesty sloupců známé v době návrhu by se měly adresovat pouze pomocí názvu nebo cesty notace tečky. Vypočítané vstupy se nepodporují, ale můžete použít náhrady parametrů.

  • byPath('grandpa.parent.child') => column

byPosition

byPosition(<position> : integer) => any

Vybere hodnotu sloupce podle relativní pozice (na základě 1) ve streamu. Pokud je pozice mimo hranice, vrátí hodnotu NULL. Vrácená hodnota musí být typu převedena jedním z funkcí převodu typu(TO_DATE, TO_STRING ...) Vypočítané vstupy se nepodporují, ale můžete použít náhrady parametrů.

  • toString(byPosition(1))
  • toDecimal(byPosition(2), 10, 2)
  • toBoolean(byName(4))
  • toString(byName($colName))
  • toString(byPosition(1234))

case

case(<condition> : boolean, <true_expression> : any, <false_expression> : any, ...) => any

Na základě střídavých podmínek platí jedna nebo druhá hodnota. Pokud je počet vstupů rovnoměrně, u ostatních vstupů se jako výchozí hodnota pro poslední podmínku používá hodnota NULL.

  • case(10 + 20 == 30, 'dumbo', 'gumbo') -> 'dumbo'
  • case(10 + 20 == 25, 'bojjus', 'do' < 'go', 'gunchus') -> 'gunchus'
  • isNull(case(10 + 20 == 25, 'bojjus', 'do' > 'go', 'gunchus')) -> true
  • case(10 + 20 == 25, 'bojjus', 'do' > 'go', 'gunchus', 'dumbo') -> 'dumbo'

cbrt

cbrt(<value1> : number) => double

Vypočítá kořenovou složku datové krychle čísla.

  • cbrt(8) -> 2.0

ceil

ceil(<value1> : number) => number

Vrátí nejmenší celé číslo, které není menší než číslo.

  • ceil(-0.1) -> 0

coalesce

coalesce(<value1> : any, ...) => any

Vrátí první nenulovou hodnotu ze sady vstupů. Všechny vstupy by měly být stejného typu.

  • coalesce(10, 20) -> 10
  • coalesce(toString(null), toString(null), 'dumbo', 'bo', 'go') -> 'dumbo'

collect

collect(<value1> : any) => array

Shromáždí všechny hodnoty výrazu v agregované skupině do pole. Struktury je možné shromažďovat a transformovat do alternativních struktur během tohoto procesu. Počet položek bude stejný jako počet řádků v dané skupině a může obsahovat hodnoty null. Počet shromážděných položek by měl být malý.

  • collect(salesPerson)
  • collect(firstName + lastName))
  • collect(@(name = salesPerson, sales = salesAmount) )

columnNames

columnNames(<value1> : string) => array

Získá názvy všech výstupních sloupců pro datový proud. Jako druhý argument můžete předat volitelný název datového proudu.

  • columnNames()
  • columnNames('DeriveStream')

columns

columns([<stream name> : string]) => any

Získá hodnoty všech výstupních sloupců pro datový proud. Jako druhý argument můžete předat volitelný název datového proudu.

  • columns()
  • columns('DeriveStream')

compare

compare(<value1> : any, <value2> : any) => integer

Porovná dvě hodnoty stejného typu. Vrátí záporné celé číslo, pokud hodnota1 < hodnota2, 0 Pokud hodnota1 = = hodnota2, kladné hodnoty, pokud hodnota1 > hodnota2.

  • (compare(12, 24) < 1) -> true
  • (compare('dumbo', 'dum') > 0) -> true

concat

concat(<this> : string, <that> : string, ...) => string

Zřetězí proměnný počet řetězců dohromady. Totéž jako operátor + s řetězci.

  • concat('dataflow', 'is', 'awesome') -> 'dataflowisawesome'
  • 'dataflow' + 'is' + 'awesome' -> 'dataflowisawesome'
  • isNull('sql' + null) -> true

concatWS

concatWS(<separator> : string, <this> : string, <that> : string, ...) => string

Zřetězí proměnlivý počet řetězců spolu s oddělovačem. První parametr je oddělovač.

  • concatWS(' ', 'dataflow', 'is', 'awesome') -> 'dataflow is awesome'
  • isNull(concatWS(null, 'dataflow', 'is', 'awesome')) -> true
  • concatWS(' is ', 'dataflow', 'awesome') -> 'dataflow is awesome'

contains

contains(<value1> : array, <value2> : unaryfunction) => boolean

Vrátí hodnotu true, pokud je libovolný prvek v zadaném poli vyhodnocen jako true v zadaném predikátu. Obsahuje očekává odkaz na jeden prvek ve funkci predikátu jako #item.

  • contains([1, 2, 3, 4], #item == 3) -> true
  • contains([1, 2, 3, 4], #item > 5) -> false

cos

cos(<value1> : number) => double

Vypočítá hodnotu kosinusu.

  • cos(10) -> -0.8390715290764524

cosh

cosh(<value1> : number) => double

Vypočítá hyperbolický kosinus hodnoty.

  • cosh(0) -> 1.0

count

count([<value1> : any]) => long

Získá agregovaný počet hodnot. Pokud jsou zadány volitelné sloupce, ignorují se hodnoty NULL v počtu.

  • count(custId)
  • count(custId, custName)
  • count()
  • count(iif(isNull(custId), 1, NULL))

countDistinct

countDistinct(<value1> : any, [<value2> : any], ...) => long

Získá agregovaný počet jedinečných hodnot sady sloupců.

  • countDistinct(custId, custName)

countIf

countIf(<value1> : boolean, [<value2> : any]) => long

Na základě kritérií získá agregovaný počet hodnot. Pokud je zadán volitelný sloupec, ignoruje hodnoty NULL v počtu.

  • countIf(state == 'CA' && commission < 10000, name)

covariancePopulation

covariancePopulation(<value1> : number, <value2> : number) => double

Získá kovarianci populace mezi dvěma sloupci.

  • covariancePopulation(sales, profit)

covariancePopulationIf

covariancePopulationIf(<value1> : boolean, <value2> : number, <value3> : number) => double

Na základě kritérií získá kovarianci populace dvou sloupců.

  • covariancePopulationIf(region == 'West', sales)

covarianceSample

covarianceSample(<value1> : number, <value2> : number) => double

Získá ukázkovou odchylku dvou sloupců.

  • covarianceSample(sales, profit)

covarianceSampleIf

covarianceSampleIf(<value1> : boolean, <value2> : number, <value3> : number) => double

Na základě kritérií Získá vzorek kovariance dvou sloupců.

  • covarianceSampleIf(region == 'West', sales, profit)

crc32

crc32(<value1> : any, ...) => long

Vypočítá hodnotu hash CRC32 sady sloupců různých primitivních DataTypes dané bitové délky, která může být pouze z hodnot 0 (256), 224, 256, 384, 512. Dá se použít k výpočtu otisku prstu pro řádek.

  • crc32(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> 3630253689L

cumeDist

cumeDist() => integer

Funkce CumeDist vypočítá pozici hodnoty relativně ke všem hodnotám v oddílu. Výsledkem je počet řádků předcházejících nebo rovných aktuálnímu řádku v pořadí oddílu dělený celkovým počtem řádků v oddílu okna. Všechny hodnoty propojení v řazení se vyhodnotí na stejnou pozici.

  • cumeDist()

currentDate

currentDate([<value1> : string]) => date

Získá aktuální datum spuštění této úlohy. Můžete předat volitelné časové pásmo ve formátu "GMT", "PST", "UTC", "Amerika/Kajmanské". Místní časové pásmo se používá jako výchozí. SimpleDateFormatPro dostupné formáty se podívejte na třídu Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

  • currentDate() == toDate('2250-12-31') -> false
  • currentDate('PST') == toDate('2250-12-31') -> false
  • currentDate('America/New_York') == toDate('2250-12-31') -> false

currentTimestamp

currentTimestamp() => timestamp

Získá aktuální časové razítko, kdy se úloha začne spouštět s místním časovým pásmem.

  • currentTimestamp() == toTimestamp('2250-12-31 12:12:12') -> false

currentUTC

currentUTC([<value1> : string]) => timestamp

Získá aktuální časové razítko jako UTC. Pokud chcete, aby byl aktuální čas interpretován v jiném časovém pásmu než časové pásmo clusteru, můžete předat volitelné časové pásmo ve formátu "GMT", "PST", "UTC", "Amerika/Kajmanské". Ve výchozím nastavení je nastavené na aktuální časové pásmo. SimpleDateFormatPro dostupné formáty se podívejte na třídu Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. Pro převod času UTC na jiné použití časového pásma fromUTC() .

  • currentUTC() == toTimestamp('2050-12-12 19:18:12') -> false
  • currentUTC() != toTimestamp('2050-12-12 19:18:12') -> true
  • fromUTC(currentUTC(), 'Asia/Seoul') != toTimestamp('2050-12-12 19:18:12') -> true

dayOfMonth

dayOfMonth(<value1> : datetime) => integer

Vrátí den v měsíci, který má dané datum.

  • dayOfMonth(toDate('2018-06-08')) -> 8

dayOfWeek

dayOfWeek(<value1> : datetime) => integer

Vrátí den v týdnu daného data. 1 – neděle, 2 – pondělí..., 7 – sobota.

  • dayOfWeek(toDate('2018-06-08')) -> 6

dayOfYear

dayOfYear(<value1> : datetime) => integer

Načte den v roce na dané datum.

  • dayOfYear(toDate('2016-04-09')) -> 100

days

days(<value1> : integer) => long

Doba v milisekundách pro počet dní

  • days(2) -> 172800000L

degrees

degrees(<value1> : number) => double

Převede radiány na stupně.

  • degrees(3.141592653589793) -> 180

denseRank

denseRank() => integer

Vypočítá pořadí hodnoty ve skupině hodnot zadaných v klauzuli ORDER by v okně. Výsledkem je jedna hodnota plus počet řádků předcházejících nebo rovných aktuálnímu řádku v pořadí oddílu. Hodnoty nebudou v sekvenci vydávat žádné mezery. Zhuštěné řazení funguje i v případě, že data nejsou seřazena a vyhledávají změny v hodnotách.

  • denseRank()

distinct

distinct(<value1> : array) => array

Vrátí samostatnou sadu položek z pole.

  • distinct([10, 20, 30, 10]) => [10, 20, 30]

divide

divide(<value1> : any, <value2> : any) => any

Vydělí dvojici čísel. Stejné jako / operátor.

  • divide(20, 10) -> 2
  • 20 / 10 -> 2

dropLeft

dropLeft(<value1> : string, <value2> : integer) => string

Odebere tolik znaků nalevo od řetězce. Pokud přežádaný počet překročí délku řetězce, je vrácen prázdný řetězec.

  • dropLeft (' bojjus ', 2) => ' jjus ' * dropLeft (' dort ', 10) => ' ' ___

dropRight

dropRight(<value1> : string, <value2> : integer) => string

Odebere tolik znaků od napravo od řetězce. Pokud přežádaný počet překročí délku řetězce, je vrácen prázdný řetězec.

  • dropRight (' bojjus ', 2) => ' bojj ' * dropRight (' dort ', 10) => ' ' ___

endsWith

endsWith(<string> : string, <substring to check> : string) => boolean

Kontroluje, zda řetězec končí zadaným řetězcem.

  • endsWith('dumbo', 'mbo') -> true

equals

equals(<value1> : any, <value2> : any) => boolean

Operátor porovnání je rovno. Stejný jako operátor = =.

  • equals(12, 24) -> false
  • 12 == 24 -> false
  • 'bad' == 'bad' -> true
  • isNull('good' == toString(null)) -> true
  • isNull(null == null) -> true

equalsIgnoreCase

equalsIgnoreCase(<value1> : string, <value2> : string) => boolean

Porovnání se rovná operátoru bez ohledu na velikost písmen. Stejné jako <= operátor>.

  • 'abc'<=>'Abc' -> true
  • equalsIgnoreCase('abc', 'Abc') -> true

escape

escape(<string_to_escape> : string, <format> : string) => string

Řídí řetězec v závislosti na formátu. Hodnoty literálu pro přijatelný formát jsou "JSON", "XML", "ECMAScript", "HTML", "Java".


except

except(<value1> : array, <value2> : array) => array

Vrátí sadu rozdílů jednoho pole z jiné vyřazení duplicitních hodnot.

  • except([10, 20, 30], [20, 40]) => [10, 30]

expr

expr(<expr> : string) => any

Výsledkem je výraz z řetězce. To je stejné jako zápis tohoto výrazu do formuláře, který není literál. To lze použít k předání parametrů jako řetězcové reprezentace.

  • expr (' Price * discount ') => any ___

factorial

factorial(<value1> : number) => long

Vypočítá faktoriál čísla.

  • factorial(5) -> 120

false

false() => boolean

Vždy vrátí hodnotu false. Funkci použijte, syntax(false()) Pokud je sloupec s názvem false.

  • (10 + 20 > 30) -> false
  • (10 + 20 > 30) -> false()

filter

filter(<value1> : array, <value2> : unaryfunction) => array

Filtruje prvky z pole, které nesplňuje zadaný predikát. Filtr očekává odkaz na jeden prvek ve funkci predikátu jako #item.

  • filter([1, 2, 3, 4], #item > 2) -> [3, 4]
  • filter(['a', 'b', 'c', 'd'], #item == 'a' || #item == 'b') -> ['a', 'b']

find

find(<value1> : array, <value2> : unaryfunction) => any

Najde první položku z pole, které odpovídá podmínce. Převezme funkci filtru, kde můžete položku v poli adresovat jako #item. U hluboce vnořených map můžete odkazovat na nadřazené mapy pomocí notace #item_n (#item_1, #item_2...).

  • find([10, 20, 30], #item > 10) -> 20
  • find(['azure', 'data', 'factory'], length(#item) > 4) -> 'azure'
  • find([ @( name = 'Daniel', types = [ @(mood = 'jovial', behavior = 'terrific'), @(mood = 'grumpy', behavior = 'bad') ] ), @( name = 'Mark', types = [ @(mood = 'happy', behavior = 'awesome'), @(mood = 'calm', behavior = 'reclusive') ] ) ], contains(#item.types, #item.mood=='happy') /*Filter out the happy kid*/ )
  • @( name = 'Mark', types = [ @(mood = 'happy', behavior = 'awesome'), @(mood = 'calm', behavior = 'reclusive') ] )

* @( name = 'Mark', types = [ @(mood = 'happy', behavior = 'awesome'), @(mood = 'calm', behavior = 'reclusive') ] )


first

first(<value1> : any, [<value2> : boolean]) => any

Získá první hodnotu skupiny sloupců. Pokud je vynechán druhý parametr ignoreNulls, předpokládá se hodnota false.

  • first(sales)
  • first(sales, false)

flatten

flatten(<array> : array, <value2> : array ..., <value2> : boolean) => array

Pole nebo pole se sloučí do jednoho pole. Pole atomických položek jsou vrácena beze změny. Poslední argument je nepovinný a ve výchozím nastavení je false pro rekurzivní sloučení více než jedné úrovně hloubky.

  • flatten([['bojjus', 'girl'], ['gunchus', 'boy']]) => ['bojjus', 'girl', 'gunchus', 'boy']
  • flatten([[['bojjus', 'gunchus']]] , true) => ['bojjus', 'gunchus']

floor

floor(<value1> : number) => number

Vrátí největší celé číslo, které není větší než číslo.

  • floor(-0.1) -> -1

fromBase64

fromBase64(<value1> : string) => string

Dekóduje daný řetězec kódovaný v kódování Base64.

  • fromBase64('Z3VuY2h1cw==') -> 'gunchus'

fromUTC

fromUTC(<value1> : timestamp, [<value2> : string]) => timestamp

Převede na časové razítko od času UTC. Časové pásmo můžete volitelně předat ve formátu "GMT", "PST", "UTC", "Amerika/Kajmanské". Ve výchozím nastavení je nastavené na aktuální časové pásmo. SimpleDateFormatPro dostupné formáty se podívejte na třídu Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

  • fromUTC(currentTimestamp()) == toTimestamp('2050-12-12 19:18:12') -> false
  • fromUTC(currentTimestamp(), 'Asia/Seoul') != toTimestamp('2050-12-12 19:18:12') -> true

greater

greater(<value1> : any, <value2> : any) => boolean

Porovnání většího operátoru. Stejné jako operátor >.

  • greater(12, 24) -> false
  • ('dumbo' > 'dum') -> true
  • (toTimestamp('2019-02-05 08:21:34.890', 'yyyy-MM-dd HH:mm:ss.SSS') > toTimestamp('2019-02-03 05:19:28.871', 'yyyy-MM-dd HH:mm:ss.SSS')) -> true

greaterOrEqual

greaterOrEqual(<value1> : any, <value2> : any) => boolean

Porovnání větší než nebo rovno operátoru. Stejné jako operátor >=.

  • greaterOrEqual(12, 12) -> true
  • ('dumbo' >= 'dum') -> true

greatest

greatest(<value1> : any, ...) => any

Vrátí největší hodnotu ze seznamu hodnot jako vstup přeskakující hodnoty null. Vrátí hodnotu null, pokud mají všechny vstupy hodnotu null.

  • greatest(10, 30, 15, 20) -> 30
  • greatest(10, toInteger(null), 20) -> 20
  • greatest(toDate('2010-12-12'), toDate('2011-12-12'), toDate('2000-12-12')) -> toDate('2011-12-12')
  • greatest(toTimestamp('2019-02-03 05:19:28.871', 'yyyy-MM-dd HH:mm:ss.SSS'), toTimestamp('2019-02-05 08:21:34.890', 'yyyy-MM-dd HH:mm:ss.SSS')) -> toTimestamp('2019-02-05 08:21:34.890', 'yyyy-MM-dd HH:mm:ss.SSS')

hasColumn

hasColumn(<column name> : string, [<stream name> : string]) => boolean

Vyhledá hodnotu sloupce podle názvu ve streamu. Jako druhý argument můžete předat volitelný název datového proudu. Názvy sloupců známé v době návrhu by se měly adresovat pouze podle jejich názvu. Vypočítané vstupy se nepodporují, ale můžete použít náhrady parametrů.

  • hasColumn('parent')

hasPath

hasPath(<value1> : string, [<streamName> : string]) => boolean

Kontroluje, zda určitá hierarchická cesta existuje podle názvu v datovém proudu. Jako druhý argument můžete předat volitelný název datového proudu. Názvy nebo cesty sloupců známé v době návrhu by se měly adresovat pouze pomocí názvu nebo cesty notace tečky. Vypočítané vstupy se nepodporují, ale můžete použít náhrady parametrů.

  • hasPath('grandpa.parent.child') => boolean

hex

hex(<value1>: binary) => string

Vrátí šestnáctkové řetězcové vyjádření binární hodnoty. * hex(toBinary([toByte(0x1f), toByte(0xad), toByte(0xbe)])) -> '1fadbe'


hour

hour(<value1> : timestamp, [<value2> : string]) => integer

Získá hodnotu časového razítka v hodině. Volitelně můžete předat časové pásmo ve formátu GMT, PST, UTC, America/Cayman. Jako výchozí se používá místní časové pásmo. Dostupné formáty najdete SimpleDateFormat ve třídě Jazyka Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

  • hour(toTimestamp('2009-07-30 12:58:59')) -> 12
  • hour(toTimestamp('2009-07-30 12:58:59'), 'PST') -> 12

hours

hours(<value1> : integer) => long

Doba trvání v milisekundách po dobu několika hodin

  • hours(2) -> 7200000L

iif

iif(<condition> : boolean, <true_expression> : any, [<false_expression> : any]) => any

Na základě podmínky se použije jedna nebo druhá hodnota. Pokud parametr other není zadán, považuje se za hodnotu NULL. Obě hodnoty musí být kompatibilní (číselný, řetězec...). * iif(10 + 20 == 30, 'dumbo', 'gumbo') -> 'dumbo'

  • iif(10 > 30, 'dumbo', 'gumbo') -> 'gumbo'
  • iif(month(toDate('2018-12-01')) == 12, 345.12, 102.67) -> 345.12

iifNull

iifNull(<value1> : any, [<value2> : any], ...) => any

Zkontroluje, jestli má první parametr hodnotu null. Pokud hodnota není null, vrátí se první parametr. Pokud má hodnotu null, vrátí se druhý parametr. Pokud jsou zadány tři parametry, je chování stejné jako iif(isNull(hodnota1), hodnota2, hodnota3) a třetí parametr se vrátí, pokud první hodnota není null.

  • iifNull(10, 20) -> 10
  • iifNull(null, 20, 40) -> 20
  • iifNull('azure', 'data', 'factory') -> 'factory'
  • iifNull(null, 'data', 'factory') -> 'data'

in

in(<array of items> : array, <item to find> : any) => boolean

Kontroluje, zda je položka v poli.

  • in([10, 20, 30], 10) -> true
  • in(['good', 'kid'], 'bad') -> false

initCap

initCap(<value1> : string) => string

Převede první písmeno každého slova na velká písmena. Slova jsou identifikována jako oddělená prázdnými znaky.

  • initCap('cool iceCREAM') -> 'Cool Icecream'

instr

instr(<string> : string, <substring to find> : string) => integer

Vyhledá pozici (založenou na 1) podřetězce v řetězci. Pokud se hodnota 0 nenašla, vrátí se .

  • instr('dumbo', 'mbo') -> 3
  • instr('microsoft', 'o') -> 5
  • instr('good', 'bad') -> 0

intersect

intersect(<value1> : array, <value2> : array) => array

Vrátí sadu jedinečných položek průniku ze 2 polí.

  • intersect([10, 20, 30], [20, 40]) => [20]

isBitSet

isBitSet (<value1> : array, <value2>:integer ) => boolean

Kontroluje, zda je bitová pozice nastavena v této bitové sadě. * isBitSet(toBitSet([10, 32, 98]), 10) => true


isBoolean

isBoolean(<value1>: string) => boolean

Kontroluje, jestli je řetězcová hodnota logickou hodnotou podle pravidel toBoolean()

  • isBoolean('true') -> true
  • isBoolean('no') -> true
  • isBoolean('microsoft') -> false

isByte

isByte(<value1> : string) => boolean

Kontroluje, jestli je řetězcová hodnota hodnota byte vzhledem k volitelném formátu v souladu s pravidly toByte()

  • isByte('123') -> true
  • isByte('chocolate') -> false

isDate

isDate (<value1> : string, [<format>: string]) => boolean

Pomocí volitelného formátu vstupního data zkontroluje, jestli vstupní řetězec data je datum. Dostupné formáty najdete v tématu SimpleDateFormat jazyka Java. Pokud je formát vstupního data vynechán, výchozí formát je yyyy-[M]M-[d]d . Přijímané formáty jsou [ yyyy, yyyy-[M]M, yyyy-[M]M-[d]d, yyyy-[M]M-[d]dT* ]

  • isDate('2012-8-18') -> true
  • isDate('12/18--234234' -> 'MM/dd/yyyy') -> false

isDecimal

isDecimal (<value1> : string) => boolean

Kontrola řetězcové hodnoty je desetinná hodnota vzhledem k volitelném formátu podle pravidel toDecimal()

  • isDecimal('123.45') -> true
  • isDecimal('12/12/2000') -> false

isDelete

isDelete([<value1> : integer]) => boolean

Zkontroluje, jestli je řádek označený k odstranění. Pro transformace, které přecházejí na více než jeden vstupní datový proud, můžete předat index datového proudu (založený na 1). Index streamu by měl být buď 1, nebo 2 a výchozí hodnota je 1.

  • isDelete()
  • isDelete(1)

isDistinct

isDistinct(<value1> : any , <value1> : any) => boolean

Zjistí, jestli je sloupec nebo sada sloupců odlišná. Nepočítá hodnotu null jako odlišnou hodnotu. * isDistinct(custId, custName) => boolean


isDouble

isDouble (<value1> : string, [<format>: string]) => boolean

Kontroly řetězcové hodnoty jsou dvojitou hodnotou s volitelným formátem v souladu s pravidly toDouble()

  • isDouble('123') -> true
  • isDouble('$123.45' -> '$###.00') -> true
  • isDouble('icecream') -> false

isError

isError([<value1> : integer]) => boolean

Zkontroluje, jestli je řádek označený jako chyba. Pro transformace, které přecházejí na více než jeden vstupní datový proud, můžete předat index datového proudu (založený na 1). Index streamu by měl být buď 1, nebo 2 a výchozí hodnota je 1.

  • isError()
  • isError(1)

isFloat

isFloat (<value1> : string, [<format>: string]) => boolean

Kontroly řetězcové hodnoty jsou hodnotou float s volitelným formátem v souladu s pravidly toFloat()

  • isFloat('123') -> true
  • isFloat('$123.45' -> '$###.00') -> true
  • isFloat('icecream') -> false

isIgnore

isIgnore([<value1> : integer]) => boolean

Zkontroluje, jestli je řádek označený jako ignorováný. Pro transformace, které přecházejí na více než jeden vstupní datový proud, můžete předat index datového proudu (založený na 1). Index streamu by měl být buď 1, nebo 2 a výchozí hodnota je 1.

  • isIgnore()
  • isIgnore(1)

isInsert

isInsert([<value1> : integer]) => boolean

Zkontroluje, jestli je řádek označený pro vložení. Pro transformace, které přecházejí na více než jeden vstupní datový proud, můžete předat index datového proudu (založený na 1). Index streamu by měl být buď 1, nebo 2 a výchozí hodnota je 1.

  • isInsert()
  • isInsert(1)

isInteger

isInteger (<value1> : string, [<format>: string]) => boolean

Kontroly řetězcové hodnoty jsou celočíselnou hodnotou s volitelným formátem v souladu s pravidly toInteger()

  • isInteger('123') -> true
  • isInteger('$123' -> '$###') -> true
  • isInteger('microsoft') -> false

isLong

isLong (<value1> : string, [<format>: string]) => boolean

Kontroly řetězcové hodnoty jsou dlouhou hodnotou s volitelným formátem v souladu s pravidly toLong()

  • isLong('123') -> true
  • isLong('$123' -> '$###') -> true
  • isLong('gunchus') -> false

isMatch

isMatch([<value1> : integer]) => boolean

Zkontroluje, jestli se řádek při vyhledávání shoduje. Pro transformace, které přecházejí na více než jeden vstupní datový proud, můžete předat index datového proudu (založený na 1). Index streamu by měl být buď 1, nebo 2 a výchozí hodnota je 1.

  • isMatch()
  • isMatch(1)

isNan

isNan (<value1> : integral) => boolean

Zkontrolujte, jestli se jedná o číslo.

  • isNan(10.2) => false

isNull

isNull(<value1> : any) => boolean

Zkontroluje, jestli je hodnota NULL.

  • isNull(NULL()) -> true
  • isNull('') -> false

isShort

isShort (<value1> : string, [<format>: string]) => boolean

Kontroly řetězcové hodnoty jsou krátkou hodnotou s volitelným formátem v souladu s pravidly toShort()

  • isShort('123') -> true
  • isShort('$123' -> '$###') -> true
  • isShort('microsoft') -> false

isTimestamp

isTimestamp (<value1> : string, [<format>: string]) => boolean

Pomocí volitelného formátu vstupního časového razítka zkontroluje, jestli je vstupní řetězec data časové razítko. Dostupné formáty najdete v tématu SimpleDateFormat jazyka Java. Pokud je časové razítko vynecháno, použije se yyyy-[M]M-[d]d hh:mm:ss[.f...] výchozí vzor. Volitelně můžete předat časové pásmo ve formátu GMT, PST, UTC, America/Cayman. Časové razítko podporuje přesnost až milisekund s hodnotou 999. Dostupné formáty najdete v souboru SimpleDateFormat jazyka Java.

  • isTimestamp('2016-12-31 00:12:00') -> true
  • isTimestamp('2016-12-31T00:12:00' -> 'yyyy-MM-dd\\'T\\'HH:mm:ss' -> 'PST') -> true
  • isTimestamp('2012-8222.18') -> false

isUpdate

isUpdate([<value1> : integer]) => boolean

Zkontroluje, jestli je řádek označený pro aktualizaci. Pro transformace, které přecházejí na více než jeden vstupní datový proud, můžete předat index datového proudu (založený na 1). Index streamu by měl být buď 1, nebo 2 a výchozí hodnota je 1.

  • isUpdate()
  • isUpdate(1)

isUpsert

isUpsert([<value1> : integer]) => boolean

Zkontroluje, jestli je řádek označený pro vložení. Pro transformace, které přecházejí na více než jeden vstupní datový proud, můžete předat index datového proudu (založený na 1). Index streamu by měl být buď 1, nebo 2 a výchozí hodnota je 1.

  • isUpsert()
  • isUpsert(1)

jaroWinkler

jaroWinkler(<value1> : string, <value2> : string) => double

Získá vzdálenost Mezi dvěma řetězci u MožnostiWinkler.

  • jaroWinkler('frog', 'frog') => 1.0

keyValues

keyValues(<value1> : array, <value2> : array) => map

Vytvoří mapu klíčů/hodnot. Prvním parametrem je pole klíčů a druhý je pole hodnot. Obě pole by měla mít stejnou délku.

  • keyValues(['bojjus', 'appa'], ['gunchus', 'ammi']) => ['bojjus' -> 'gunchus', 'appa' -> 'ammi']

kurtosis

kurtosis(<value1> : number) => double

Získá seznam sloupců.

  • kurtosis(sales)

kurtosisIf

kurtosisIf(<value1> : boolean, <value2> : number) => double

Na základě kritérií získá popis sloupce.

  • kurtosisIf(region == 'West', sales)

lag

lag(<value> : any, [<number of rows to look before> : number], [<default value> : any]) => any

Získá hodnotu prvního parametru vyhodnocené n řádků před aktuálním řádkem. Druhý parametr je počet řádků, které se budou vracet zpět, a výchozí hodnota je 1. Pokud není k dispozici tolik řádků, vrátí se hodnota null, pokud není zadána výchozí hodnota.

  • lag(amount, 2)
  • lag(amount, 2000, 100)

last

last(<value1> : any, [<value2> : boolean]) => any

Získá poslední hodnotu skupiny sloupců. Pokud je druhý parametr ignoreNulls vynechán, předpokládá se false.

  • last(sales)
  • last(sales, false)

lastDayOfMonth

lastDayOfMonth(<value1> : datetime) => date

Získá poslední datum v měsíci dané datum.

  • lastDayOfMonth(toDate('2009-01-12')) -> toDate('2009-01-31')

lead

lead(<value> : any, [<number of rows to look after> : number], [<default value> : any]) => any

Získá hodnotu prvního parametru vyhodnocené n řádků za aktuálním řádkem. Druhý parametr je počet řádků, které se budou hledat dopředu, a výchozí hodnota je 1. Pokud není k dispozici tolik řádků, vrátí se hodnota null, pokud není zadána výchozí hodnota.

  • lead(amount, 2)
  • lead(amount, 2000, 100)

least

least(<value1> : any, ...) => any

Operátor porovnání menší než nebo rovno. Stejné jako <= operátor.

  • least(10, 30, 15, 20) -> 10
  • least(toDate('2010-12-12'), toDate('2011-12-12'), toDate('2000-12-12')) -> toDate('2000-12-12')

left

left(<string to subset> : string, <number of characters> : integral) => string

Extrahuje podřetězec, který začíná na indexu 1 s počtem znaků. Stejné jako SUBSTRING(str, 1, n).

  • left('bojjus', 2) -> 'bo'
  • left('bojjus', 20) -> 'bojjus'

length

length(<value1> : string) => integer

Vrátí délku řetězce.

  • length('dumbo') -> 5

lesser

lesser(<value1> : any, <value2> : any) => boolean

Operátor Porovnání menší. Stejné jako < operátor.

  • lesser(12, 24) -> true
  • ('abcd' < 'abc') -> false
  • (toTimestamp('2019-02-03 05:19:28.871', 'yyyy-MM-dd HH:mm:ss.SSS') < toTimestamp('2019-02-05 08:21:34.890', 'yyyy-MM-dd HH:mm:ss.SSS')) -> true

lesserOrEqual

lesserOrEqual(<value1> : any, <value2> : any) => boolean

Operátor porovnání menší než nebo rovno. Stejné jako <= operátor.

  • lesserOrEqual(12, 12) -> true
  • ('dumbo' <= 'dum') -> false

levenshtein

levenshtein(<from string> : string, <to string> : string) => integer

Získá levenshtein vzdálenost mezi dvěma řetězci.

  • levenshtein('boys', 'girls') -> 4

like

like(<string> : string, <pattern match> : string) => boolean

Vzor je řetězec, který se doslovně shoduje. Výjimky jsou následující speciální symboly: _ odpovídá libovolnému znaku ve vstupu (podobně jako . v posix regulárních výrazech) % odpovídá nule nebo více znakům ve vstupu (podobně jako .* v posix regulárních výrazech). Řídicí znak je ' '. Pokud řídicí znak před speciálním symbolem nebo jiným řídicím znakem, je následující znak porovnán. Řídicí znak není v žádném jiném znaku neplatný.

  • like('icecream', 'ice%') -> true

locate

locate(<substring to find> : string, <string> : string, [<from index - 1-based> : integral]) => integer

Vyhledá pozici (na základě 1) podřetězce v řetězci, který spouští určitou pozici. Pokud je pozice vynechána, je považována za začátek řetězce. hodnota 0 se vrátí, pokud nebyla nalezena.

  • locate('mbo', 'dumbo') -> 3
  • locate('o', 'microsoft', 6) -> 7
  • locate('bad', 'good') -> 0

log

log(<value1> : number, [<value2> : number]) => double

Vypočítá hodnotu protokolu. Volitelná základní hodnota může být poskytnuta v jiném Eulerova čísle, pokud je použito.

  • log(100, 10) -> 2

log10

log10(<value1> : number) => double

Vypočítá hodnotu protokolu založenou na 10 Base.

  • log10(100) -> 2

lookup

lookup(key, key2, ...) => complex[]

Vyhledá první řádek z jímky uložený v mezipaměti pomocí zadaných klíčů, které odpovídají klíčům z jímky uložené v mezipaměti.

  • cacheSink#lookup(movieId)

lower

lower(<value1> : string) => string

Malá písmena řetězce.

  • lower('GunChus') -> 'gunchus'

lpad

lpad(<string to pad> : string, <final padded length> : integral, <padding> : string) => string

Vlevo vyplní řetězec doplněním zadaného odsazení, dokud nemá určitou délku. Pokud je řetězec větší nebo roven délce, je oříznut na délku.

  • lpad('dumbo', 10, '-') -> '-----dumbo'
  • lpad('dumbo', 4, '-') -> 'dumb'
  • ' ' Lpad (' Dumbo ', 8, ' <> ')-> ' <><dumbo'``

ltrim

ltrim(<string to trim> : string, [<trim characters> : string]) => string

Levá ořízne řetězec úvodních znaků. Pokud není zadán druhý parametr, ořízne prázdné znaky. Jinak ořízne libovolný znak určený ve druhém parametru.

  • ltrim(' dumbo ') -> 'dumbo '
  • ltrim('!--!du!mbo!', '-!') -> 'du!mbo!'

map

map(<value1> : array, <value2> : unaryfunction) => any

Mapy každý prvek pole do nového prvku pomocí poskytnutého výrazu. Mapa očekává odkaz na jeden prvek ve funkci Expression jako #item.

  • map([1, 2, 3, 4], #item + 2) -> [3, 4, 5, 6]
  • map(['a', 'b', 'c', 'd'], #item + '_processed') -> ['a_processed', 'b_processed', 'c_processed', 'd_processed']

mapAssociation

mapAssociation(<value1> : map, <value2> : binaryFunction) => array

Transformuje mapu přidružením klíčů k novým hodnotám. Vrátí pole. Převezme funkci mapování, kde můžete položku adresovat jako #key a aktuální hodnotu jako #value.

  • mapAssociation(['bojjus' -> 'gunchus', 'appa' -> 'ammi'], @(key = #key, value = #value)) => [@(key = 'bojjus', value = 'gunchus'), @(key = 'appa', value = 'ammi')]

mapIf

mapIf (<value1> : array, <value2> : binaryfunction, <value3>: binaryFunction) => any

Podmíněně mapuje pole na jiné pole se stejnou nebo menší délkou. Hodnoty mohou být libovolného typu, včetně structTypes. Převezme funkci mapování, kde můžete položku v poli adresovat jako #item a aktuální index jako #index. U hluboce vnořených map můžete odkazovat na nadřazené mapy pomocí #item_[n](#item_1, #index_1...) zápisu.

  • mapIf([10, 20, 30], #item > 10, #item + 5) -> [25, 35]
  • mapIf(['icecream', 'cake', 'soda'], length(#item) > 4, upper(#item)) -> ['ICECREAM', 'CAKE']

mapIndex

mapIndex(<value1> : array, <value2> : binaryfunction) => any

Mapy každý prvek pole do nového prvku pomocí poskytnutého výrazu. Mapa očekává odkaz na jeden prvek ve funkci Expression jako #item a odkaz na index elementu jako #index.

  • mapIndex([1, 2, 3, 4], #item + 2 + #index) -> [4, 6, 8, 10]

mapLoop

mapLoop(<value1> : integer, <value2> : unaryfunction) => any

Cykly prochází od 1 do délky, aby bylo možné vytvořit pole této délky. Převezme funkci mapování, kde můžete index v poli vyřešit jako #index. U hluboce vnořených map můžete odkazovat na nadřazené mapy pomocí notace #index_n (#index_1, #index_2...).

  • mapLoop(3, #index * 10) -> [10, 20, 30]

max

max(<value1> : any) => any

Získá maximální hodnotu sloupce.

  • max(sales)

maxIf

maxIf(<value1> : boolean, <value2> : any) => any

Na základě kritérií získá maximální hodnotu sloupce.

  • maxIf(region == 'West', sales)

md5

md5(<value1> : any, ...) => string

Vypočítá výtah MD5 sady sloupců různých primitivních typů DataTypes a vrátí šestnáctkový řetězec 32 znaků. Dá se použít k výpočtu otisku prstu pro řádek.

  • md5(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> '4ce8a880bd621a1ffad0bca905e1bc5a'

mean

mean(<value1> : number) => number

Získá průměrnou hodnotu sloupce. Stejné jako prům.

  • mean(sales)

meanIf

meanIf(<value1> : boolean, <value2> : number) => number

Na základě kritérií získá průměrnou hodnotu sloupce. Stejné jako avgIf.

  • meanIf(region == 'West', sales)

millisecond

millisecond(<value1> : timestamp, [<value2> : string]) => integer

Získá hodnotu milisekundy pro datum. Můžete předat volitelné časové pásmo ve formátu "GMT", "PST", "UTC", "Amerika/Kajmanské". Místní časové pásmo se používá jako výchozí. SimpleDateFormatPro dostupné formáty se podívejte na třídu Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

  • millisecond(toTimestamp('2009-07-30 12:58:59.871', 'yyyy-MM-dd HH:mm:ss.SSS')) -> 871

milliseconds

milliseconds(<value1> : integer) => long

Doba v milisekundách pro počet milisekund

  • milliseconds(2) -> 2L

min

min(<value1> : any) => any

Získá minimální hodnotu sloupce.

  • min(sales)

minIf

minIf(<value1> : boolean, <value2> : any) => any

Na základě kritérií získá minimální hodnotu sloupce.

  • minIf(region == 'West', sales)

minus

minus(<value1> : any, <value2> : any) => any

Odečte čísla. Odečíst počet dní od data. Odečíst dobu trvání z časového razítka. Ododečte dvě časová razítka k získání rozdílů v milisekundách. Stejné jako operátor--.

  • minus(20, 10) -> 10
  • 20 - 10 -> 10
  • minus(toDate('2012-12-15'), 3) -> toDate('2012-12-12')
  • toDate('2012-12-15') - 3 -> toDate('2012-12-12')
  • toTimestamp('2019-02-03 05:19:28.871', 'yyyy-MM-dd HH:mm:ss.SSS') + (days(1) + hours(2) - seconds(10)) -> toTimestamp('2019-02-04 07:19:18.871', 'yyyy-MM-dd HH:mm:ss.SSS')
  • toTimestamp('2019-02-03 05:21:34.851', 'yyyy-MM-dd HH:mm:ss.SSS') - toTimestamp('2019-02-03 05:21:36.923', 'yyyy-MM-dd HH:mm:ss.SSS') -> -2072

minute

minute(<value1> : timestamp, [<value2> : string]) => integer

Získá hodnotu minuty časového razítka. Můžete předat volitelné časové pásmo ve formátu "GMT", "PST", "UTC", "Amerika/Kajmanské". Místní časové pásmo se používá jako výchozí. SimpleDateFormatPro dostupné formáty se podívejte na třídu Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

  • minute(toTimestamp('2009-07-30 12:58:59')) -> 58
  • minute(toTimestamp('2009-07-30 12:58:59'), 'PST') -> 58

minutes

minutes(<value1> : integer) => long

Doba trvání v milisekundách na počet minut

  • minutes(2) -> 120000L

mlookup

mlookup(key, key2, ...) => complex[]

Vyhledá všechny odpovídající řádky z jímky uložené v mezipaměti pomocí zadaných klíčů, které odpovídají klíčům z jímky uložené v mezipaměti.

  • cacheSink#mlookup(movieId)

mod

mod(<value1> : any, <value2> : any) => any

Zbytek páru čísel. Stejné jako operátor%.

  • mod(20, 8) -> 4
  • 20 % 8 -> 4

month

month(<value1> : datetime) => integer

Získá hodnotu měsíce pro datum nebo časové razítko.

  • month(toDate('2012-8-8')) -> 8

monthsBetween

monthsBetween(<from date/timestamp> : datetime, <to date/timestamp> : datetime, [<roundoff> : boolean], [<time zone> : string]) => double

Vrátí počet měsíců mezi dvěma kalendářními daty. Výpočet můžete zaokrouhlit. Můžete předat volitelné časové pásmo ve formátu "GMT", "PST", "UTC", "Amerika/Kajmanské". Místní časové pásmo se používá jako výchozí. SimpleDateFormatPro dostupné formáty se podívejte na třídu Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

  • monthsBetween(toTimestamp('1997-02-28 10:30:00'), toDate('1996-10-30')) -> 3.94959677

multiply

multiply(<value1> : any, <value2> : any) => any

Vynásobí dvojici čísel. Stejné jako operátor *.

  • multiply(20, 10) -> 200
  • 20 * 10 -> 200

negate

negate(<value1> : number) => number

Negace čísla. Změní kladné hodnoty na záporné a naopak.

  • negate(13) -> -13

nextSequence

nextSequence() => long

Vrátí další jedinečnou sekvenci. Číslo je po sobě po sobě pouze v rámci oddílu a je předponou partitionId.

  • nextSequence() == 12313112 -> false

normalize

normalize(<String to normalize> : string) => string

Normalizuje řetězcovou hodnotu pro oddělení zvýrazněných znaků Unicode.

  • regexReplace(normalize('bo²s'), `\p{M}`, '') -> 'boys'

not

not(<value1> : boolean) => boolean

Logický operátor negace.

  • not(true) -> false
  • not(10 == 20) -> true

notEquals

notEquals(<value1> : any, <value2> : any) => boolean

Operátor porovnání není rovno. Stejný jako operátor! =.

  • 12 != 24 -> true
  • 'bojjus' != 'bo' + 'jjus' -> false

notNull

notNull(<value1> : any) => boolean

Kontroluje, zda hodnota není NULL.

  • notNull(NULL()) -> false
  • notNull('') -> true

nTile

nTile([<value1> : integer]) => integer

NTileFunkce rozdělí řádky pro každý oddíl okna do n intervalů v rozsahu od 1 do nejvýše n . Hodnoty plechovky se budou lišit o nejvýše 1. Pokud počet řádků v oddílu není rovnoměrně rozdělen do počtu intervalů, pak jsou zbývající hodnoty distribuovány po jednotlivých kontejnerech počínaje prvním intervalem. NTileFunkce je užitečná pro výpočet tertiles , Kvartily, deciles a další běžné souhrnné statistiky. Funkce vypočítá dvě proměnné během inicializace: velikost regulárního intervalu bude mít přidán jeden řádek navíc. Obě proměnné jsou založené na velikosti aktuálního oddílu. Během procesu výpočtu funkce udržuje sledovat aktuální číslo řádku, aktuální číslo sady a číslo řádku, na kterém se bude interval měnit (bucketThreshold). Když číslo aktuálního řádku dosáhne prahové hodnoty intervalu, hodnota intervalu se zvýší o jednu a prahová hodnota se zvýší o velikost intervalu (plus jeden další, pokud je aktuální kontejner doplněn).

  • nTile()
  • nTile(numOfBuckets)

null

null() => null

Vrací hodnotu NULL. Funkci použijte, syntax(null()) Pokud je sloupec s názvem null. Výsledkem jakékoli operace, která používá, je hodnota NULL.

  • isNull('dumbo' + null) -> true
  • isNull(10 * null) -> true
  • isNull('') -> false
  • isNull(10 + 20) -> false
  • isNull(10/0) -> true

or

or(<value1> : boolean, <value2> : boolean) => boolean

Logický operátor OR Stejné jako | |.

  • or(true, false) -> true
  • true || false -> true

originColumns

originColumns(<streamName> : string) => any

Načte všechny výstupní sloupce pro datový proud zdroje, ve kterém se vytvořily sloupce. Musí být uzavřený v jiné funkci.

  • array(toString(originColumns('source1')))

output

output() => any

Vrátí první řádek výsledků jímky mezipaměti. * cacheSink#output()


outputs

output() => any

Vrátí celou sadu výstupních řádků výsledků jímky mezipaměti. * cacheSink#outputs()


partitionId

partitionId() => integer

Vrátí aktuální ID oddílu, ve kterém je vstupní řádek.

  • partitionId()

pMod

pMod(<value1> : any, <value2> : any) => any

Kladné zbytky páru čísel.

  • pmod(-20, 8) -> 4

power

power(<value1> : number, <value2> : number) => double

Umocní jedno číslo na jinou mocninu.

  • power(10, 2) -> 100

radians

radians(<value1> : number) => double

Převede stupně na radiány. * radians(180) => 3.141592653589793


random

random(<value1> : integral) => long

Vrátí náhodné číslo v rámci oddílu s nepovinným osivem. Počáteční hodnota musí být pevná a používá se ve spojení s identifikátorem partitionId pro vytvoření náhodných hodnot. * random(1) == 1 -> false


rank

rank() => integer

Vypočítá pořadí hodnoty ve skupině hodnot zadaných v klauzuli ORDER by v okně. Výsledkem je jedna hodnota plus počet řádků předcházejících nebo rovných aktuálnímu řádku v pořadí oddílu. Hodnoty budou v posloupnosti vydávat mezery. Pořadí funguje i v případě, že data nejsou seřazena a vyhledávají změny v hodnotách.

  • rank()

reassociate

reassociate(<value1> : map, <value2> : binaryFunction) => map

Transformuje mapu přidružením klíčů k novým hodnotám. Převezme funkci mapování, kde můžete položku adresovat jako #key a aktuální hodnotu jako #value.

  • reassociate(['fruit' -> 'apple', 'vegetable' -> 'tomato'], substring(#key, 1, 1) + substring(#value, 1, 1)) => ['fruit' -> 'fa', 'vegetable' -> 'vt']

reduce

reduce(<value1> : array, <value2> : any, <value3> : binaryfunction, <value4> : unaryfunction) => any

Shromáždí prvky v poli. Omezení očekává odkaz na akumulátor a jeden element v prvním výrazu funkce jako #acc a #item a očekává výslednou hodnotu jako #result pro použití ve druhé funkci výrazu.

  • toString(reduce(['1', '2', '3', '4'], '0', #acc + #item, #result)) -> '01234'

regexExtract

regexExtract(<string> : string, <regex to find> : string, [<match group 1-based index> : integral]) => string

Extrahuje shodný dílčí řetězec pro daný vzor regulárního výrazu. Poslední parametr identifikuje skupinu shod a je-li vynechán, je nastaven na hodnotu 1. Použijte (back-quot) k vyhledání shody s řetězcem bez uvozovacího příkazu.

  • regexExtract('Cost is between 600 and 800 dollars', '(\\d+) and (\\d+)', 2) -> '800'
  • regexExtract('Cost is between 600 and 800 dollars', `(\d+) and (\d+)`, 2) -> '800'

regexMatch

regexMatch(<string> : string, <regex to match> : string) => boolean

Zkontroluje, zda řetězec odpovídá danému vzoru regulárního výrazu. Použijte (back-quot) k vyhledání shody s řetězcem bez uvozovacího příkazu.

  • regexMatch('200.50', '(\\d+).(\\d+)') -> true
  • regexMatch('200.50', `(\d+).(\d+)`) -> true

regexReplace

regexReplace(<string> : string, <regex to find> : string, <substring to replace> : string) => string

Nahradí všechny výskyty vzorového regulárního výrazu jiným podřetězcem v daném řetězci . k vyhledání řetězce bez uvozovacích znaků se používá znaková uvozovka.

  • regexReplace('100 and 200', '(\\d+)', 'bojjus') -> 'bojjus and bojjus'
  • regexReplace('100 and 200', `(\d+)`, 'gunchus') -> 'gunchus and gunchus'

regexSplit

regexSplit(<string to split> : string, <regex expression> : string) => array

Rozdělí řetězec na základě oddělovače na základě regulárního výrazu a vrátí pole řetězců.

  • regexSplit('bojjusAgunchusBdumbo', `[CAB]`) -> ['bojjus', 'gunchus', 'dumbo']
  • regexSplit('bojjusAgunchusBdumboC', `[CAB]`) -> ['bojjus', 'gunchus', 'dumbo', '']
  • (regexSplit('bojjusAgunchusBdumboC', `[CAB]`)[1]) -> 'bojjus'
  • isNull(regexSplit('bojjusAgunchusBdumboC', `[CAB]`)[20]) -> true

replace

replace(<string> : string, <substring to find> : string, [<substring to replace> : string]) => string

Nahradí všechny výskyty podřetězce jiným podřetězcem v daném řetězci. Pokud je poslední parametr vynechán, je výchozí hodnotou prázdný řetězec.

  • replace('doggie dog', 'dog', 'cat') -> 'catgie cat'
  • replace('doggie dog', 'dog', '') -> 'gie '
  • replace('doggie dog', 'dog') -> 'gie '

reverse

reverse(<value1> : string) => string

Obrátí řetězec.

  • reverse('gunchus') -> 'suhcnug'

right(<string to subset> : string, <number of characters> : integral) => string

Extrahuje podřetězec s počtem znaků zprava. Totéž jako podřetězec (str, LENGTH (str)-n, n).

  • right('bojjus', 2) -> 'us'
  • right('bojjus', 20) -> 'bojjus'

rlike

rlike(<string> : string, <pattern match> : string) => boolean

Zkontroluje, zda řetězec odpovídá danému vzoru regulárního výrazu.

  • rlike('200.50', `(\d+).(\d+)`) -> true
  • rlike('bogus', `M[0-9]+.*`) -> false

round

round(<number> : number, [<scale to round> : number], [<rounding option> : integral]) => double

Zaokrouhlí číslo z daného volitelného měřítka a volitelného režimu zaokrouhlení. Pokud je měřítko vynecháno, je nastavené na hodnotu 0. Pokud je tento režim vynechán, je nastaven na hodnotu ROUND_HALF_UP (5). Mezi hodnoty zaokrouhlení patří 1-ROUND_UP 2-ROUND_DOWN 3-ROUND_CEILING 4-ROUND_FLOOR 5-ROUND_HALF_UP 6 – ROUND_HALF_DOWN 7-ROUND_HALF_EVEN 8-ROUND_UNNECESSARY.

  • round(100.123) -> 100.0
  • round(2.5, 0) -> 3.0
  • round(5.3999999999999995, 2, 7) -> 5.40

rowNumber

rowNumber() => integer

Přiřadí pořadové číslování řádků v okně od 1.

  • rowNumber()

rpad

rpad(<string to pad> : string, <final padded length> : integral, <padding> : string) => string

Doplní řetězec doplněním zadaného odsazení, dokud nemá určitou délku. Pokud je řetězec větší nebo roven délce, je oříznut na délku.

  • rpad('dumbo', 10, '-') -> 'dumbo-----'
  • rpad('dumbo', 4, '-') -> 'dumb'
  • ' ' rpad (' Dumbo ', 8, ' <> ')-> ' Dumbo<><'``

rtrim

rtrim(<string to trim> : string, [<trim characters> : string]) => string

Pravá ořízne řetězec koncových znaků. Pokud není zadán druhý parametr, ořízne prázdné znaky. Jinak ořízne libovolný znak určený ve druhém parametru.

  • rtrim(' dumbo ') -> ' dumbo'
  • rtrim('!--!du!mbo!', '-!') -> '!--!du!mbo'

second

second(<value1> : timestamp, [<value2> : string]) => integer

Získá druhou hodnotu data. Můžete předat volitelné časové pásmo ve formátu "GMT", "PST", "UTC", "Amerika/Kajmanské". Místní časové pásmo se používá jako výchozí. SimpleDateFormatPro dostupné formáty se podívejte na třídu Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

  • second(toTimestamp('2009-07-30 12:58:59')) -> 59

seconds

seconds(<value1> : integer) => long

Doba v milisekundách pro počet sekund

  • seconds(2) -> 2000L

setBitSet

setBitSet (<value1>: array, <value2>:array) => array

Nastaví bitové pozice v tomto bitset. * setBitSet(toBitSet([10, 32]), [98]) => [4294968320L, 17179869184L]


sha1

sha1(<value1> : any, ...) => string

Vypočítá hodnotu hash SHA-1 sady sloupců různých primitivních typů DataTypes a vrátí šestnáctkový řetězec 40 znaků. Dá se použít k výpočtu otisku prstu pro řádek.

  • sha1(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> '46d3b478e8ec4e1f3b453ac3d8e59d5854e282bb'

sha2

sha2(<value1> : integer, <value2> : any, ...) => string

Vypočítá hodnotu hash SHA-2 sady sloupců různých primitivních datových typů s délkou, která může být pouze z hodnot 0 (256), 224, 256, 384, 512. Dá se použít k výpočtu otisku prstu pro řádek.

  • sha2(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> 'afe8a553b1761c67d76f8c31ceef7f71b66a1ee6f4e6d3b5478bf68b47d06bd3'

sin

sin(<value1> : number) => double

Vypočítá hodnotu sinus.

  • sin(2) -> 0.9092974268256817

sinh

sinh(<value1> : number) => double

Vypočítá hodnotu hyperbolický sinus.

  • sinh(0) -> 0.0

size

size(<value1> : any) => integer

Najde velikost pole nebo mapového typu. * size(['element1', 'element2']) -> 2

  • size([1,2,3]) -> 3

skewness

skewness(<value1> : number) => double

Získá zešikmení sloupce.

  • skewness(sales)

skewnessIf

skewnessIf(<value1> : boolean, <value2> : number) => double

Na základě kritérií získá zešikmení sloupce.

  • skewnessIf(region == 'West', sales)

slice

slice(<array to slice> : array, <from 1-based index> : integral, [<number of items> : integral]) => array

Extrahuje podmnožinu pole z pozice. Pozice je na 1. Pokud je délka vynechána, je nastavena na konec řetězce.

  • slice([10, 20, 30, 40], 1, 2) -> [10, 20]
  • slice([10, 20, 30, 40], 2) -> [20, 30, 40]
  • slice([10, 20, 30, 40], 2)[1] -> 20
  • isNull(slice([10, 20, 30, 40], 2)[0]) -> true
  • isNull(slice([10, 20, 30, 40], 2)[20]) -> true
  • slice(['a', 'b', 'c', 'd'], 8) -> []

sort

sort(<value1> : array, <value2> : binaryfunction) => array

Seřadí pole pomocí zadané funkce predikátu. Řazení očekává odkaz na dva po sobě jdoucí prvky ve funkci Expression jako #item1 a #item2.

  • sort([4, 8, 2, 3], compare(#item1, #item2)) -> [2, 3, 4, 8]
  • sort(['a3', 'b2', 'c1'], iif(right(#item1, 1) >= right(#item2, 1), 1, -1)) -> ['c1', 'b2', 'a3']

soundex

soundex(<value1> : string) => string

Získá soundex kód pro řetězec.

  • soundex('genius') -> 'G520'

split

split(<string to split> : string, <split characters> : string) => array

Rozdělí řetězec na základě oddělovače a vrátí pole řetězců.

  • split('bojjus,guchus,dumbo', ',') -> ['bojjus', 'guchus', 'dumbo']
  • split('bojjus,guchus,dumbo', '|') -> ['bojjus,guchus,dumbo']
  • split('bojjus, guchus, dumbo', ', ') -> ['bojjus', 'guchus', 'dumbo']
  • split('bojjus, guchus, dumbo', ', ')[1] -> 'bojjus'
  • isNull(split('bojjus, guchus, dumbo', ', ')[0]) -> true
  • isNull(split('bojjus, guchus, dumbo', ', ')[20]) -> true
  • split('bojjusguchusdumbo', ',') -> ['bojjusguchusdumbo']

sqrt

sqrt(<value1> : number) => double

Vypočítá druhou odmocninu čísla.

  • sqrt(9) -> 3

startsWith

startsWith(<string> : string, <substring to check> : string) => boolean

Kontroluje, zda řetězec začíná zadaným řetězcem.

  • startsWith('dumbo', 'du') -> true

stddev

stddev(<value1> : number) => double

Získá směrodatnou odchylku sloupce.

  • stdDev(sales)

stddevIf

stddevIf(<value1> : boolean, <value2> : number) => double

Na základě kritérií získá směrodatnou odchylku sloupce.

  • stddevIf(region == 'West', sales)

stddevPopulation

stddevPopulation(<value1> : number) => double

Získá směrodatnou odchylku základního souboru sloupce.

  • stddevPopulation(sales)

stddevPopulationIf

stddevPopulationIf(<value1> : boolean, <value2> : number) => double

Na základě kritérií získá směrodatnou odchylku základního souboru sloupce.

  • stddevPopulationIf(region == 'West', sales)

stddevSample

stddevSample(<value1> : number) => double

Získá směrodatnou odchylku sloupce.

  • stddevSample(sales)

stddevSampleIf

stddevSampleIf(<value1> : boolean, <value2> : number) => double

Na základě kritérií Získá vzorek směrodatnou odchylku sloupce.

  • stddevSampleIf(region == 'West', sales)

subDays

subDays(<date/timestamp> : datetime, <days to subtract> : integral) => datetime

Odečíst dny od data nebo časového razítka. Stejné jako operátor-operator pro datum.

  • subDays(toDate('2016-08-08'), 1) -> toDate('2016-08-07')

subMonths

subMonths(<date/timestamp> : datetime, <months to subtract> : integral) => datetime

Odečíst měsíce od data nebo časového razítka.

  • subMonths(toDate('2016-09-30'), 1) -> toDate('2016-08-31')

substring

substring(<string to subset> : string, <from 1-based index> : integral, [<number of characters> : integral]) => string

Extrahuje podřetězec určité délky z pozice. Pozice je na 1. Pokud je délka vynechána, je nastavena na konec řetězce.

  • substring('Cat in the hat', 5, 2) -> 'in'
  • substring('Cat in the hat', 5, 100) -> 'in the hat'
  • substring('Cat in the hat', 5) -> 'in the hat'
  • substring('Cat in the hat', 100, 100) -> ''

sum

sum(<value1> : number) => number

Získá agregovaný součet číselného sloupce.

  • sum(col)

sumDistinct

sumDistinct(<value1> : number) => number

Získá agregovaný součet jedinečných hodnot číselného sloupce.

  • sumDistinct(col)

sumDistinctIf

sumDistinctIf(<value1> : boolean, <value2> : number) => number

Na základě kritérií získá agregační součet číselného sloupce. Podmínka může být založena na jakémkoli sloupci.

  • sumDistinctIf(state == 'CA' && commission < 10000, sales)
  • sumDistinctIf(true, sales)

sumIf

sumIf(<value1> : boolean, <value2> : number) => number

Na základě kritérií získá agregační součet číselného sloupce. Podmínka může být založena na jakémkoli sloupci.

  • sumIf(state == 'CA' && commission < 10000, sales)
  • sumIf(true, sales)

tan

tan(<value1> : number) => double

Vypočítá tečnou hodnotu.

  • tan(0) -> 0.0

tanh

tanh(<value1> : number) => double

Vypočítá hodnotu hyperbolický tangens.

  • tanh(0) -> 0.0

toBase64

toBase64(<value1> : string) => string

Zakóduje daný řetězec v base64.

  • toBase64('bojjus') -> 'Ym9qanVz'

toBinary

toBinary(<value1> : any) => binary

Převede jakékoli číslo, datum/časové razítko nebo řetězec na binární reprezentaci.

  • toBinary(3) -> [0x11]

toBoolean

toBoolean(<value1> : string) => boolean

Převede hodnotu (t ', ' true ', ' y ', ' yes ', ' 1 ') na true a (' f ', ' false ', ' n ', ' ne ', ' 0 ') na hodnotu false a hodnotu NULL pro jakoukoliv jinou hodnotu.

  • toBoolean('true') -> true
  • toBoolean('n') -> false
  • isNull(toBoolean('truthy')) -> true

toByte

toByte(<value> : any, [<format> : string], [<locale> : string]) => byte

Převede libovolný číselný řetězec nebo řetězec na hodnotu Byte. Pro převod lze použít volitelný formát desítkového čísla Java.

  • toByte(123)
  • 123
  • toByte(0xFF)
  • -1
  • toByte('123')
  • 123

toDate

toDate(<string> : any, [<date format> : string]) => date

Převede řetězec vstupního data na datum pomocí volitelného formátu data a času. SimpleDateFormatPro dostupné formáty se podívejte na třídu Java. Pokud je formát vstupního data vynechán, výchozí formát je rrrr-[M] M-[d] d. Přijatelné formáty jsou: [rrrr, rrrr-[M] M, rrrr-[M] M-[d] d, rrrr-[M] M-[d] dT *].

  • toDate('2012-8-18') -> toDate('2012-08-18')
  • toDate('12/18/2012', 'MM/dd/yyyy') -> toDate('2012-12-18')

toDecimal

toDecimal(<value> : any, [<precision> : integral], [<scale> : integral], [<format> : string], [<locale> : string]) => decimal(10,0)

Převede libovolný číselný řetězec nebo řetězec na desítkovou hodnotu. Pokud není Zadaná přesnost a škálování, je nastavená na (10, 2). Pro převod lze použít volitelný formát desítkového čísla Java. Volitelný formát národního prostředí ve formě jazyka BCP47, jako je en-US, de, zh-CN.

  • toDecimal(123.45) -> 123.45
  • toDecimal('123.45', 8, 4) -> 123.4500
  • toDecimal('$123.45', 8, 4,'$###.00') -> 123.4500
  • toDecimal('Ç123,45', 10, 2, 'Ç###,##', 'de') -> 123.45

toDouble

toDouble(<value> : any, [<format> : string], [<locale> : string]) => double

Převede libovolný číselný řetězec nebo řetězec na hodnotu Double. Pro převod lze použít volitelný formát desítkového čísla Java. Volitelný formát národního prostředí ve formě jazyka BCP47, jako je en-US, de, zh-CN.

  • toDouble(123.45) -> 123.45
  • toDouble('123.45') -> 123.45
  • toDouble('$123.45', '$###.00') -> 123.45
  • toDouble('Ç123,45', 'Ç###,##', 'de') -> 123.45

toFloat

toFloat(<value> : any, [<format> : string], [<locale> : string]) => float

Převede libovolný číselný řetězec nebo řetězec na hodnotu float. Pro převod lze použít volitelný formát desítkového čísla Java. Zkrátí všechna dvojitá přesnost.

  • toFloat(123.45) -> 123.45f
  • toFloat('123.45') -> 123.45f
  • toFloat('$123.45', '$###.00') -> 123.45f

toInteger

toInteger(<value> : any, [<format> : string], [<locale> : string]) => integer

Převede libovolný číselný řetězec nebo řetězec na celočíselnou hodnotu. Pro převod lze použít volitelný formát desítkového čísla Java. Zkrátí všechna dlouhá, float, Double.

  • toInteger(123) -> 123
  • toInteger('123') -> 123
  • toInteger('$123', '$###') -> 123

toLong

toLong(<value> : any, [<format> : string], [<locale> : string]) => long

Převede libovolný číselný řetězec nebo řetězec na dlouhou hodnotu. Pro převod lze použít volitelný formát desítkového čísla Java. Zkrátí libovolný float, Double.

  • toLong(123) -> 123
  • toLong('123') -> 123
  • toLong('$123', '$###') -> 123

toShort

toShort(<value> : any, [<format> : string], [<locale> : string]) => short

Převede libovolný číselný řetězec nebo řetězec na krátkou hodnotu. Pro převod lze použít volitelný formát desítkového čísla Java. Zkrátí libovolné celé číslo, long, float, double.

  • toShort(123) -> 123
  • toShort('123') -> 123
  • toShort('$123', '$###') -> 123

toString

toString(<value> : any, [<number format/date format> : string]) => string

Převede primitivní datový typ na řetězec. Pro čísla a datum je možné zadat formát. Pokud není zadáno, je vybrána výchozí hodnota systému. Desetinný formát Java se používá pro čísla. Všechny možné formáty dat najdete v jazyce Java SimpleDateFormat. Výchozí formát je rrrr-MM-dd.

  • toString(10) -> '10'
  • toString('engineer') -> 'engineer'
  • toString(123456.789, '##,###.##') -> '123,456.79'
  • toString(123.78, '000000.000') -> '000123.780'
  • toString(12345, '##0.#####E0') -> '12.345E3'
  • toString(toDate('2018-12-31')) -> '2018-12-31'
  • isNull(toString(toDate('2018-12-31', 'MM/dd/yy'))) -> true
  • toString(4 == 20) -> 'false'

toTimestamp

toTimestamp(<string> : any, [<timestamp format> : string], [<time zone> : string]) => timestamp

Převede řetězec na časové razítko s volitelným formátem časového razítka. Pokud časové razítko vyjmete, použije se výchozí vzor yyyy-[M]M-[d]d hh:mm:ss[.f...]. Volitelně můžete předat časové pásmo ve formátu GMT, PST, UTC, America/Cayman. Časové razítko podporuje přesnost až milisekund s hodnotou 999. Dostupné formáty najdete SimpleDateFormat ve třídě Jazyka Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

  • toTimestamp('2016-12-31 00:12:00') -> toTimestamp('2016-12-31 00:12:00')
  • toTimestamp('2016-12-31T00:12:00', 'yyyy-MM-dd\'T\'HH:mm:ss', 'PST') -> toTimestamp('2016-12-31 00:12:00')
  • toTimestamp('12/31/2016T00:12:00', 'MM/dd/yyyy\'T\'HH:mm:ss') -> toTimestamp('2016-12-31 00:12:00')
  • millisecond(toTimestamp('2019-02-03 05:19:28.871', 'yyyy-MM-dd HH:mm:ss.SSS')) -> 871

toUTC

toUTC(<value1> : timestamp, [<value2> : string]) => timestamp

Převede časové razítko na UTC. Volitelně můžete předat časové pásmo ve formátu GMT, PST, UTC, America/Cayman. Výchozí hodnota je aktuální časové pásmo. Dostupné formáty najdete SimpleDateFormat ve třídě Jazyka Java. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

  • toUTC(currentTimestamp()) == toTimestamp('2050-12-12 19:18:12') -> false
  • toUTC(currentTimestamp(), 'Asia/Seoul') != toTimestamp('2050-12-12 19:18:12') -> true

translate

translate(<string to translate> : string, <lookup characters> : string, <replace characters> : string) => string

Nahradí jednu sadu znaků jinou sadu znaků v řetězci. Znaky mají nahrazení od 1 do 1.

  • translate('(bojjus)', '()', '[]') -> '[bojjus]'
  • translate('(gunchus)', '()', '[') -> '[gunchus'

trim

trim(<string to trim> : string, [<trim characters> : string]) => string

Oříznutí řetězce počátečních a koncových znaků. Pokud druhý parametr není zadán, ořízněte prázdné znaky. Jinak oříznutí libovolného znaku zadaného ve druhém parametru.

  • trim(' dumbo ') -> 'dumbo'
  • trim('!--!du!mbo!', '-!') -> 'du!mbo'

true

true() => boolean

Vždy vrátí hodnotu true. Pokud existuje sloupec s názvem syntax(true()) true, použijte funkci .

  • (10 + 20 == 30) -> true
  • (10 + 20 == 30) -> true()

typeMatch

typeMatch(<type> : string, <base type> : string) => boolean

Odpovídá typu sloupce. Lze použít pouze ve výrazech vzoru.number odpovídá výrazu short, integer, long, double, float nebo decimal, integrální shody short, integer, long, fractional matches double, float, decimal a datetime matches date nebo timestamp type.

  • typeMatch(type, 'number')
  • typeMatch('date', 'datetime')

unescape

unescape(<string_to_escape> : string, <format> : string) => string

Neuvolní řetězec podle formátu. Hodnoty literálů pro přijatelný formát jsou "json", "xml", "ecmascript", "html", "java".

  • unescape('{\\\\\"value\\\\\": 10}', 'json')
  • '{\\\"value\\\": 10}'

unfold

unfold (<value1>: array) => any

Rozbalí pole do sady řádků a opakuje hodnoty pro zbývající sloupce v každém řádku.

  • unfold(addresses) => any
  • unfold( @(name = salesPerson, sales = salesAmount) ) => any

unhex

unhex(<value1>: string) => binary

Odpojí binární hodnotu od řetězcové reprezentace. To lze použít ve spojení s sha2 a md5 k převodu z řetězce na binární reprezentaci. * unhex('1fadbe') -> toBinary([toByte(0x1f), toByte(0xad), toByte(0xbe)])

  • unhex(md5(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))) -> toBinary([toByte(0x4c),toByte(0xe8),toByte(0xa8),toByte(0x80),toByte(0xbd),toByte(0x62),toByte(0x1a),toByte(0x1f),toByte(0xfa),toByte(0xd0),toByte(0xbc),toByte(0xa9),toByte(0x05),toByte(0xe1),toByte(0xbc),toByte(0x5a)])

union

union(<value1>: array, <value2> : array) => array

Vrátí sadu sjednocených položek ze 2 polí.

  • union([10, 20, 30], [20, 40]) => [10, 20, 30, 40]

upper

upper(<value1> : string) => string

Velkými písmeny je řetězec.

  • upper('bojjus') -> 'BOJJUS'

uuid

uuid() => string

Vrátí vygenerované UUID.

  • uuid()

variance

variance(<value1> : number) => double

Získá odchylku sloupce.

  • variance(sales)

varianceIf

varianceIf(<value1> : boolean, <value2> : number) => double

Na základě kritérií získá odchylku sloupce.

  • varianceIf(region == 'West', sales)

variancePopulation

variancePopulation(<value1> : number) => double

Získá odchylku základního souboru sloupce.

  • variancePopulation(sales)

variancePopulationIf

variancePopulationIf(<value1> : boolean, <value2> : number) => double

Na základě kritérií získá odchylku populace sloupce.

  • variancePopulationIf(region == 'West', sales)

varianceSample

varianceSample(<value1> : number) => double

Získá nezaujatou odchylku sloupce.

  • varianceSample(sales)

varianceSampleIf

varianceSampleIf(<value1> : boolean, <value2> : number) => double

Na základě kritérií získá nezaujatou odchylku sloupce.

  • varianceSampleIf(region == 'West', sales)

weekOfYear

weekOfYear(<value1> : datetime) => integer

Získá týden v roce daného data.

  • weekOfYear(toDate('2008-02-20')) -> 8

weeks

weeks(<value1> : integer) => long

Doba trvání v milisekundách po dobu několika týdnů

  • weeks(2) -> 1209600000L

xor

xor(<value1> : boolean, <value2> : boolean) => boolean

Logický operátor XOR. Stejné jako operátor ^ .

  • xor(true, false) -> true
  • xor(true, true) -> false
  • true ^ false -> true

year

year(<value1> : datetime) => integer

Získá hodnotu roku data.

  • year(toDate('2012-8-8')) -> 2012

Další kroky

Naučte se používat Expression Builder.