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ů:
#accpředstavuje hodnotu, kterou chcete zahrnout do jednoho výstupu při snížení hodnoty pole.#indexpředstavuje aktuální index pole spolu s čísly indexu pole.#index2, #index3 ...#itempř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) -> 20abs(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) -> 3010 + 20 -> 30add('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) -> falsetrue && 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)
truebetween(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']) ? stringtoLong(byNames(['income']))byNames(['income']) ? longtoBoolean(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')) -> truecase(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) -> 10coalesce(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')) -> trueconcatWS(' 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) -> truecontains([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') -> falsecurrentDate('PST') == toDate('2250-12-31') -> falsecurrentDate('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') -> falsecurrentUTC() != toTimestamp('2050-12-12 19:18:12') -> truefromUTC(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) -> 220 / 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) -> false12 == 24 -> false'bad' == 'bad' -> trueisNull('good' == toString(null)) -> trueisNull(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' -> trueequalsIgnoreCase('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) -> 20find(['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') -> falsefromUTC(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) -> 30greatest(10, toInteger(null), 20) -> 20greatest(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')) -> 12hour(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) -> 10iifNull(null, 20, 40) -> 20iifNull('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) -> truein(['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') -> 3instr('microsoft', 'o') -> 5instr('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') -> trueisBoolean('no') -> trueisBoolean('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') -> trueisByte('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') -> trueisDate('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') -> trueisDecimal('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') -> trueisDouble('$123.45' -> '$###.00') -> trueisDouble('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') -> trueisFloat('$123.45' -> '$###.00') -> trueisFloat('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') -> trueisInteger('$123' -> '$###') -> trueisInteger('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') -> trueisLong('$123' -> '$###') -> trueisLong('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()) -> trueisNull('') -> 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') -> trueisShort('$123' -> '$###') -> trueisShort('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') -> trueisTimestamp('2016-12-31T00:12:00' -> 'yyyy-MM-dd\\'T\\'HH:mm:ss' -> 'PST') -> trueisTimestamp('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) -> 10least(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') -> 3locate('o', 'microsoft', 6) -> 7locate('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) -> 1020 - 10 -> 10minus(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')) -> 58minute(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) -> 420 % 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) -> 20020 * 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) -> falsenot(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()) -> falsenotNull('') -> 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) -> trueisNull(10 * null) -> trueisNull('') -> falseisNull(10 + 20) -> falseisNull(10/0) -> true
or
or(<value1> : boolean, <value2> : boolean) => boolean
Logický operátor OR Stejné jako | |.
or(true, false) -> truetrue || 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+)') -> trueregexMatch('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
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+)`) -> truerlike('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.0round(2.5, 0) -> 3.0round(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] -> 20isNull(slice([10, 20, 30, 40], 2)[0]) -> trueisNull(slice([10, 20, 30, 40], 2)[20]) -> trueslice(['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]) -> trueisNull(split('bojjus, guchus, dumbo', ', ')[20]) -> truesplit('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') -> truetoBoolean('n') -> falseisNull(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)123toByte(0xFF)-1toByte('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.45toDecimal('123.45', 8, 4) -> 123.4500toDecimal('$123.45', 8, 4,'$###.00') -> 123.4500toDecimal('Ç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.45toDouble('123.45') -> 123.45toDouble('$123.45', '$###.00') -> 123.45toDouble('Ç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.45ftoFloat('123.45') -> 123.45ftoFloat('$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) -> 123toInteger('123') -> 123toInteger('$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) -> 123toLong('123') -> 123toLong('$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) -> 123toShort('123') -> 123toShort('$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'))) -> truetoString(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') -> falsetoUTC(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) => anyunfold( @(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) -> truexor(true, true) -> falsetrue ^ false -> true
year
year(<value1> : datetime) => integer
Získá hodnotu roku data.
year(toDate('2012-8-8')) -> 2012