Datatransformeringsuttryck i mappning av dataflöde
GÄLLER FÖR:
Azure Data Factory
Azure Synapse Analytics
Dataflöden är tillgängliga både i Azure Data Factory och Azure Synapse Pipelines. Den här artikeln gäller mappning av dataflöden. Om du inte har använt transformationer kan du läsa den inledande artikeln Transformera data med hjälp av ett mappningsdataflöde.
Den här artikeln innehåller information om uttryck och funktioner som stöds av Azure Data Factory och Azure Synapse Analytics i mappning av dataflöden.
Uttrycksfunktioner
I Data Factory och Synapse-pipelines använder du uttrycksspråket för funktionen för att mappa dataflöde för att konfigurera datatransformationer.
| Uttrycksfunktion | Uppgift |
|---|---|
| Abs | Absolutvärde för ett tal. |
| Acos | Beräknar ett cosinus-inverterat värde. |
| Add | Lägger till ett par strängar eller siffror. Lägger till ett datum till ett antal dagar. Lägger till en varaktighet till en tidsstämpel. Lägger till en matris av liknande typ till en annan. Samma som operatorn + . |
| addDays | Lägg till dagar till ett datum eller en tidsstämpel. Samma som operatorn + för datum. |
| addMonths | Lägg till månader till ett datum eller en tidsstämpel. Du kan också skicka en tidszon. |
| and | Logisk AND-operator. Samma som &&. |
| Asin | Beräknar ett inverterat sinusvärde. |
| Atan | Beräknar ett inverterat tangentvärde. |
| atan2 | Returnerar vinkeln i radianer mellan den positiva x-axeln i ett plan och punkten som ges av koordinaterna. |
| Mellan | Kontrollerar om det första värdet finns mellan två andra värden. Numeriska värden, strängvärden och datetime-värden kan jämföras |
| bitwiseAnd | Bitvis and-operator över heltalstyper. Samma som & operatorn |
| bitwiseOr | Bitvis Or-operator över heltalstyper. Samma | som-operatorn |
| bitwiseXor | Bitvis Or-operator över heltalstyper. Samma | som-operatorn |
| v2b | Beräknar Sammanfattning 2 av en uppsättning kolumner med varierande primitiva datatyper givet en bitlängd som bara kan vara multiplar av 8 mellan 8 & 512. Det kan användas för att beräkna ett fingeravtryck för en rad |
| v2bBinary | Beräknar Sammanfattning 2 av en uppsättning kolumner med varierande primitiva datatyper givet en bitlängd som bara kan vara multiplar av 8 mellan 8 & 512. Det kan användas för att beräkna ett fingeravtryck för en rad |
| Fall | Baserat på alternerande villkor tillämpas ett värde eller ett annat. Om antalet indata är jämnt är det andra standardvärdet NULL för det sista villkoret. |
| cbrt | Beräknar kubroten för ett tal. |
| Ceil | Returnerar det minsta heltal som inte är mindre än talet. |
| coalesce | Returnerar det första inte null-värdet från en uppsättning indata. Alla indata ska vara av samma typ. |
| columnNames | Hämtar namnen på alla utdatakolumner för en dataström. Du kan skicka ett valfritt dataströmnamn som det andra argumentet. |
| Kolumner | Hämtar värdena för alla utdatakolumner för en dataström. Du kan skicka ett valfritt dataströmnamn som det andra argumentet. |
| Jämföra | Jämför två värden av samma typ. Returnerar negativt heltal om value1 < value2, 0 if value1 == value2, positive value if value1 > value2. |
| Concat | Sammanfogar ett variabelt antal strängar. Samma som operatorn + med strängar. |
| concatWS | Sammanfogar ett variabelt antal strängar tillsammans med en avgränsare. Den första parametern är avgränsaren. |
| Cos | Beräknar ett cosinusvärde. |
| Cosh | Beräknar ett hyperboliskt cosinus för ett värde. |
| crc32 | Beräknar CRC32-hashen för en uppsättning kolumner med varierande primitiva datatyper givet en bitlängd som bara kan vara av värdena 0(256), 224, 256, 384, 512. Det kan användas för att beräkna ett fingeravtryck för en rad. |
| currentDate | Hämtar det aktuella datumet då jobbet börjar köras. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. |
| currentTimestamp | Hämtar den aktuella tidsstämpeln när jobbet börjar köras med lokal tidszon. |
| currentUTC | Hämtar den aktuella tidsstämpeln som UTC. Om du vill att din aktuella tid ska tolkas i en annan tidszon än klustrets tidszon kan du skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Standardvärdet är den aktuella tidszonen. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. Om du vill konvertera UTC-tiden till en annan tidszon använder du fromUTC() . |
| dayOfMonth | Hämtar dagen i månaden givet ett datum. |
| dayOfWeek | Hämtar veckodagen givet ett datum. 1 - söndag, 2 - måndag ..., 7 - lördag. |
| dayOfYear | Hämtar dagen på året givet ett datum. |
| Dagar | Varaktighet i millisekunder för antal dagar. |
| Grader | Konverterar radianer till grader. |
| Dela | Dividerar par med tal. Samma som / operatorn . |
| dropLeft | Tar bort så många tecken som möjligt från vänster om strängen. Om den begärda listrutan överskrider längden på strängen returneras en tom sträng. |
| dropRight | Tar bort så många tecken från höger om strängen. Om den begärda listrutan överskrider längden på strängen returneras en tom sträng. |
| endsWith | Kontrollerar om strängen slutar med den angivna strängen. |
| Motsvarar | Jämförelse är lika med operator. Samma som ==-operatorn. |
| equalsIgnoreCase | Jämförelsen är lika med operatorn ignorerar case. Samma som <=> operatorn. |
| Fly | Undviker en sträng enligt ett format. Literalvärden för godkänt format är "json", "xml", "ecmascript", "html", "java". |
| Uttryck | Resulterar i ett uttryck från en sträng. Det här är samma sak som att skriva det här uttrycket i en icke-literal form. Detta kan användas för att skicka parametrar som strängrepresentationer. |
| Fakulteten | Beräknar faktorn för ett tal. |
| Falska | Returnerar alltid ett falskt värde. Använd funktionen om syntax(false()) det finns en kolumn med namnet "false". |
| Golvet | Returnerar det största heltal som inte är större än talet. |
| fromBase64 | Avkodar den angivna base64-kodade strängen. |
| fromUTC | Konverterar till tidsstämpeln från UTC. Du kan även skicka tidszonen i form av "GMT", "PST", "UTC", "America/Cayman". Standardvärdet är den aktuella tidszonen. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. |
| större än | Operatorn Comparison Greater. Samma som > operatorn. |
| större än eller lika med | Jämförelse större än eller lika med operator. Samma som >= operatorn. |
| Största | Returnerar det största värdet i listan med värden som indata som hoppar över null-värden. Returnerar null om alla indata är null. |
| hasColumn | Söker efter ett kolumnvärde efter namn i dataströmmen. Du kan skicka ett valfritt dataströmnamn som det andra argumentet. Kolumnnamn som är kända vid designtiden bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar. |
| Timme | Hämtar timvärdet för en tidsstämpel. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. |
| Timmar | Varaktighet i millisekunder för antal timmar. |
| Iif | Baserat på ett villkor tillämpas ett värde eller ett annat. Om annan är ospecificerad betraktas den som NULL. Båda värdena måste vara kompatibla (numeriska, sträng...). |
| iifNull | Kontrollerar om den första parametern är null. Om inte null returneras den första parametern. Om null returneras den andra parametern. Om tre parametrar anges är beteendet detsamma som iif(isNull(value1), value2, value3) och den tredje parametern returneras om det första värdet inte är null. |
| initCap | Konverterar den första bokstaven i varje ord till versaler. Ord identifieras som avgränsade med blanksteg. |
| Instr | Söker efter positionen(1 baserat) för delsträngen i en sträng. 0 returneras om det inte hittas. |
| isDelete | Kontrollerar om raden är markerad för borttagning. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1. |
| isError | Kontrollerar om raden har markerats som fel. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1. |
| isIgnore | Kontrollerar om raden har markerats för att ignoreras. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1. |
| isInsert | Kontrollerar om raden är markerad för infogning. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1. |
| isMatch | Kontrollerar om raden matchas vid uppslag. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1. |
| Ärnull | Kontrollerar om värdet är NULL. |
| isUpdate | Kontrollerar om raden är markerad för uppdatering. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1. |
| isUpsert | Kontrollerar om raden är markerad för infogning. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1. |
| jaroWinkler | Hämtar JaroWinkler-avståndet mellan två strängar. |
| lastDayOfMonth | Hämtar det sista datumet i månaden givet ett datum. |
| Minst | Jämförelse mindre än eller lika med operator. Samma som <= operator. |
| Vänster | Extraherar en delsträng som börjar vid index 1 med antalet tecken. Samma som SUBSTRING(str, 1, n). |
| length | Returnerar längden på strängen. |
| Mindre | Jämförelse mindre operator. Samma som < operatorn. |
| mindre än eller lika med | Jämförelse mindre än eller lika med operator. Samma som <= operator. |
| Levenshtein | Hämtar avståndet mellan två strängar. |
| som | Mönstret är en sträng som matchas bokstavligen. Undantagen är följande specialsymboler: _ matchar ett tecken i indata (liknar . i posix reguljära uttryck) |
| Leta upp | Söker efter positionen(1 baserat) för delsträngen i en sträng som startar en viss position. Om positionen utelämnas beaktas den från början av strängen. 0 returneras om det inte hittas. |
| Logga in | Beräknar loggvärdet. En valfri bas kan anges i annat fall med ett Euler-nummer om det används. |
| log10 | Beräknar loggvärdet baserat på 10 bas. |
| Lägre | Gemener i en sträng. |
| lpad | Vänster utfyllnad av strängen med den angivna utfyllnaden tills den har en viss längd. Om strängen är lika med eller större än längden trimmas den till längden. |
| Ltrim | Vänster trimmar en sträng med inledande tecken. Om den andra parametern är ospecificerad rensas blanksteget. Annars trimmas alla tecken som anges i den andra parametern. |
| md5 | Beräknar MD5-sammanfattningen av en uppsättning kolumner med olika primitiva datatyper och returnerar en hexadexsträng på 32 tecken. Det kan användas för att beräkna ett fingeravtryck för en rad. |
| Millisekund | Hämtar millisekundvärdet för ett datum. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. |
| millisekunder | Varaktighet i millisekunder för antal millisekunder. |
| Minus | Subtraherar tal. Subtrahera antalet dagar från ett datum. Subtrahera varaktighet från en tidsstämpel. Subtrahera två tidsstämplar för att få skillnad i millisekunder. Samma som operatorn - . |
| Minuters | Hämtar minutvärdet för en tidsstämpel. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. |
| Minuter | Varaktighet i millisekunder i antal minuter. |
| Mod | Modulus av par med tal. Samma som operatorn % . |
| månad | Hämtar månadsvärdet för ett datum eller en tidsstämpel. |
| månaderBetween | Hämtar antalet månader mellan två datum. Du kan avrunda beräkningen. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. |
| Multiplicera | Multiplicerar par med tal. Samma som operatorn * . |
| Förneka | Negerar ett tal. Omvandlar positiva tal till negativa och vice versa. |
| nextSequence | Returnerar nästa unika sekvens. Talet är endast i följd inom en partition och föregås av partitionId. |
| Normalisera | Normaliserar strängvärdet till att avgränsa accenterade Unicode-tecken. |
| Inte | Logisk negationsoperator. |
| notEquals | Jämförelsen är inte lika med operatorn . Samma som !=-operatorn. |
| notNull | Kontrollerar om värdet inte är NULL. |
| null | Returnerar ett NULL-värde. Använd funktionen om syntax(null()) det finns en kolumn med namnet "null". Alla -åtgärd som använder resulterar i ett NULL-värde. |
| eller | Logisk OR-operator. Samma som | | . |
| pMod | Positiv modulus av par med tal. |
| Partitionid | Returnerar det aktuella partitions-ID som indataraden finns i. |
| Makt | Höjer ett tal till en annans kraft. |
| Radianer | Konverterar grader till radianer |
| Slumpmässiga | Returnerar ett slumptal givet ett valfritt startvärdet inom en partition. Startvärdet ska vara ett fast värde och används tillsammans med partitionId för att skapa slumpmässiga värden |
| regexExtract | Extrahera en matchande delsträng för ett visst regex-mönster. Den sista parametern identifierar matchningsgruppen och är standardvärdet 1 om det utelämnas. Använd <regex> (bakåtcitat) för att matcha en sträng utan undantag. |
| regexMatch | Kontrollerar om strängen matchar det angivna regex-mönstret. Använd <regex> (bakåtcitat) för att matcha en sträng utan undantag. |
| regexReplace | Ersätt alla förekomster av ett regex-mönster med en annan delsträng i den angivna strängen Använd (bakåtcitat) för att matcha <regex> en sträng utan undantag. |
| regexSplit | Delar upp en sträng baserat på en avgränsare baserat på regex och returnerar en matris med strängar. |
| Ersätta | Ersätt alla förekomster av en delsträng med en annan delsträng i den angivna strängen. Om den sista parametern utelämnas är standardvärdet tom sträng. |
| Omvänd | Inverterar en sträng. |
| Rätt | Extraherar en delsträng med antal tecken från höger. Samma som SUBSTRING(str, LENGTH(str) – n, n). |
| rlike | Kontrollerar om strängen matchar det angivna regex-mönstret. |
| Runda | Avrundar ett tal med en valfri skala och ett valfritt avrundningsläge. Om skalan utelämnas är standardvärdet 0. Om läget utelämnas används standardinställningen ROUND_HALF_UP(5). Värdena för avrundning inkluderar |
| rpad | Högermarkerar strängen med den angivna utfyllnaden tills den har en viss längd. Om strängen är lika med eller större än längden trimmas den till längden. |
| rtrim | Höger rensar en sträng med avslutande tecken. Om den andra parametern är ospecificerad rensas blanksteget. Annars trimmas alla tecken som anges i den andra parametern. |
| Andra | Hämtar det andra värdet för ett datum. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. |
| Sekunder | Varaktighet i millisekunder i antal sekunder. |
| sha1 | Beräknar SHA-1-sammanfattningen av en uppsättning kolumner med varierande primitiva datatyper och returnerar en hexadexsträng på 40 tecken. Det kan användas för att beräkna ett fingeravtryck för en rad. |
| sha2 | Beräknar SHA-2-sammanfattningen av en uppsättning kolumner med varierande primitiva datatyper givet en bitlängd som bara kan vara av värdena 0(256), 224, 256, 384, 512. Det kan användas för att beräkna ett fingeravtryck för en rad. |
| Synd | Beräknar ett sinusvärde. |
| Sinh | Beräknar ett hyperboliskt sinusvärde. |
| Soundex | Hämtar soundex koden för strängen. |
| Split | Delar upp en sträng baserat på en avgränsare och returnerar en matris med strängar. |
| Rot | Beräknar kvadratroten för ett tal. |
| startsWith | Kontrollerar om strängen börjar med den angivna strängen. |
| subDays | Subtrahera dagar från ett datum eller en tidsstämpel. Samma som operatorn - för datum. |
| submonths | Subtrahera månader från ett datum eller en tidsstämpel. |
| Delsträng | Extraherar en delsträng med en viss längd från en position. Positionen är 1 baserat. Om längden utelämnas är den som standard slut på strängen. |
| Tan | Beräknar ett tangensvärde. |
| Tanh | Beräknar ett hyperboliskt tangensvärde. |
| Översätta | Ersätt en uppsättning tecken med en annan uppsättning tecken i strängen. Tecken har 1 till 1 ersättning. |
| Trimma | Trimmar en sträng med inledande och avslutande tecken. Om den andra parametern är ospecificerad rensas blanksteget. Annars trimmas alla tecken som anges i den andra parametern. |
| Sant | Returnerar alltid ett sant värde. Använd funktionen om syntax(true()) det finns en kolumn med namnet "true". |
| typeMatch | Matchar typen av kolumn. Kan endast användas i mönsteruttryck.number matchar kort, heltal, lång, dubbel, flyttal eller decimal, heltalsmatchningar korta, heltal, långa, bråkmatchningar double, flyttal, decimal- och datetime-matchningar av datum- eller tidsstämpeltyp. |
| unescape | Unescapes a string according to a format. Literalvärden för godkänt format är "json", "xml", "ecmascript", "html", "java". |
| Övre | Versaler en sträng. |
| uuid | Returnerar genererat UUID. |
| weekOfYear | Hämtar veckan på året givet ett datum. |
| Veckor | Varaktighet i millisekunder i antal veckor. |
| Xor | Logisk XOR-operator. Samma som operatorn ^ . |
| år | Hämtar årsvärdet för ett datum. |
Mängdfunktioner
Följande funktioner är bara tillgängliga i aggregerings-, pivot-,pivot- och fönstertransformningar.
| Mängdfunktion | Uppgift |
|---|---|
| approxDistinctCount | Hämtar det ungefärliga aggregerade antalet distinkta värden för en kolumn. Den valfria andra parametern är att kontrollera uppskattningsfelet. |
| Avg | Hämtar medelvärdet av värden för en kolumn. |
| avgIf | Baserat på ett villkor hämtar medelvärdet av värden för en kolumn. |
| Samla | Samlar in alla värden för uttrycket i den aggregerade gruppen till en matris. Strukturer kan samlas in och omvandlas till alternativa strukturer under den här processen. Antalet objekt är lika med antalet rader i gruppen och kan innehålla null-värden. Antalet insamlade objekt ska vara litet. |
| count | Hämtar det aggregerade antalet värden. Om de valfria kolumnerna anges ignoreras NULL-värden i antalet. |
| countDistinct | Hämtar det aggregerade antalet distinkta värden för en uppsättning kolumner. |
| Countif | Baserat på ett villkor hämtar det aggregerade antalet värden. Om den valfria kolumnen anges ignoreras NULL-värden i antalet. |
| covariancePopulation | Hämtar populationens kvarians mellan två kolumner. |
| covariancePopulationIf | Hämtar populationens kvarians för två kolumner baserat på ett villkor. |
| covarianceSample | Hämtar exempelkvariansen för två kolumner. |
| covarianceSampleIf | Hämtar samvariansen för två kolumner baserat på ett villkor. |
| Första | Hämtar det första värdet för en kolumngrupp. Om den andra parametern ignoreNulls utelämnas antas den vara false. |
| isDistinct | Söker efter om en kolumn eller uppsättning kolumner är distinkt. Null räknas inte som ett distinkt värde |
| Toppighet | Hämtar stapeln. |
| så här: | Hämtar kolumnrubriken baserat på ett villkor. |
| Senaste | Hämtar det sista värdet för en kolumngrupp. Om den andra parametern ignoreNulls utelämnas antas den vara false. |
| Max | Hämtar det maximala värdet för en kolumn. |
| maxIf | Hämtar det maximala värdet för en kolumn baserat på ett villkor. |
| medelvärde | Hämtar medelvärdet av värden för en kolumn. Samma som AVG. |
| meanIf | Baserat på ett villkor hämtar medelvärdet av värden för en kolumn. Samma som avgIf. |
| min | Hämtar det minsta värdet för en kolumn. |
| minIf | Hämtar det minsta värdet för en kolumn baserat på ett villkor. |
| Skewness | Hämtar snedheten i en kolumn. |
| skevhetIf | Hämtar en kolumns skevhet baserat på ett villkor. |
| stddev | Hämtar standardavvikelsen för en kolumn. |
| stddevIf | Hämtar standardavvikelsen för en kolumn baserat på ett villkor. |
| stddevPopulation | Hämtar populationens standardavvikelse för en kolumn. |
| stddevPopulationIf | Hämtar populationens standardavvikelse för en kolumn baserat på ett villkor. |
| stddevSample | Hämtar exemplets standardavvikelse för en kolumn. |
| stddevSampleIf | Hämtar exemplets standardavvikelse för en kolumn baserat på ett villkor. |
| Summan | Hämtar den aggregerade summan av en numerisk kolumn. |
| sumDistinct | Hämtar den sammanställda summan av distinkta värden för en numerisk kolumn. |
| sumDistinctIf | Baserat på kriterier hämtar den aggregerade summan av en numerisk kolumn. Villkoret kan baseras på valfri kolumn. |
| sumIf | Baserat på kriterier hämtar den aggregerade summan av en numerisk kolumn. Villkoret kan baseras på valfri kolumn. |
| Varians | Hämtar variansen för en kolumn. |
| varianceIf | Hämtar variansen för en kolumn baserat på ett villkor. |
| variancePopulation | Hämtar populationens varians för en kolumn. |
| variancePopulationIf | Hämtar populationens varians för en kolumn baserat på ett villkor. |
| varianceSample | Hämtar den objektiva variansen för en kolumn. |
| varianceSampleIf | Hämtar den objektiva variansen för en kolumn baserat på ett villkor. |
Matrisfunktioner
Matrisfunktioner utför transformningar på datastrukturer som är matriser. Dessa omfattar särskilda nyckelord för att adressera matriselement och index:
#accrepresenterar ett värde som du vill inkludera i dina enskilda utdata när du minskar en matris#indexrepresenterar det aktuella matrisindexet, tillsammans med matrisindexnummer#index2, #index3 ...#itemrepresenterar det aktuella elementvärdet i matrisen
| Matrisfunktion | Uppgift |
|---|---|
| matris | Skapar en matris med objekt. Alla objekt ska vara av samma typ. Om inga objekt anges är en tom strängmatris standard. Samma som en []-genereringsoperator. |
| På | Söker efter elementet i ett matrisindex. Indexet är 1-baserat. Out-of-bounds-index resulterar i ett null-värde. Söker efter ett värde i en karta givet en nyckel. Om nyckeln inte hittas returneras null. |
| Innehåller | Returnerar true om något element i den angivna matrisen utvärderas som sant i det angivna predikatet. Contains förväntar sig en referens till ett element i predikatfunktionen som #item. |
| Distinkta | Returnerar en distinkt uppsättning objekt från en matris. |
| Utom | Returnerar en skillnadsuppsättning för en matris från en annan släppa dubbletter. |
| Filter | Filtrerar element från matrisen som inte uppfyller det angivna predikatet. Filtret förväntar sig en referens till ett element i predikatfunktionen som #item. |
| Hitta | Hitta det första objektet från en matris som matchar villkoret. Det tar en filterfunktion där du kan adressera objektet i matrisen som #item. För djupt kapslade kartor kan du referera till de överordnade kartorna med hjälp av #item_n(#item_1, #item_2...). |
| Platta | Plattar ut matriser eller matriser till en enda matris. Matriser med atomiska objekt returneras oförändrade. Det sista argumentet är valfritt och är som standard falskt för att platta ut rekursivt mer än en nivå djup. |
| I | Kontrollerar om ett objekt finns i matrisen. |
| intersect | Returnerar en skärningspunktsuppsättning med distinkta objekt från 2 matriser. |
| Karta | Kartor varje element i matrisen till ett nytt element med hjälp av det angivna uttrycket. Map förväntar sig en referens till ett element i uttrycksfunktionen som #item. |
| mapIf | Villkorlig mappning av en matris till en annan matris med samma eller mindre längd. Värdena kan vara av valfri datatyp, inklusive structTypes. Det tar en mappningsfunktion där du kan adressera objektet i matrisen som #item och aktuellt index som #index. För djupt kapslade kartor kan du referera till de överordnade kartorna med #item_[n](#item_1, #index_1...) hjälp av notationen . |
| mapIndex | Kartor varje element i matrisen till ett nytt element med hjälp av det angivna uttrycket. Map förväntar sig en referens till ett element i uttrycksfunktionen som #item och en referens till elementindexet som #index. |
| mapLoop | Loopar från 1 till längd för att skapa en matris med den längden. Det tar en mappningsfunktion där du kan hantera indexet i matrisen som #index. För djupt kapslade kartor kan du referera till de överordnade kartorna med hjälp av #index_n(#index_1, #index_2...) notation. |
| Minska | Ackumulerar element i en matris. Reduce förväntar sig en referens till en ackumulator och ett element i den första uttrycksfunktionen som #acc och #item och förväntar sig att det resulterande värdet som #result ska användas i den andra uttrycksfunktionen. |
| Storlek | Söker efter storleken på en matris eller mappningstyp |
| Skiva | Extraherar en delmängd av en matris från en position. Positionen är 1 baserat. Om längden utelämnas blir strängens slut som standard. |
| Sortera | Sorterar matrisen med hjälp av den angivna predikatfunktionen. Sort förväntar sig en referens till två på varandra följande element i uttrycksfunktionen som #item1 och #item2. |
| Utvecklas | Delar upp en matris i en uppsättning rader och upprepar värdena för de återstående kolumnerna på varje rad. |
| Unionen | Returnerar en union med distinkta objekt från 2 matriser. |
Funktioner för cachelagrad sökning
Följande funktioner är bara tillgängliga när du använder en cachelagrad sökning när du har inkluderat en cachelagrad mottagare.
| Cachelagrad sökningsfunktion | Uppgift |
|---|---|
| Sökning | Söker efter den första raden från den cachelagrade mottagaren med de angivna nycklarna som matchar nycklarna från den cachelagrade mottagaren. |
| mlookup | Söker efter alla matchande rader från den cachelagrade mottagaren med hjälp av de angivna nycklarna som matchar nycklarna från den cachelagrade mottagaren. |
| Produktionen | Returnerar den första raden i resultatet av cache-mottagaren |
| Utgångar | Returnerar hela utdataraduppsättningen för resultatet av cache-mottagaren |
Konverteringsfunktioner
Konverteringsfunktioner används för att konvertera data och testa för datatyper
| Konverteringsfunktion | Uppgift |
|---|---|
| isBitSet | Kontrollerar om en bitposition har angetts i den här bituppsättningen |
| setBitSet | Anger bitpositioner i den här bituppsättningen |
| isBoolean | Kontrollerar om strängvärdet är ett booleskt värde enligt reglerna för toBoolean() |
| isByte | Kontrollerar om strängvärdet är ett bytevärde beroende på ett valfritt format enligt reglerna för toByte() |
| isDate | Kontrollerar om indatadatumsträngen är ett datum med ett valfritt format för indatadatum. Se Javas SimpleDateFormat för tillgängliga format. Om formatet för indatadatum utelämnas är standardformatet yyyy-[M]M-[d]d . Godkända format är [ yyyy, yyyy-[M]M, yyyy-[M]M-[d]d, yyyy-[M]M-[d]dT* ] |
| isShort | Kontroller av strängvärdet är ett kort värde givet ett valfritt format enligt reglerna för toShort() |
| isInteger | Kontroller av strängvärdet är ett heltalsvärde beroende på ett valfritt format enligt reglerna för toInteger() |
| isLong | Kontroller av strängvärdet är ett långt värde givet ett valfritt format enligt reglerna för toLong() |
| isNan | Kontrollera om det här inte är ett tal. |
| isFloat | Kontroller av strängvärdet är ett flyttalsvärdet givet ett valfritt format enligt reglerna för toFloat() |
| isDouble | Kontroller av strängvärdet är ett dubbelt värde beroende på ett valfritt format enligt reglerna för toDouble() |
| isDecimal | Kontroller av strängvärdet är ett decimalvärde beroende på ett valfritt format enligt reglerna för toDecimal() |
| isTimestamp | Kontrollerar om datumsträngen för indata är en tidsstämpel med ett valfritt tidsstämpelformat för indata. Se Javas SimpleDateFormat för tillgängliga format. Om tidsstämpeln utelämnas används yyyy-[M]M-[d]d hh:mm:ss[.f...] standardmönstret. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Tidsstämpeln stöder upp till millisekundprecision med värdet 999 Se Javas SimpleDateFormat för tillgängliga format. |
| toBase64 | Kodar den angivna strängen i base64. |
| toBinary | Konverterar numeriska/datum/tidsstämpel/strängar till binär representation. |
| toBoolean | Konverterar värdet ('t', 'true', 'y', 'yes', '1') till true och ('f', 'false', 'n', 'no', '0') till false och NULL för andra värden. |
| toByte | Konverterar numeriska värden eller strängar till ett bytevärde. Ett valfritt Java-decimalformat kan användas för konverteringen. |
| toDate | Konverterar indatadatumsträngen till datum med ett valfritt format för indatadatum. Se Java-klassen SimpleDateFormat för tillgängliga format. Om formatet för indatadatum utelämnas är standardformatet yyyy-[M]M-[d]d. Godkända format är :[ yyyy, yyyy-[M]M, yyyy-[M]M]M-[d]d, yyyy-[M]M-[d]dT* ]. |
| toDecimal | Konverterar alla numeriska värden eller strängar till ett decimalvärde. Om precision och skala inte anges är standardvärdet (10,2). Ett valfritt Java-decimalformat kan användas för konverteringen. Ett valfritt språkformat i formatet BCP47-språk som en-US, de, zh-CN. |
| toDouble | Konverterar alla numeriska värden eller strängar till ett dubbelt värde. Ett valfritt Java-decimalformat kan användas för konverteringen. Ett valfritt språkformat i formatet BCP47-språk som en-US, de, zh-CN. |
| toFloat | Konverterar numeriska värden eller strängar till ett flyttal. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar en dubbel. |
| toInteger | Konverterar alla numeriska värden eller strängar till ett heltalsvärde. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar alla långa flyttal, dubbla. |
| toLong | Konverterar alla numeriska värden eller strängar till ett långt värde. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar alla flyttal, double. |
| toShort | Konverterar alla numeriska värden eller strängar till ett kort värde. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar alla heltal, långt, flyttal, double. |
| toString | Konverterar en primitiv datatyp till en sträng. För tal och datum kan ett format anges. Om systemstandarden är ospecificerad hämtas. Java-decimalformat används för tal. Se Java SimpleDateFormat för alla möjliga datumformat. Standardformatet är yyyy-MM-dd. |
| toTimestamp | Konverterar en sträng till en tidsstämpel med ett valfritt tidsstämpelformat. Om tidsstämpeln utelämnas används standardmönstret yyyy-[M]M-[d]d hh:mm:ss[.f...]. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Tidsstämpeln stöder upp till millisekundprecision med värdet 999. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. |
| toUTC | Konverterar tidsstämpeln till UTC. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Standardvärdet är den aktuella tidszonen. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. |
Kartfunktioner
Kartfunktioner utför åtgärder på map-datatyper
| Funktionen Map | Uppgift |
|---|---|
| Associera | Skapar en karta över nyckel/värden. Alla nycklar & värden ska vara av samma typ. Om inga objekt anges används som standard en mappning av sträng till strängtyp. Samma som en [ -> ] genereringsoperator. Nycklar och värden bör växlas med varandra. |
| keyValues | Skapar en karta över nyckel/värden. Den första parametern är en matris med nycklar och den andra är matrisen med värden. Båda matriserna ska ha samma längd. |
| mapAssociation | Transformerar en karta genom att associera nycklarna till nya värden. Returnerar en matris. Det tar en mappningsfunktion där du kan adressera objektet som #key och aktuellt värde som #value. |
| associera på ett annat sätt | Transformerar en karta genom att associera nycklarna till nya värden. Det tar en mappningsfunktion där du kan adressera objektet som #key och aktuellt värde som #value. |
Metafunktioner
Metafunktioner fungerar främst på metadata i ditt dataflöde
| Metafunktion | Uppgift |
|---|---|
| byItem | Hitta ett underobjekt i en struktur eller matris med struktur Om det finns flera matchningar returneras den första matchningen. Om ingen matchning matchar returneras ett NULL-värde. Det returnerade värdet måste typkonverteringen göras om med någon av typkonverteringsåtgärderna(? Datum? sträng ...). Kolumnnamn som är kända vid design bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar |
| byOrigin | Väljer ett kolumnvärde efter namn i ursprungsströmmen. Det andra argumentet är namnet på ursprungsströmmen. Om det finns flera matchningar returneras den första matchningen. Om ingen matchning matchar returneras ett NULL-värde. Det returnerade värdet måste typkonverterades med någon av typkonverteringsfunktionerna (TO_DATE, TO_STRING ...). Kolumnnamn som är kända vid design bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar. |
| byOrigins | Väljer en matris med kolumner efter namn i dataströmmen. Det andra argumentet är den dataström som den kom från. Om det finns flera matchningar returneras den första matchningen. Om ingen matchning matchar returneras ett NULL-värde. Det returnerade värdet måste typkonverterades med någon av typkonverteringsfunktionerna (TO_DATE, TO_STRING ...) Kolumnnamn som är kända vid design bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar. |
| byName | Väljer ett kolumnvärde efter namn i dataströmmen. Du kan skicka ett valfritt strömnamn som det andra argumentet. Om det finns flera matchningar returneras den första matchningen. Om ingen matchning matchar returneras ett NULL-värde. Det returnerade värdet måste typkonverterades med någon av typkonverteringsfunktionerna (TO_DATE, TO_STRING ...). Kolumnnamn som är kända vid design bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar. |
| byNames | Välj en matris med kolumner efter namn i dataströmmen. Du kan skicka ett valfritt strömnamn som det andra argumentet. Om det finns flera matchningar returneras den första matchningen. Om det inte finns några matchningar för en kolumn är hela utdata ett NULL-värde. Det returnerade värdet kräver en typkonverteringsfunktion (toDate, toString, ...). Kolumnnamn som är kända vid design bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar. |
| byPath | Söker efter en hierarkisk sökväg efter namn i dataströmmen. Du kan skicka ett valfritt strömnamn som det andra argumentet. Om ingen sådan sökväg hittas returneras null. Kolumnnamn/sökvägar som är kända vid designtiden bör adresseras med bara deras namn eller punkt notationssökväg. Beräknade indata stöds inte, men du kan använda parameterersättningar. |
| byPosition | Väljer ett kolumnvärde efter dess relativa position(1 baserat) i dataströmmen. Om positionen ligger utanför gränserna returneras ett NULL-värde. Det returnerade värdet måste typkonverterades med någon av typkonverteringsfunktionerna (TO_DATE, TO_STRING ...) Beräknade indata stöds inte, men du kan använda parameterersättningar. |
| hasPath | Kontrollerar om det finns en viss hierarkisk sökväg efter namn i dataströmmen. Du kan skicka ett valfritt strömnamn som det andra argumentet. Kolumnnamn/sökvägar som är kända vid designtiden bör adresseras med bara deras namn eller punkt notationssökväg. Beräknade indata stöds inte, men du kan använda parameterersättningar. |
| originColumns | Hämtar alla utdatakolumner för en ursprungsström där kolumner skapades. Måste omges av en annan funktion. |
| hex | Returnerar en hexadex-strängrepresentation av ett binärt värde |
| unhex | Tar bort ett binärt värde från dess strängrepresentation. Detta kan användas tillsammans med sha2, md5 för att konvertera från sträng till binär representation |
Fönsterfunktioner
Följande funktioner är bara tillgängliga i fönstertransformningar.
| Windows funktion | Uppgift |
|---|---|
| cumeDist | Funktionen CumeDist beräknar positionen för ett värde i förhållande till alla värden i partitionen. Resultatet är antalet rader som föregår eller är lika med den aktuella raden i partitionens ordning dividerat med det totala antalet rader i fönsterpartitionen. Alla oavgjorda värden i ordningsföljden utvärderas till samma position. |
| denseRank | Beräknar rangordningen för ett värde i en grupp med värden som anges i ett fönsters order by-sats. Resultatet är ett plus antalet rader före eller lika med den aktuella raden i partitionens ordning. Värdena skapar inga luckor i sekvensen. Dense Rank fungerar även när data inte sorteras och söker efter ändringar i värden. |
| fördröjning | Hämtar värdet för den första parametern som utvärderats n rader före den aktuella raden. Den andra parametern är antalet rader att titta tillbaka och standardvärdet är 1. Om det inte finns lika många rader returneras värdet null om inget standardvärde har angetts. |
| Leda | Hämtar värdet för den första parametern som utvärderats n rader efter den aktuella raden. Den andra parametern är antalet rader att se framåt och standardvärdet är 1. Om det inte finns lika många rader returneras värdet null om inget standardvärde har angetts. |
| nTile | Funktionen NTile delar in raderna för varje fönsterpartition i n buckets från 1 till högst n . Bucketvärdena skiljer sig med högst 1. Om antalet rader i partitionen inte delas upp jämnt i antalet bucketar distribueras restvärdena en per bucket, och börjar med den första bucketen. Funktionen NTile är användbar för beräkning av , tertiles kvartiles, deciler och annan vanlig sammanfattningsstatistik. Funktionen beräknar två variabler under initieringen: Storleken på en vanlig bucket har en extra rad tillagd. Båda variablerna baseras på storleken på den aktuella partitionen. Under beräkningsprocessen håller funktionen reda på det aktuella radnumret, det aktuella bucketnumret och radnumret som bucketen ändras på (bucketThreshold). När det aktuella radnumret når buckettröskelvärdet ökas bucketvärdet med ett och tröskelvärdet ökas med bucketstorleken (plus ett extra om den aktuella bucketen är utplåstrad). |
| Frodigt | Beräknar rangordningen för ett värde i en grupp med värden som anges i ett fönsters order by-sats. Resultatet är ett plus antalet rader som föregår eller är lika med den aktuella raden i partitionens ordning. Värdena skapar luckor i sekvensen. Rangordningen fungerar även när data inte sorteras och söker efter ändringar i värden. |
| rowNumber | Tilldelar en sekventiell radnumrering för rader i ett fönster som börjar med 1. |
Alfabetisk lista över alla funktioner
Nedan visas en alfabetisk lista över alla funktioner som är tillgängliga i mappning av dataflöden.
abs
abs(<value1> : number) => number
Absolutvärde för ett tal.
abs(-20) -> 20abs(10) -> 10
acos
acos(<value1> : number) => double
Beräknar ett cosinus-inverterat värde.
acos(1) -> 0.0
add
add(<value1> : any, <value2> : any) => any
Lägger till ett par strängar eller siffror. Lägger till ett datum till ett antal dagar. Lägger till en varaktighet till en tidsstämpel. Lägger till en matris av liknande typ till en annan. Samma som operatorn + .
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
Lägg till dagar till ett datum eller en tidsstämpel. Samma som operatorn + för datum.
addDays(toDate('2016-08-08'), 1) -> toDate('2016-08-09')
addMonths
addMonths(<date/timestamp> : datetime, <months to add> : integral, [<value3> : string]) => datetime
Lägg till månader till ett datum eller en tidsstämpel. Du kan också skicka en tidszon.
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
Logisk AND-operator. Samma som &&.
and(true, false) -> falsetrue && false -> false
approxDistinctCount
approxDistinctCount(<value1> : any, [ <value2> : double ]) => long
Hämtar det ungefärliga aggregerade antalet distinkta värden för en kolumn. Den valfria andra parametern är att kontrollera uppskattningsfelet.
approxDistinctCount(ProductID, .05) => long
array
array([<value1> : any], ...) => array
Skapar en matris med objekt. Alla objekt ska vara av samma typ. Om inga objekt anges är en tom strängmatris standard. Samma som en [] genereringsoperator.
array('Seattle', 'Washington')['Seattle', 'Washington']['Seattle', 'Washington'][1]'Washington'
asin
asin(<value1> : number) => double
Beräknar ett inverterat sinusvärde.
asin(0) -> 0.0
associate
reassociate(<value1> : map, <value2> : binaryFunction) => map
Skapar en karta över nyckel/värden. Alla nycklar & värden ska vara av samma typ. Om inga objekt anges används som standard en mappning av sträng till strängtyp. Samma som en [ -> ] genereringsoperator. Nycklar och värden bör vara alternerande med varandra.
associate('fruit', 'apple', 'vegetable', 'carrot' )=> ['fruit' -> 'apple', 'vegetable' -> 'carrot']
at
at(<value1> : array/map, <value2> : integer/key type) => array
Söker efter elementet i ett matrisindex. Indexet är 1-baserat. Out-of-bounds-index resulterar i ett null-värde. Hittar ett värde i en karta givet en nyckel. Om nyckeln inte hittas returneras null.
at(['apples', 'pears'], 1) => 'apples'at(['fruit' -> 'apples', 'vegetable' -> 'carrot'], 'fruit') => 'apples'
atan
atan(<value1> : number) => double
Beräknar ett inverterat tangentvärde.
atan(0) -> 0.0
atan2
atan2(<value1> : number, <value2> : number) => double
Returnerar vinkeln i radianer mellan den positiva x-axeln i ett plan och punkten som ges av koordinaterna.
atan2(0, 0) -> 0.0
avg
avg(<value1> : number) => number
Hämtar medelvärdet av värden för en kolumn.
avg(sales)
avgIf
avgIf(<value1> : boolean, <value2> : number) => number
Baserat på ett villkor hämtar medelvärdet av värden för en kolumn.
avgIf(region == 'West', sales)
between
between(<value1> : any, <value2> : any, <value3> : any) => boolean
Kontrollerar om det första värdet finns mellan två andra värden. Numeriska värden, strängvärden och datetime-värden kan jämföras * between(10, 5, 24)
truebetween(currentDate(), currentDate() + 10, currentDate() + 20)false
bitwiseAnd
bitwiseAnd(<value1> : integral, <value2> : integral) => integral
Bitvis and-operator över heltalstyper. Samma som & operatorn * bitwiseAnd(0xf4, 0xef)
0xe4(0xf4 & 0xef)0xe4
bitwiseOr
bitwiseOr(<value1> : integral, <value2> : integral) => integral
Bitvis Or-operator över heltalstyper. Samma som | Operatör * bitwiseOr(0xf4, 0xef)
0xff(0xf4 | 0xef)0xff
bitwiseXor
bitwiseXor(<value1> : any, <value2> : any) => any
Bitvis Or-operator över heltalstyper. Samma som | Operatör * bitwiseXor(0xf4, 0xef)
0x1b(0xf4 ^ 0xef)0x1b(true ^ false)true(true ^ true)false
blake2b
blake2b(<value1> : integer, <value2> : any, ...) => string
Beräknar Sammanfattning 2 av en uppsättning kolumner med varierande primitiva datatyper givet en bitlängd som bara kan vara multiplar av 8 mellan 8 & 512. Det kan användas för att beräkna ett fingeravtryck för en rad * blake2b(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))
'c9521a5080d8da30dffb430c50ce253c345cc4c4effc315dab2162dac974711d'
blake2bBinary
blake2bBinary(<value1> : integer, <value2> : any, ...) => binary
Beräknar Sammanfattning 2 av en uppsättning kolumner med varierande primitiva datatyper givet en bitlängd som bara kan vara multiplar av 8 mellan 8 & 512. Det kan användas för att beräkna ett fingeravtryck för en rad * blake2bBinary(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))
unHex('c9521a5080d8da30dffb430c50ce253c345cc4c4effc315dab2162dac974711d')
byItem
byItem(<parent column> : any, <column name> : string) => any
Hitta ett underobjekt i en struktur eller matris med struktur Om det finns flera matchningar returneras den första matchningen. Om ingen matchar returneras ett NULL-värde. Det returnerade värdet måste typkonverteringstypen konverteras av någon av typkonverteringsåtgärderna(? Datum? sträng ...). Kolumnnamn som är kända vid designtiden bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar * 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
Väljer ett kolumnvärde efter namn i dataströmmen. Du kan skicka ett valfritt dataströmnamn som det andra argumentet. Om det finns flera matchningar returneras den första matchningen. Om ingen matchar returneras ett NULL-värde. Det returnerade värdet måste typkonverteringen ska konverteras av någon av typkonverteringsfunktionerna (TO_DATE, TO_STRING ...). Kolumnnamn som är kända vid designtiden bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.
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
Välj en matris med kolumner efter namn i dataströmmen. Du kan skicka ett valfritt dataströmnamn som det andra argumentet. Om det finns flera matchningar returneras den första matchningen. Om det inte finns några matchningar för en kolumn är hela utdata ett NULL-värde. Det returnerade värdet kräver en typkonverteringsfunktion (toDate, toString, ...). Kolumnnamn som är kända vid designtiden bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.
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
Väljer ett kolumnvärde efter namn i ursprungsströmmen. Det andra argumentet är namnet på ursprungsströmmen. Om det finns flera matchningar returneras den första matchningen. Om ingen matchar returneras ett NULL-värde. Det returnerade värdet måste typkonverteringen konverteras av någon av typkonverteringsfunktionerna(TO_DATE, TO_STRING ...). Kolumnnamn som är kända vid designtiden bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.
toString(byOrigin('ancestor', 'ancestorStream'))
byOrigins
byOrigins(<column names> : array, [<origin stream name> : string]) => any
Väljer en matris med kolumner efter namn i dataströmmen. Det andra argumentet är den dataström som den kom från. Om det finns flera matchningar returneras den första matchningen. Om ingen matchar returneras ett NULL-värde. Det returnerade värdet måste typkonverteringen ska konverteras av någon av typkonverteringsfunktionerna (TO_DATE, TO_STRING ...) Kolumnnamn som är kända vid designtiden bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.
toString(byOrigins(['ancestor1', 'ancestor2'], 'ancestorStream'))
byPath
byPath(<value1> : string, [<streamName> : string]) => any
Söker efter en hierarkisk sökväg efter namn i dataströmmen. Du kan skicka ett valfritt dataströmnamn som det andra argumentet. Om ingen sådan sökväg hittas returneras null. Kolumnnamn/sökvägar som är kända vid designtiden bör adresseras bara efter deras namn eller punkt notation sökväg. Beräknade indata stöds inte, men du kan använda parameterersättningar.
byPath('grandpa.parent.child') => column
byPosition
byPosition(<position> : integer) => any
Väljer ett kolumnvärde efter dess relativa position (1 baserat) i dataströmmen. Om positionen ligger utanför gränserna returneras ett NULL-värde. Det returnerade värdet måste typkonverteringen ska konverteras av någon av typkonverteringsfunktionerna (TO_DATE, TO_STRING ...) Beräknade indata stöds inte, men du kan använda parameterersättningar.
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
Baserat på alternerande villkor tillämpas ett värde eller ett annat. Om antalet indata är jämnt är det andra standardvärdet NULL för det sista villkoret.
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
Beräknar kubroten för ett tal.
cbrt(8) -> 2.0
ceil
ceil(<value1> : number) => number
Returnerar det minsta heltal som inte är mindre än talet.
ceil(-0.1) -> 0
coalesce
coalesce(<value1> : any, ...) => any
Returnerar det första inte null-värdet från en uppsättning indata. Alla indata ska vara av samma typ.
coalesce(10, 20) -> 10coalesce(toString(null), toString(null), 'dumbo', 'bo', 'go') -> 'dumbo'
collect
collect(<value1> : any) => array
Samlar in alla värden för uttrycket i den aggregerade gruppen till en matris. Strukturer kan samlas in och omvandlas till alternativa strukturer under den här processen. Antalet objekt är lika med antalet rader i gruppen och kan innehålla null-värden. Antalet insamlade objekt ska vara litet.
collect(salesPerson)collect(firstName + lastName))collect(@(name = salesPerson, sales = salesAmount) )
columnNames
columnNames(<value1> : string) => array
Hämtar namnen på alla utdatakolumner för en dataström. Du kan skicka ett valfritt dataströmnamn som det andra argumentet.
columnNames()columnNames('DeriveStream')
columns
columns([<stream name> : string]) => any
Hämtar värdena för alla utdatakolumner för en dataström. Du kan skicka ett valfritt dataströmnamn som det andra argumentet.
columns()columns('DeriveStream')
compare
compare(<value1> : any, <value2> : any) => integer
Jämför två värden av samma typ. Returnerar negativt heltal om value1 < value2, 0 if value1 == value2, positivt värde om value1 > value2.
(compare(12, 24) < 1) -> true(compare('dumbo', 'dum') > 0) -> true
concat
concat(<this> : string, <that> : string, ...) => string
Sammanfogar ett variabelt antal strängar. Samma som operatorn + med strängar.
concat('dataflow', 'is', 'awesome') -> 'dataflowisawesome''dataflow' + 'is' + 'awesome' -> 'dataflowisawesome'isNull('sql' + null) -> true
concatWS
concatWS(<separator> : string, <this> : string, <that> : string, ...) => string
Sammanfogar ett variabelt antal strängar tillsammans med en avgränsare. Den första parametern är avgränsaren.
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
Returnerar true om något element i den angivna matrisen utvärderas som sant i det angivna predikatet. Contains förväntar sig en referens till ett element i predikatfunktionen som #item.
contains([1, 2, 3, 4], #item == 3) -> truecontains([1, 2, 3, 4], #item > 5) -> false
cos
cos(<value1> : number) => double
Beräknar ett cosinusvärde.
cos(10) -> -0.8390715290764524
cosh
cosh(<value1> : number) => double
Beräknar ett hyperboliskt cosinus för ett värde.
cosh(0) -> 1.0
count
count([<value1> : any]) => long
Hämtar det aggregerade antalet värden. Om de valfria kolumnerna anges ignoreras NULL-värden i antalet.
count(custId)count(custId, custName)count()count(iif(isNull(custId), 1, NULL))
countDistinct
countDistinct(<value1> : any, [<value2> : any], ...) => long
Hämtar det aggregerade antalet distinkta värden för en uppsättning kolumner.
countDistinct(custId, custName)
countIf
countIf(<value1> : boolean, [<value2> : any]) => long
Baserat på ett villkor hämtar det aggregerade antalet värden. Om den valfria kolumnen anges ignoreras NULL-värden i antalet.
countIf(state == 'CA' && commission < 10000, name)
covariancePopulation
covariancePopulation(<value1> : number, <value2> : number) => double
Hämtar populationens kvarians mellan två kolumner.
covariancePopulation(sales, profit)
covariancePopulationIf
covariancePopulationIf(<value1> : boolean, <value2> : number, <value3> : number) => double
Hämtar populationens kvarians för två kolumner baserat på ett villkor.
covariancePopulationIf(region == 'West', sales)
covarianceSample
covarianceSample(<value1> : number, <value2> : number) => double
Hämtar exempelkvariansen för två kolumner.
covarianceSample(sales, profit)
covarianceSampleIf
covarianceSampleIf(<value1> : boolean, <value2> : number, <value3> : number) => double
Hämtar samvariansen för två kolumner baserat på ett villkor.
covarianceSampleIf(region == 'West', sales, profit)
crc32
crc32(<value1> : any, ...) => long
Beräknar CRC32-hashen för en uppsättning kolumner med varierande primitiva datatyper givet en bitlängd som bara kan vara av värdena 0(256), 224, 256, 384, 512. Det kan användas för att beräkna ett fingeravtryck för en rad.
crc32(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> 3630253689L
cumeDist
cumeDist() => integer
Funktionen CumeDist beräknar positionen för ett värde i förhållande till alla värden i partitionen. Resultatet är antalet rader som föregår eller är lika med den aktuella raden i partitionens ordning dividerat med det totala antalet rader i fönsterpartitionen. Alla oavgjorda värden i ordningsföljden utvärderas till samma position.
cumeDist()
currentDate
currentDate([<value1> : string]) => date
Hämtar det aktuella datumet då jobbet börjar köras. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. 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
Hämtar den aktuella tidsstämpeln när jobbet börjar köras med lokal tidszon.
currentTimestamp() == toTimestamp('2250-12-31 12:12:12') -> false
currentUTC
currentUTC([<value1> : string]) => timestamp
Hämtar den aktuella tidsstämpeln som UTC. Om du vill att din aktuella tid ska tolkas i en annan tidszon än klustrets tidszon kan du skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Standardvärdet är den aktuella tidszonen. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. Om du vill konvertera UTC-tiden till en annan tidszon använder du 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
Hämtar dagen i månaden givet ett datum.
dayOfMonth(toDate('2018-06-08')) -> 8
dayOfWeek
dayOfWeek(<value1> : datetime) => integer
Hämtar veckodagen givet ett datum. 1 - söndag, 2 - måndag ..., 7 - lördag.
dayOfWeek(toDate('2018-06-08')) -> 6
dayOfYear
dayOfYear(<value1> : datetime) => integer
Hämtar dagen på året givet ett datum.
dayOfYear(toDate('2016-04-09')) -> 100
days
days(<value1> : integer) => long
Varaktighet i millisekunder för antal dagar.
days(2) -> 172800000L
degrees
degrees(<value1> : number) => double
Konverterar radianer till grader.
degrees(3.141592653589793) -> 180
denseRank
denseRank() => integer
Beräknar rangordningen för ett värde i en grupp med värden som anges i ett fönsters order by-sats. Resultatet är ett plus antalet rader som föregår eller är lika med den aktuella raden i partitionens ordning. Värdena producerar inte luckor i sekvensen. Dense Rank fungerar även när data inte sorteras och söker efter ändringar i värden.
denseRank()
distinct
distinct(<value1> : array) => array
Returnerar en distinkt uppsättning objekt från en matris.
distinct([10, 20, 30, 10]) => [10, 20, 30]
divide
divide(<value1> : any, <value2> : any) => any
Dividerar par med tal. Samma som / operatorn .
divide(20, 10) -> 220 / 10 -> 2
dropLeft
dropLeft(<value1> : string, <value2> : integer) => string
Tar bort så många tecken som möjligt från vänster om strängen. Om den begärda listrutan överskrider längden på strängen returneras en tom sträng.
- dropLeft('siljus', 2) => 'jjus' * dropLeft('left', 10) => '' ___
dropRight
dropRight(<value1> : string, <value2> : integer) => string
Tar bort så många tecken från höger om strängen. Om den begärda listrutan överskrider längden på strängen returneras en tom sträng.
- dropRight('scriptjus', 2) => '' * dropRight('drop', 10) => '' ___
endsWith
endsWith(<string> : string, <substring to check> : string) => boolean
Kontrollerar om strängen slutar med den angivna strängen.
endsWith('dumbo', 'mbo') -> true
equals
equals(<value1> : any, <value2> : any) => boolean
Jämförelse är lika med operator. Samma som ==-operatorn.
equals(12, 24) -> false12 == 24 -> false'bad' == 'bad' -> trueisNull('good' == toString(null)) -> trueisNull(null == null) -> true
equalsIgnoreCase
equalsIgnoreCase(<value1> : string, <value2> : string) => boolean
Jämförelsen är lika med operatorn ignorerar case. Samma som <=> operatorn.
'abc'<=>'Abc' -> trueequalsIgnoreCase('abc', 'Abc') -> true
escape
escape(<string_to_escape> : string, <format> : string) => string
Undviker en sträng enligt ett format. Literalvärden för godkänt format är "json", "xml", "ecmascript", "html", "java".
except
except(<value1> : array, <value2> : array) => array
Returnerar en skillnadsuppsättning för en matris från en annan som släpper dubbletter.
except([10, 20, 30], [20, 40]) => [10, 30]
expr
expr(<expr> : string) => any
Resulterar i ett uttryck från en sträng. Det här är samma sak som att skriva det här uttrycket i en icke-literal form. Detta kan användas för att skicka parametrar som strängrepresentationer.
- expr('price * discount') => any ___
factorial
factorial(<value1> : number) => long
Beräknar faktorn för ett tal.
factorial(5) -> 120
false
false() => boolean
Returnerar alltid ett falskt värde. Använd funktionen om syntax(false()) det finns en kolumn med namnet "false".
(10 + 20 > 30) -> false(10 + 20 > 30) -> false()
filter
filter(<value1> : array, <value2> : unaryfunction) => array
Filtrerar element från matrisen som inte uppfyller det angivna predikatet. Filtret förväntar sig en referens till ett element i predikatfunktionen som #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
Hitta det första objektet från en matris som matchar villkoret. Det tar en filterfunktion där du kan adressera objektet i matrisen som #item. För djupt kapslade kartor kan du referera till de överordnade kartorna med hjälp av #item_n-notationen (#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
Hämtar det första värdet för en kolumngrupp. Om den andra parametern ignoreNulls utelämnas antas den vara false.
first(sales)first(sales, false)
flatten
flatten(<array> : array, <value2> : array ..., <value2> : boolean) => array
Plattar ut matriser eller matriser till en enda matris. Matriser med atomiska objekt returneras oförändrade. Det sista argumentet är valfritt och är som standard falskt för att platta ut rekursivt mer än en nivå djup.
flatten([['bojjus', 'girl'], ['gunchus', 'boy']]) => ['bojjus', 'girl', 'gunchus', 'boy']flatten([[['bojjus', 'gunchus']]] , true) => ['bojjus', 'gunchus']
floor
floor(<value1> : number) => number
Returnerar det största heltal som inte är större än talet.
floor(-0.1) -> -1
fromBase64
fromBase64(<value1> : string) => string
Avkodar den angivna base64-kodade strängen.
fromBase64('Z3VuY2h1cw==') -> 'gunchus'
fromUTC
fromUTC(<value1> : timestamp, [<value2> : string]) => timestamp
Konverterar till tidsstämpeln från UTC. Du kan även skicka tidszonen i form av "GMT", "PST", "UTC", "America/Cayman". Standardvärdet är den aktuella tidszonen. Se Java-klassen SimpleDateFormat för tillgängliga format. 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
Operatorn Comparison Greater. Samma som > operatorn.
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
Jämförelse större än eller lika med operator. Samma som >= operatorn.
greaterOrEqual(12, 12) -> true('dumbo' >= 'dum') -> true
greatest
greatest(<value1> : any, ...) => any
Returnerar det största värdet i listan med värden som indata som hoppar över null-värden. Returnerar null om alla indata är 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
Söker efter ett kolumnvärde efter namn i dataströmmen. Du kan skicka ett valfritt dataströmnamn som det andra argumentet. Kolumnnamn som är kända vid designtiden bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.
hasColumn('parent')
hasPath
hasPath(<value1> : string, [<streamName> : string]) => boolean
Kontrollerar om en viss hierarkisk sökväg finns efter namn i dataströmmen. Du kan skicka ett valfritt dataströmnamn som det andra argumentet. Kolumnnamn/sökvägar som är kända vid designtiden bör adresseras bara efter deras namn eller punkt notation sökväg. Beräknade indata stöds inte, men du kan använda parameterersättningar.
hasPath('grandpa.parent.child') => boolean
hex
hex(<value1>: binary) => string
Returnerar en hexadex-strängrepresentation av ett binärt värde * hex(toBinary([toByte(0x1f), toByte(0xad), toByte(0xbe)])) -> '1fadbe'
hour
hour(<value1> : timestamp, [<value2> : string]) => integer
Hämtar timvärdet för en tidsstämpel. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. 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
Varaktighet i millisekunder för antal timmar.
hours(2) -> 7200000L
iif
iif(<condition> : boolean, <true_expression> : any, [<false_expression> : any]) => any
Baserat på ett villkor tillämpas ett värde eller ett annat. Om annan är ospecificerad betraktas den som NULL. Båda värdena måste vara kompatibla (numeriska, sträng...). * 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
Kontrollerar om den första parametern är null. Om inte null returneras den första parametern. Om null returneras den andra parametern. Om tre parametrar anges är beteendet detsamma som iif(isNull(value1), value2, value3) och den tredje parametern returneras om det första värdet inte är 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
Kontrollerar om ett objekt finns i matrisen.
in([10, 20, 30], 10) -> truein(['good', 'kid'], 'bad') -> false
initCap
initCap(<value1> : string) => string
Konverterar den första bokstaven i varje ord till versaler. Ord identifieras som avgränsade med blanksteg.
initCap('cool iceCREAM') -> 'Cool Icecream'
instr
instr(<string> : string, <substring to find> : string) => integer
Söker efter positionen(1 baserat) för delsträngen i en sträng. 0 returneras om det inte hittas.
instr('dumbo', 'mbo') -> 3instr('microsoft', 'o') -> 5instr('good', 'bad') -> 0
intersect
intersect(<value1> : array, <value2> : array) => array
Returnerar en skärningspunktsuppsättning med distinkta objekt från 2 matriser.
intersect([10, 20, 30], [20, 40]) => [20]
isBitSet
isBitSet (<value1> : array, <value2>:integer ) => boolean
Kontrollerar om en bit-position har angetts i den här bituppsättningen * isBitSet(toBitSet([10, 32, 98]), 10) => true
isBoolean
isBoolean(<value1>: string) => boolean
Kontrollerar om strängvärdet är ett booleskt värde enligt reglerna för toBoolean()
isBoolean('true') -> trueisBoolean('no') -> trueisBoolean('microsoft') -> false
isByte
isByte(<value1> : string) => boolean
Kontrollerar om strängvärdet är ett bytevärde beroende på ett valfritt format enligt reglerna för toByte()
isByte('123') -> trueisByte('chocolate') -> false
isDate
isDate (<value1> : string, [<format>: string]) => boolean
Kontrollerar om indatadatumsträngen är ett datum med ett valfritt format för indatadatum. Se Javas SimpleDateFormat för tillgängliga format. Om formatet för indatadatum utelämnas är standardformatet yyyy-[M]M-[d]d . Godkända format är [ 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
Kontroller av strängvärdet är ett decimalvärde beroende på ett valfritt format enligt reglerna för toDecimal()
isDecimal('123.45') -> trueisDecimal('12/12/2000') -> false
isDelete
isDelete([<value1> : integer]) => boolean
Kontrollerar om raden är markerad för borttagning. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isDelete()isDelete(1)
isDistinct
isDistinct(<value1> : any , <value1> : any) => boolean
Söker efter om en kolumn eller uppsättning kolumner är distinkt. Null räknas inte som ett distinkt värde * isDistinct(custId, custName) => boolean
isDouble
isDouble (<value1> : string, [<format>: string]) => boolean
Kontroller av strängvärdet är ett dubbelt värde givet ett valfritt format enligt reglerna för toDouble()
isDouble('123') -> trueisDouble('$123.45' -> '$###.00') -> trueisDouble('icecream') -> false
isError
isError([<value1> : integer]) => boolean
Kontrollerar om raden har markerats som fel. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isError()isError(1)
isFloat
isFloat (<value1> : string, [<format>: string]) => boolean
Kontroller av strängvärdet är ett flyttal med ett valfritt format enligt reglerna för toFloat()
isFloat('123') -> trueisFloat('$123.45' -> '$###.00') -> trueisFloat('icecream') -> false
isIgnore
isIgnore([<value1> : integer]) => boolean
Kontrollerar om raden har markerats för att ignoreras. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isIgnore()isIgnore(1)
isInsert
isInsert([<value1> : integer]) => boolean
Kontrollerar om raden är markerad för infogning. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isInsert()isInsert(1)
isInteger
isInteger (<value1> : string, [<format>: string]) => boolean
Kontroller av strängvärdet är ett heltalsvärde givet ett valfritt format enligt reglerna för toInteger()
isInteger('123') -> trueisInteger('$123' -> '$###') -> trueisInteger('microsoft') -> false
isLong
isLong (<value1> : string, [<format>: string]) => boolean
Kontroller av strängvärdet är ett långt värde givet ett valfritt format enligt reglerna för toLong()
isLong('123') -> trueisLong('$123' -> '$###') -> trueisLong('gunchus') -> false
isMatch
isMatch([<value1> : integer]) => boolean
Kontrollerar om raden matchas vid uppslag. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isMatch()isMatch(1)
isNan
isNan (<value1> : integral) => boolean
Kontrollera om det här inte är ett tal.
isNan(10.2) => false
isNull
isNull(<value1> : any) => boolean
Kontrollerar om värdet är NULL.
isNull(NULL()) -> trueisNull('') -> false
isShort
isShort (<value1> : string, [<format>: string]) => boolean
Kontroller av strängvärdet är ett kort värde givet ett valfritt format enligt reglerna för toShort()
isShort('123') -> trueisShort('$123' -> '$###') -> trueisShort('microsoft') -> false
isTimestamp
isTimestamp (<value1> : string, [<format>: string]) => boolean
Kontrollerar om indatadatumsträngen är en tidsstämpel med ett valfritt format för indatatidsstämpeln. Se Javas SimpleDateFormat för tillgängliga format. Om tidsstämpeln utelämnas används yyyy-[M]M-[d]d hh:mm:ss[.f...] standardmönstret. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Tidsstämpeln stöder upp till millisekundprecision med värdet 999 Se Javas SimpleDateFormat för tillgängliga format.
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
Kontrollerar om raden är markerad för uppdatering. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isUpdate()isUpdate(1)
isUpsert
isUpsert([<value1> : integer]) => boolean
Kontrollerar om raden är markerad för infogning. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isUpsert()isUpsert(1)
jaroWinkler
jaroWinkler(<value1> : string, <value2> : string) => double
Hämtar JaroWinkler-avståndet mellan två strängar.
jaroWinkler('frog', 'frog') => 1.0
keyValues
keyValues(<value1> : array, <value2> : array) => map
Skapar en karta över nyckel/värden. Den första parametern är en matris med nycklar och den andra är matrisen med värden. Båda matriserna ska ha samma längd.
keyValues(['bojjus', 'appa'], ['gunchus', 'ammi']) => ['bojjus' -> 'gunchus', 'appa' -> 'ammi']
kurtosis
kurtosis(<value1> : number) => double
Hämtar stapeln.
kurtosis(sales)
kurtosisIf
kurtosisIf(<value1> : boolean, <value2> : number) => double
Hämtar kolumnrubriken baserat på ett villkor.
kurtosisIf(region == 'West', sales)
lag
lag(<value> : any, [<number of rows to look before> : number], [<default value> : any]) => any
Hämtar värdet för den första parametern som utvärderats n rader före den aktuella raden. Den andra parametern är antalet rader att titta tillbaka och standardvärdet är 1. Om det inte finns lika många rader returneras värdet null såvida inte ett standardvärde har angetts.
lag(amount, 2)lag(amount, 2000, 100)
last
last(<value1> : any, [<value2> : boolean]) => any
Hämtar det sista värdet för en kolumngrupp. Om den andra parametern ignoreNulls utelämnas antas den vara false.
last(sales)last(sales, false)
lastDayOfMonth
lastDayOfMonth(<value1> : datetime) => date
Hämtar det sista datumet i månaden givet ett 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
Hämtar värdet för den första parametern som utvärderats n rader efter den aktuella raden. Den andra parametern är antalet rader som ska se framåt och standardvärdet är 1. Om det inte finns lika många rader returneras värdet null såvida inte ett standardvärde har angetts.
lead(amount, 2)lead(amount, 2000, 100)
least
least(<value1> : any, ...) => any
Jämförelse mindre än eller lika med operator. Samma som <= operatorn.
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
Extraherar en delsträng som börjar vid index 1 med antalet tecken. Samma som SUBSTRING(str, 1, n).
left('bojjus', 2) -> 'bo'left('bojjus', 20) -> 'bojjus'
length
length(<value1> : string) => integer
Returnerar längden på strängen.
length('dumbo') -> 5
lesser
lesser(<value1> : any, <value2> : any) => boolean
Jämförelse mindre operator. Samma som < operatorn.
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
Jämförelse mindre än eller lika med operator. Samma som <= operatorn.
lesserOrEqual(12, 12) -> true('dumbo' <= 'dum') -> false
levenshtein
levenshtein(<from string> : string, <to string> : string) => integer
Hämtar avståndet mellan två strängar.
levenshtein('boys', 'girls') -> 4
like
like(<string> : string, <pattern match> : string) => boolean
Mönstret är en sträng som matchas bokstavligen. Undantagen är följande särskilda symboler: _ matchar ett tecken i indata (liknar . i posix reguljära uttryck) % matchar noll eller flera tecken i indata (liknar .* i posix reguljära uttryck).
Escape-tecknet är "". Om ett escape-tecken föregår en särskild symbol eller ett annat escape-tecken matchas följande tecken bokstavligen. Det är ogiltigt att undvika andra tecken.
like('icecream', 'ice%') -> true
locate
locate(<substring to find> : string, <string> : string, [<from index - 1-based> : integral]) => integer
Söker efter positionen(1 baserat) för delsträngen i en sträng som startar en viss position. Om positionen utelämnas beaktas den från början av strängen. 0 returneras om det inte hittas.
locate('mbo', 'dumbo') -> 3locate('o', 'microsoft', 6) -> 7locate('bad', 'good') -> 0
log
log(<value1> : number, [<value2> : number]) => double
Beräknar loggvärdet. En valfri bas kan anges med ett Euler-nummer om det används.
log(100, 10) -> 2
log10
log10(<value1> : number) => double
Beräknar loggvärdet baserat på 10 basvärden.
log10(100) -> 2
lookup
lookup(key, key2, ...) => complex[]
Söker upp den första raden från den cachelagrade mottagaren med hjälp av de angivna nycklar som matchar nycklarna från den cachelagrade mottagaren.
cacheSink#lookup(movieId)
lower
lower(<value1> : string) => string
Gemener i en sträng.
lower('GunChus') -> 'gunchus'
lpad
lpad(<string to pad> : string, <final padded length> : integral, <padding> : string) => string
Vänstermarkerar strängen med den angivna utfyllnaden tills den har en viss längd. Om strängen är lika med eller större än längden trimmas den till längden.
lpad('dumbo', 10, '-') -> '-----dumbo'lpad('dumbo', 4, '-') -> 'dumb'- ''lpad('duhc', 8, '<>') -> '<><dumbo'``
ltrim
ltrim(<string to trim> : string, [<trim characters> : string]) => string
Vänster trimmar en sträng med inledande tecken. Om den andra parametern är ospecificerad rensas blanksteget. Annars trimmas alla tecken som anges i den andra parametern.
ltrim(' dumbo ') -> 'dumbo 'ltrim('!--!du!mbo!', '-!') -> 'du!mbo!'
map
map(<value1> : array, <value2> : unaryfunction) => any
Kartor varje element i matrisen till ett nytt element med hjälp av det angivna uttrycket. Map förväntar sig en referens till ett element i uttrycksfunktionen som #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
Transformerar en karta genom att associera nycklarna till nya värden. Returnerar en matris. Det tar en mappningsfunktion där du kan adressera objektet som #key och aktuellt värde som #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
Mappar villkorligt en matris till en annan matris med samma eller mindre längd. Värdena kan vara av valfri datatyp, inklusive structTypes. Det tar en mappningsfunktion där du kan adressera objektet i matrisen som #item och aktuellt index som #index. För djupt kapslade kartor kan du referera till de överordnade kartorna med #item_[n](#item_1, #index_1...) hjälp av notationen .
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
Kartor varje element i matrisen till ett nytt element med hjälp av det angivna uttrycket. Map förväntar sig en referens till ett element i uttrycksfunktionen som #item och en referens till elementindexet som #index.
mapIndex([1, 2, 3, 4], #item + 2 + #index) -> [4, 6, 8, 10]
mapLoop
mapLoop(<value1> : integer, <value2> : unaryfunction) => any
Loopar från 1 till längd för att skapa en matris med den längden. Det tar en mappningsfunktion där du kan hantera indexet i matrisen som #index. För djupt kapslade kartor kan du referera till de överordnade kartorna med hjälp av #index_n-notationen (#index_1, #index_2...).
mapLoop(3, #index * 10) -> [10, 20, 30]
max
max(<value1> : any) => any
Hämtar det maximala värdet för en kolumn.
max(sales)
maxIf
maxIf(<value1> : boolean, <value2> : any) => any
Hämtar det maximala värdet för en kolumn baserat på ett villkor.
maxIf(region == 'West', sales)
md5
md5(<value1> : any, ...) => string
Beräknar MD5-sammanfattningen av en uppsättning kolumner med olika primitiva datatyper och returnerar en hexadexsträng på 32 tecken. Det kan användas för att beräkna ett fingeravtryck för en rad.
md5(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> '4ce8a880bd621a1ffad0bca905e1bc5a'
mean
mean(<value1> : number) => number
Hämtar medelvärdet av värden för en kolumn. Samma som AVG.
mean(sales)
meanIf
meanIf(<value1> : boolean, <value2> : number) => number
Baserat på ett villkor hämtar medelvärdet av värden för en kolumn. Samma som avgIf.
meanIf(region == 'West', sales)
millisecond
millisecond(<value1> : timestamp, [<value2> : string]) => integer
Hämtar millisekundvärdet för ett datum. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. 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
Varaktighet i millisekunder för antal millisekunder.
milliseconds(2) -> 2L
min
min(<value1> : any) => any
Hämtar det minsta värdet för en kolumn.
min(sales)
minIf
minIf(<value1> : boolean, <value2> : any) => any
Hämtar det minsta värdet för en kolumn baserat på ett villkor.
minIf(region == 'West', sales)
minus
minus(<value1> : any, <value2> : any) => any
Subtraherar tal. Subtrahera antalet dagar från ett datum. Subtrahera varaktighet från en tidsstämpel. Subtrahera två tidsstämplar för att få skillnad i millisekunder. Samma som operatorn - .
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
Hämtar minutvärdet för en tidsstämpel. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. 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
Varaktighet i millisekunder i antal minuter.
minutes(2) -> 120000L
mlookup
mlookup(key, key2, ...) => complex[]
Söker upp alla matchande rader från den cachelagrade mottagaren med hjälp av de angivna nycklarna som matchar nycklarna från den cachelagrade mottagaren.
cacheSink#mlookup(movieId)
mod
mod(<value1> : any, <value2> : any) => any
Modulus av par med tal. Samma som operatorn % .
mod(20, 8) -> 420 % 8 -> 4
month
month(<value1> : datetime) => integer
Hämtar månadsvärdet för ett datum eller en tidsstämpel.
month(toDate('2012-8-8')) -> 8
monthsBetween
monthsBetween(<from date/timestamp> : datetime, <to date/timestamp> : datetime, [<roundoff> : boolean], [<time zone> : string]) => double
Hämtar antalet månader mellan två datum. Du kan avrunda beräkningen. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. 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
Multiplicerar par med tal. Samma som operatorn * .
multiply(20, 10) -> 20020 * 10 -> 200
negate
negate(<value1> : number) => number
Negerar ett tal. Omvandlar positiva tal till negativa och vice versa.
negate(13) -> -13
nextSequence
nextSequence() => long
Returnerar nästa unika sekvens. Talet är endast i följd inom en partition och föregås av partitionId.
nextSequence() == 12313112 -> false
normalize
normalize(<String to normalize> : string) => string
Normaliserar strängvärdet till att avgränsa accenterade Unicode-tecken.
regexReplace(normalize('bo²s'), `\p{M}`, '') -> 'boys'
not
not(<value1> : boolean) => boolean
Logisk negationsoperator.
not(true) -> falsenot(10 == 20) -> true
notEquals
notEquals(<value1> : any, <value2> : any) => boolean
Jämförelsen är inte lika med operatorn . Samma som !=-operatorn.
12 != 24 -> true'bojjus' != 'bo' + 'jjus' -> false
notNull
notNull(<value1> : any) => boolean
Kontrollerar om värdet inte är NULL.
notNull(NULL()) -> falsenotNull('') -> true
nTile
nTile([<value1> : integer]) => integer
Funktionen NTile delar in raderna för varje fönsterpartition i n bucketar från 1 till högst n . Bucketvärdena skiljer sig med högst 1. Om antalet rader i partitionen inte delas upp jämnt i antalet bucketar distribueras restvärdena en per bucket, och börjar med den första bucketen. Funktionen NTile är användbar för beräkning av , tertiles kvartiles, deciler och annan vanlig sammanfattningsstatistik. Funktionen beräknar två variabler under initieringen: Storleken på en vanlig bucket har en extra rad tillagd. Båda variablerna baseras på storleken på den aktuella partitionen. Under beräkningsprocessen håller funktionen reda på det aktuella radnumret, det aktuella bucketnumret och radnumret som bucketen ändras på (bucketThreshold). När det aktuella radnumret når buckettröskelvärdet ökas bucketvärdet med ett och tröskelvärdet ökas med bucketstorleken (plus ett extra om den aktuella bucketen är utplåstrad).
nTile()nTile(numOfBuckets)
null
null() => null
Returnerar ett NULL-värde. Använd funktionen om syntax(null()) det finns en kolumn med namnet "null". Alla -åtgärd som använder resulterar i ett NULL-värde.
isNull('dumbo' + null) -> trueisNull(10 * null) -> trueisNull('') -> falseisNull(10 + 20) -> falseisNull(10/0) -> true
or
or(<value1> : boolean, <value2> : boolean) => boolean
Logisk OR-operator. Samma som ||.
or(true, false) -> truetrue || false -> true
originColumns
originColumns(<streamName> : string) => any
Hämtar alla utdatakolumner för en ursprungsström där kolumner skapades. Måste omges av en annan funktion.
array(toString(originColumns('source1')))
output
output() => any
Returnerar den första raden i resultatet av cache-mottagaren * cacheSink#output()
outputs
output() => any
Returnerar hela utdataraduppsättningen för resultatet av cache-mottagaren * cacheSink#outputs()
partitionId
partitionId() => integer
Returnerar det aktuella partitions-ID som indataraden finns i.
partitionId()
pMod
pMod(<value1> : any, <value2> : any) => any
Positiv modulus av par med tal.
pmod(-20, 8) -> 4
power
power(<value1> : number, <value2> : number) => double
Höjer ett tal till en annans kraft.
power(10, 2) -> 100
radians
radians(<value1> : number) => double
Konverterar grader till radianer * radians(180) => 3.141592653589793
random
random(<value1> : integral) => long
Returnerar ett slumptal givet ett valfritt startvärdet inom en partition. Startvärdet ska vara ett fast värde och används tillsammans med partitionId för att skapa slumpmässiga värden * random(1) == 1 -> false
rank
rank() => integer
Beräknar rangordningen för ett värde i en grupp med värden som anges i ett fönsters order by-sats. Resultatet är ett plus antalet rader som föregår eller är lika med den aktuella raden i partitionens ordning. Värdena skapar luckor i sekvensen. Rangordning fungerar även när data inte sorteras och söker efter ändringar i värden.
rank()
reassociate
reassociate(<value1> : map, <value2> : binaryFunction) => map
Transformerar en karta genom att associera nycklarna till nya värden. Det tar en mappningsfunktion där du kan adressera objektet som #key och aktuellt värde som #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
Ackumulerar element i en matris. Reduce förväntar sig en referens till en ackumulator och ett element i den första uttrycksfunktionen som #acc och #item och förväntar sig att det resulterande värdet som #result ska användas i den andra uttrycksfunktionen.
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
Extrahera en matchande delsträng för ett visst regex-mönster. Den sista parametern identifierar matchningsgruppen och är standardvärdet 1 om det utelämnas. Använd (bakåtcitat) för att matcha en sträng utan undantag.
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
Kontrollerar om strängen matchar det angivna regex-mönstret. Använd (bakåtcitat) för att matcha en sträng utan undantag.
regexMatch('200.50', '(\\d+).(\\d+)') -> trueregexMatch('200.50', `(\d+).(\d+)`) -> true
regexReplace
regexReplace(<string> : string, <regex to find> : string, <substring to replace> : string) => string
Ersätt alla förekomster av ett regex-mönster med en annan delsträng i den angivna strängen Använd "(bakåtcitat) för att matcha en sträng utan undantag.
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
Delar upp en sträng baserat på en avgränsare baserat på regex och returnerar en matris med strängar.
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
Ersätt alla förekomster av en delsträng med en annan delsträng i den angivna strängen. Om den sista parametern utelämnas används som standard en tom sträng.
replace('doggie dog', 'dog', 'cat') -> 'catgie cat'replace('doggie dog', 'dog', '') -> 'gie 'replace('doggie dog', 'dog') -> 'gie '
reverse
reverse(<value1> : string) => string
Omvänder en sträng.
reverse('gunchus') -> 'suhcnug'
right
right(<string to subset> : string, <number of characters> : integral) => string
Extraherar en delsträng med antal tecken från höger. Samma som SUBSTRING(str, LENGTH(str) – n, n).
right('bojjus', 2) -> 'us'right('bojjus', 20) -> 'bojjus'
rlike
rlike(<string> : string, <pattern match> : string) => boolean
Kontrollerar om strängen matchar det angivna regex-mönstret.
rlike('200.50', `(\d+).(\d+)`) -> truerlike('bogus', `M[0-9]+.*`) -> false
round
round(<number> : number, [<scale to round> : number], [<rounding option> : integral]) => double
Avrundar ett tal med en valfri skala och ett valfritt avrundningsläge. Om skalan utelämnas är standardvärdet 0. Om läget utelämnas används standardinställningen ROUND_HALF_UP(5). Värdena för avrundning är 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
Tilldelar en sekventiell radnumrering för rader i ett fönster som börjar med 1.
rowNumber()
rpad
rpad(<string to pad> : string, <final padded length> : integral, <padding> : string) => string
Höger utfyllnad av strängen med den angivna utfyllnaden tills den har en viss längd. Om strängen är lika med eller större än längden trimmas den till längden.
rpad('dumbo', 10, '-') -> 'dumbo-----'rpad('dumbo', 4, '-') -> 'dumb'- ''rpad('du matt', 8, '<>') -> 'dusats<><'``
rtrim
rtrim(<string to trim> : string, [<trim characters> : string]) => string
Höger trimmar en sträng med avslutande tecken. Om den andra parametern är ospecificerad rensas blanksteget. Annars trimmas alla tecken som anges i den andra parametern.
rtrim(' dumbo ') -> ' dumbo'rtrim('!--!du!mbo!', '-!') -> '!--!du!mbo'
second
second(<value1> : timestamp, [<value2> : string]) => integer
Hämtar det andra värdet för ett datum. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. 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
Varaktighet i millisekunder i antal sekunder.
seconds(2) -> 2000L
setBitSet
setBitSet (<value1>: array, <value2>:array) => array
Anger bitpositioner i den här bituppsättningen * setBitSet(toBitSet([10, 32]), [98]) => [4294968320L, 17179869184L]
sha1
sha1(<value1> : any, ...) => string
Beräknar SHA-1-sammanfattningen av en uppsättning kolumner med olika primitiva datatyper och returnerar en hexadexsträng på 40 tecken. Det kan användas för att beräkna ett fingeravtryck för en rad.
sha1(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> '46d3b478e8ec4e1f3b453ac3d8e59d5854e282bb'
sha2
sha2(<value1> : integer, <value2> : any, ...) => string
Beräknar SHA-2-sammanfattningen av en uppsättning kolumner med olika primitiva datatyper givet en bitlängd som bara kan vara av värdena 0(256), 224, 256, 384, 512. Det kan användas för att beräkna ett fingeravtryck för en rad.
sha2(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> 'afe8a553b1761c67d76f8c31ceef7f71b66a1ee6f4e6d3b5478bf68b47d06bd3'
sin
sin(<value1> : number) => double
Beräknar ett sinusvärde.
sin(2) -> 0.9092974268256817
sinh
sinh(<value1> : number) => double
Beräknar ett hyperboliskt sinusvärde.
sinh(0) -> 0.0
size
size(<value1> : any) => integer
Söker efter storleken på en matris eller mappningstyp * size(['element1', 'element2']) -> 2
size([1,2,3]) -> 3
skewness
skewness(<value1> : number) => double
Hämtar snedheten i en kolumn.
skewness(sales)
skewnessIf
skewnessIf(<value1> : boolean, <value2> : number) => double
Hämtar snedheten i en kolumn baserat på ett villkor.
skewnessIf(region == 'West', sales)
slice
slice(<array to slice> : array, <from 1-based index> : integral, [<number of items> : integral]) => array
Extraherar en delmängd av en matris från en position. Positionen är 1 baserat. Om längden utelämnas blir strängens slut som standard.
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
Sorterar matrisen med hjälp av den angivna predikatfunktionen. Sort förväntar sig en referens till två på varandra följande element i uttrycksfunktionen som #item1 och #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
Hämtar soundex koden för strängen.
soundex('genius') -> 'G520'
split
split(<string to split> : string, <split characters> : string) => array
Delar upp en sträng baserat på en avgränsare och returnerar en matris med strängar.
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
Beräknar kvadratroten för ett tal.
sqrt(9) -> 3
startsWith
startsWith(<string> : string, <substring to check> : string) => boolean
Kontrollerar om strängen börjar med den angivna strängen.
startsWith('dumbo', 'du') -> true
stddev
stddev(<value1> : number) => double
Hämtar standardavvikelsen för en kolumn.
stdDev(sales)
stddevIf
stddevIf(<value1> : boolean, <value2> : number) => double
Hämtar standardavvikelsen för en kolumn baserat på ett villkor.
stddevIf(region == 'West', sales)
stddevPopulation
stddevPopulation(<value1> : number) => double
Hämtar populationens standardavvikelse för en kolumn.
stddevPopulation(sales)
stddevPopulationIf
stddevPopulationIf(<value1> : boolean, <value2> : number) => double
Hämtar populationens standardavvikelse för en kolumn baserat på ett villkor.
stddevPopulationIf(region == 'West', sales)
stddevSample
stddevSample(<value1> : number) => double
Hämtar exemplets standardavvikelse för en kolumn.
stddevSample(sales)
stddevSampleIf
stddevSampleIf(<value1> : boolean, <value2> : number) => double
Hämtar exemplets standardavvikelse för en kolumn baserat på ett villkor.
stddevSampleIf(region == 'West', sales)
subDays
subDays(<date/timestamp> : datetime, <days to subtract> : integral) => datetime
Subtrahera dagar från ett datum eller en tidsstämpel. Samma som operatorn - för datum.
subDays(toDate('2016-08-08'), 1) -> toDate('2016-08-07')
subMonths
subMonths(<date/timestamp> : datetime, <months to subtract> : integral) => datetime
Subtrahera månader från ett datum eller en tidsstämpel.
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
Extraherar en delsträng av en viss längd från en position. Positionen är 1 baserat. Om längden utelämnas blir strängens slut som standard.
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
Hämtar den aggregerade summan av en numerisk kolumn.
sum(col)
sumDistinct
sumDistinct(<value1> : number) => number
Hämtar den sammanställda summan av distinkta värden för en numerisk kolumn.
sumDistinct(col)
sumDistinctIf
sumDistinctIf(<value1> : boolean, <value2> : number) => number
Baserat på kriterier hämtar den aggregerade summan av en numerisk kolumn. Villkoret kan baseras på valfri kolumn.
sumDistinctIf(state == 'CA' && commission < 10000, sales)sumDistinctIf(true, sales)
sumIf
sumIf(<value1> : boolean, <value2> : number) => number
Baserat på kriterier hämtar den aggregerade summan av en numerisk kolumn. Villkoret kan baseras på valfri kolumn.
sumIf(state == 'CA' && commission < 10000, sales)sumIf(true, sales)
tan
tan(<value1> : number) => double
Beräknar ett tangensvärde.
tan(0) -> 0.0
tanh
tanh(<value1> : number) => double
Beräknar ett hyperboliskt tangensvärde.
tanh(0) -> 0.0
toBase64
toBase64(<value1> : string) => string
Kodar den angivna strängen i base64.
toBase64('bojjus') -> 'Ym9qanVz'
toBinary
toBinary(<value1> : any) => binary
Konverterar numeriska/datum/tidsstämpel/strängar till binär representation.
toBinary(3) -> [0x11]
toBoolean
toBoolean(<value1> : string) => boolean
Konverterar värdet ('t', 'true', 'y', 'yes', '1') till true och ('f', 'false', 'n', 'no', '0') till false och NULL för andra värden.
toBoolean('true') -> truetoBoolean('n') -> falseisNull(toBoolean('truthy')) -> true
toByte
toByte(<value> : any, [<format> : string], [<locale> : string]) => byte
Konverterar numeriska värden eller strängar till ett bytevärde. Ett valfritt Java-decimalformat kan användas för konverteringen.
toByte(123)123toByte(0xFF)-1toByte('123')123
toDate
toDate(<string> : any, [<date format> : string]) => date
Konverterar indatadatumsträngen till datum med ett valfritt format för indatadatum. Se Java-klassen SimpleDateFormat för tillgängliga format. Om formatet för indatadatum utelämnas är standardformatet yyyy-[M]M-[d]d. Godkända format är :[ yyyy, yyyy-[M]M, yyyy-[M]M]M-[d]d, yyyy-[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)
Konverterar alla numeriska värden eller strängar till ett decimalvärde. Om precision och skala inte anges är standardvärdet (10,2). Ett valfritt Java-decimalformat kan användas för konverteringen. Ett valfritt språkformat i formatet BCP47-språk som 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
Konverterar alla numeriska värden eller strängar till ett dubbelt värde. Ett valfritt Java-decimalformat kan användas för konverteringen. Ett valfritt språkformat i formatet BCP47-språk som 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
Konverterar numeriska värden eller strängar till ett flyttal. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar en dubbel.
toFloat(123.45) -> 123.45ftoFloat('123.45') -> 123.45ftoFloat('$123.45', '$###.00') -> 123.45f
toInteger
toInteger(<value> : any, [<format> : string], [<locale> : string]) => integer
Konverterar alla numeriska värden eller strängar till ett heltalsvärde. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar alla långa flyttal, dubbla.
toInteger(123) -> 123toInteger('123') -> 123toInteger('$123', '$###') -> 123
toLong
toLong(<value> : any, [<format> : string], [<locale> : string]) => long
Konverterar alla numeriska värden eller strängar till ett långt värde. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar alla flyttal, double.
toLong(123) -> 123toLong('123') -> 123toLong('$123', '$###') -> 123
toShort
toShort(<value> : any, [<format> : string], [<locale> : string]) => short
Konverterar alla numeriska värden eller strängar till ett kort värde. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar alla heltal, långt, flyttal, double.
toShort(123) -> 123toShort('123') -> 123toShort('$123', '$###') -> 123
toString
toString(<value> : any, [<number format/date format> : string]) => string
Konverterar en primitiv datatyp till en sträng. För tal och datum kan ett format anges. Om systemstandarden är ospecificerad hämtas. Java-decimalformat används för tal. Se Java SimpleDateFormat för alla möjliga datumformat. Standardformatet är yyyy-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
Konverterar en sträng till en tidsstämpel med ett valfritt tidsstämpelformat. Om tidsstämpeln utelämnas används standardmönstret yyyy-[M]M-[d]d hh:mm:ss[.f...]. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Tidsstämpeln stöder upp till millisekundprecision med värdet 999. Se Java-klassen SimpleDateFormat för tillgängliga format. 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
Konverterar tidsstämpeln till UTC. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Standardvärdet är den aktuella tidszonen. Se Java-klassen SimpleDateFormat för tillgängliga format. 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
Ersätt en uppsättning tecken med en annan uppsättning tecken i strängen. Tecken har 1 till 1 ersättning.
translate('(bojjus)', '()', '[]') -> '[bojjus]'translate('(gunchus)', '()', '[') -> '[gunchus'
trim
trim(<string to trim> : string, [<trim characters> : string]) => string
Trimmar en sträng med inledande och avslutande tecken. Om den andra parametern är ospecificerad rensas blanksteget. Annars trimmas alla tecken som anges i den andra parametern.
trim(' dumbo ') -> 'dumbo'trim('!--!du!mbo!', '-!') -> 'du!mbo'
true
true() => boolean
Returnerar alltid ett true-värde. Använd funktionen syntax(true()) om det finns en kolumn med namnet "true".
(10 + 20 == 30) -> true(10 + 20 == 30) -> true()
typeMatch
typeMatch(<type> : string, <base type> : string) => boolean
Matchar kolumnens typ. Kan bara användas i mönsteruttryck.number matchar kort, heltal, lång, dubbel, flyttal eller decimal, heltal matchar kort, heltal, långt, bråkmatchningar double, flyttal, decimal- och datetime-matchningar datum eller tidsstämpeltyp.
typeMatch(type, 'number')typeMatch('date', 'datetime')
unescape
unescape(<string_to_escape> : string, <format> : string) => string
Unescapes a string according to a format. Literalvärden för godkänt format är "json", "xml", "ecmascript", "html", "java".
unescape('{\\\\\"value\\\\\": 10}', 'json')'{\\\"value\\\": 10}'
unfold
unfold (<value1>: array) => any
Delar upp en matris i en uppsättning rader och upprepar värdena för de återstående kolumnerna på varje rad.
unfold(addresses) => anyunfold( @(name = salesPerson, sales = salesAmount) ) => any
unhex
unhex(<value1>: string) => binary
Tar bort ett binärt värde från dess strängrepresentation. Detta kan användas tillsammans med sha2, md5 för att konvertera från sträng till binär representation * 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
Returnerar en union med distinkta objekt från 2 matriser.
union([10, 20, 30], [20, 40]) => [10, 20, 30, 40]
upper
upper(<value1> : string) => string
Versaler en sträng.
upper('bojjus') -> 'BOJJUS'
uuid
uuid() => string
Returnerar genererat UUID.
uuid()
variance
variance(<value1> : number) => double
Hämtar variansen för en kolumn.
variance(sales)
varianceIf
varianceIf(<value1> : boolean, <value2> : number) => double
Hämtar variansen för en kolumn baserat på ett villkor.
varianceIf(region == 'West', sales)
variancePopulation
variancePopulation(<value1> : number) => double
Hämtar populationens varians för en kolumn.
variancePopulation(sales)
variancePopulationIf
variancePopulationIf(<value1> : boolean, <value2> : number) => double
Hämtar populationens varians för en kolumn baserat på ett villkor.
variancePopulationIf(region == 'West', sales)
varianceSample
varianceSample(<value1> : number) => double
Hämtar den objektiva variansen för en kolumn.
varianceSample(sales)
varianceSampleIf
varianceSampleIf(<value1> : boolean, <value2> : number) => double
Hämtar den objektiva variansen för en kolumn baserat på ett villkor.
varianceSampleIf(region == 'West', sales)
weekOfYear
weekOfYear(<value1> : datetime) => integer
Hämtar veckan på året givet ett datum.
weekOfYear(toDate('2008-02-20')) -> 8
weeks
weeks(<value1> : integer) => long
Varaktighet i millisekunder i antal veckor.
weeks(2) -> 1209600000L
xor
xor(<value1> : boolean, <value2> : boolean) => boolean
Logisk XOR-operator. Samma som operatorn ^ .
xor(true, false) -> truexor(true, true) -> falsetrue ^ false -> true
year
year(<value1> : datetime) => integer
Hämtar årsvärdet för ett datum.
year(toDate('2012-8-8')) -> 2012