Expressies voor gegevenstransformatie in toewijzingsgegevensstroom
VAN TOEPASSING OP:
Azure Data Factory
Azure Synapse Analytics
Gegevensstromen zijn beschikbaar in Azure Data Factory en Azure Synapse Pipelines. Dit artikel is van toepassing op toewijzingsgegevensstromen. Als u geen kennis hebt met transformaties, raadpleegt u het inleidende artikel Gegevens transformeren met behulp van een toewijzingsgegevensstroom.
Dit artikel bevat informatie over expressies en functies die worden ondersteund door Azure Data Factory en Azure Synapse Analytics in toewijzingsgegevensstromen.
Expressiefuncties
Gebruik Data Factory en Synapse-pijplijnen de expressietaal van de functie toewijzingsgegevensstroom om gegevenstransformaties te configureren.
| Expressiefunctie | Taak |
|---|---|
| Abs | Absolute waarde van een getal. |
| Acos | Berekent een inverse cosinuswaarde. |
| add | Voegt een paar tekenreeksen of getallen toe. Hiermee wordt een datum toegevoegd aan een aantal dagen. Voegt een duur toe aan een tijdstempel. De ene matrix van een vergelijkbaar type wordt aan een andere matrix aan een andere toe. Hetzelfde als de operator + . |
| addDays | Dagen toevoegen aan een datum of tijdstempel. Hetzelfde als de operator + voor datum. |
| addMonths | Maanden toevoegen aan een datum of tijdstempel. U kunt eventueel een tijdzone doorgeven. |
| and | Logische EN-operator. Hetzelfde als &&. |
| Asin | Berekent een inverse sinuswaarde. |
| Atan | Berekent een inverse tangenswaarde. |
| atan2 | Retourneert de hoek in radialen tussen de positieve x-as van een vlak en het punt dat door de coördinaten wordt gegeven. |
| Tussen | Controleert of de eerste waarde tussen twee andere waarden staat. Numerieke waarden, tekenreeksen en datum/tijd-waarden kunnen worden vergeleken |
| bitwiseAnd | Bitsgewijze en operator voor integrale typen. Hetzelfde als & operator |
| bitwiseOr | Bitsgewijze of operator voor integrale typen. Hetzelfde als | operator |
| bitwiseXor | Bitsgewijze of operator voor integrale typen. Hetzelfde als | operator |
| :2b | Berekent de Samenvatting 2 van een reeks kolommen van verschillende primitieve gegevenstypen op basis van een bitlengte, wat alleen veelvouden van 8 tussen 8 & 512 kan zijn. Het kan worden gebruikt om een vingerafdruk voor een rij te berekenen |
| :2bBinary | Berekent de Samenvatting 2 van een reeks kolommen van verschillende primitieve gegevenstypen op basis van een bitlengte, wat alleen veelvouden van 8 tussen 8 & 512 kan zijn. Het kan worden gebruikt om een vingerafdruk voor een rij te berekenen |
| Geval | Op basis van afwisselende voorwaarden wordt de ene of de andere waarde toegepast. Als het aantal invoerwaarden even is, wordt de andere standaard ingesteld op NULL voor de laatste voorwaarde. |
| cbrt | Berekent de kubuswortel van een getal. |
| ceil | Retourneert het kleinste gehele getal dat niet kleiner is dan het getal. |
| coalesce | Retourneert de eerste niet null-waarde uit een set invoer. Alle invoer moet van hetzelfde type zijn. |
| columnNames | Haalt de namen van alle uitvoerkolommen voor een stroom op. U kunt een optionele streamnaam doorgeven als het tweede argument. |
| Kolommen | Haalt de waarden van alle uitvoerkolommen voor een stroom op. U kunt een optionele streamnaam doorgeven als het tweede argument. |
| Vergelijken | Vergelijkt twee waarden van hetzelfde type. Retourneert een negatief geheel getal als value1 < value2, 0 if value1 == value2, positieve waarde als value1 > value2. |
| Concat | Een variabel aantal tekenreeksen samenvoegt. Hetzelfde als de operator + met tekenreeksen. |
| concatWS | Een variabel aantal tekenreeksen samen met een scheidingsteken. De eerste parameter is het scheidingsteken. |
| Cos | Berekent een cosinuswaarde. |
| Cosh | Berekent een hyperbolische cosinus van een waarde. |
| crc32 | Berekent de CRC32-hash van een set kolommen met verschillende primitieve gegevenstypen op basis van een bitlengte die alleen waarden van 0(256), 224, 256, 384, 512 kan zijn. Het kan worden gebruikt om een vingerafdruk voor een rij te berekenen. |
| Currentdate | Hiermee haalt u de huidige datum op waarop deze taak wordt uitgevoerd. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. |
| currentTimestamp | Haalt de huidige tijdstempel wanneer de taak wordt gestart met de lokale tijdzone. |
| currentUTC | Haalt de huidige tijdstempel op als UTC. Als u wilt dat uw huidige tijd wordt geïnterpreteerd in een andere tijdzone dan de tijdzone van uw cluster, kunt u een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Interpret'. Deze is standaard ingesteld op de huidige tijdzone. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. Als u de UTC-tijd wilt converteren naar een andere tijdzone, gebruikt fromUTC() u . |
| dayOfMonth | Haalt de dag van de maand op op een datum. |
| dayOfWeek | Haalt de dag van de week op op een datum. 1 - zondag, 2 - maandag ..., 7 - zaterdag. |
| dayOfYear | Haalt de dag van het jaar op op een datum. |
| Dagen | Duur in milliseconden voor het aantal dagen. |
| Graden | Converteert radialen naar graden. |
| Verdelen | Verdeelt het paar getallen. Hetzelfde als de / operator. |
| dropLeft | Hiermee verwijdert u zoveel tekens aan de linkerkant van de tekenreeks. Als de aangevraagde daling de lengte van de tekenreeks overschrijdt, wordt een lege tekenreeks geretourneerd. |
| dropRight | Hiermee verwijdert u zoveel tekens rechts van de tekenreeks. Als de aangevraagde daling de lengte van de tekenreeks overschrijdt, wordt een lege tekenreeks geretourneerd. |
| endsWith | Controleert of de tekenreeks eindigt met de opgegeven tekenreeks. |
| is gelijk aan | Vergelijking is gelijk aan operator. Hetzelfde als == operator. |
| equalsIgnoreCase | Vergelijking is gelijk aan operator die case negeert. Hetzelfde als <=> operator. |
| Ontsnappen | Escapet een tekenreeks volgens een indeling. Letterlijke waarden voor een acceptabele indeling zijn 'json', 'xml', 'ecmascript', 'html', 'java'. |
| Expr | Resulteert in een expressie van een tekenreeks. Dit is hetzelfde als het schrijven van deze expressie in een niet-letterlijke vorm. Dit kan worden gebruikt om parameters door te geven als tekenreeksweergaven. |
| Faculteit | Berekent de factoriële waarde van een getal. |
| Valse | Retourneert altijd een onwaar-waarde. Gebruik de functie syntax(false()) als er een kolom is met de naam 'false'. |
| Verdieping | Retourneert het grootste gehele getal dat niet groter is dan het getal. |
| fromBase64 | Decodeert de opgegeven base64-gecodeerde tekenreeks. |
| fromUTC | Converteert van UTC naar de tijdstempel. U kunt de tijdzone desgewenst doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. Deze is standaard ingesteld op de huidige tijdzone. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. |
| Groter | Vergelijkingsoperator groter. Hetzelfde als > operator. |
| greaterOrEqual | Vergelijking groter dan of gelijk aan operator. Hetzelfde als >= operator. |
| Grootste | Retourneert de hoogste waarde in de lijst met waarden als invoer die null-waarden over overslaan. Retourneert null als alle invoer null is. |
| hasColumn | Controleert op een kolomwaarde op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parameters vervangen. |
| Uur | Haalt de uurwaarde van een tijdstempel op. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Week'. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. |
| Uur | Duur in milliseconden voor het aantal uren. |
| Iif | Op basis van een voorwaarde wordt de ene of de andere waarde toegepast. Als andere niet is gespecificeerd, wordt dit beschouwd als NULL. Beide waarden moeten compatibel zijn (numeriek, tekenreeks...). |
| iifNull | Controleert of de eerste parameter null is. Als dit niet null is, wordt de eerste parameter geretourneerd. Als null is, wordt de tweede parameter geretourneerd. Als er drie parameters zijn opgegeven, is het gedrag hetzelfde als iif(isNull(value1), value2, value3) en wordt de derde parameter geretourneerd als de eerste waarde niet null is. |
| initCap | Converteert de eerste letter van elk woord naar hoofdletters. Woorden worden geïdentificeerd als gescheiden door witruimte. |
| Instr | Zoekt de positie (1 op basis) van de subtekenreeks binnen een tekenreeks. 0 wordt geretourneerd als deze niet wordt gevonden. |
| isDelete | Controleert of de rij is gemarkeerd voor verwijderen. Voor transformaties die meer dan één invoerstroom nemen, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1. |
| isError | Controleert of de rij als fout is gemarkeerd. Voor transformaties die meer dan één invoerstroom nemen, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1. |
| isIgnore | Controleert of de rij is gemarkeerd om te worden genegeerd. Voor transformaties die meer dan één invoerstroom nemen, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1. |
| isInsert | Controleert of de rij is gemarkeerd voor invoegen. Voor transformaties die meer dan één invoerstroom nemen, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1. |
| isMatch | Controleert of de rij wordt gematcht bij het opzoek. Voor transformaties die meer dan één invoerstroom nemen, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De streamindex moet 1 of 2 zijn en de standaardwaarde is 1. |
| Isnull | Controleert of de waarde NULL is. |
| isUpdate | Controleert of de rij is gemarkeerd voor update. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De streamindex moet 1 of 2 zijn en de standaardwaarde is 1. |
| isUpsert | Controleert of de rij is gemarkeerd voor invoegen. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De streamindex moet 1 of 2 zijn en de standaardwaarde is 1. |
| jaroWinkler | Haalt de jaroWinkler-afstand tussen twee tekenreeksen op. |
| lastDayOfMonth | Haalt de laatste datum van de maand op op een datum. |
| Minst | Vergelijking kleiner dan of gelijk aan operator. Hetzelfde als <= operator. |
| Links | Extraheert een subtekenreeks beginnen bij index 1 met het aantal tekens. Hetzelfde als SUBSTRING(str, 1, n). |
| length | Retourneert de lengte van de tekenreeks. |
| Minder | Vergelijkingsoperator minder. Hetzelfde als < operator. |
| minder of gelijk | Vergelijking kleiner dan of gelijk aan operator. Hetzelfde als <= operator. |
| Levenshtein | Haalt de afstand levenshtein tussen twee tekenreeksen. |
| Als | Het patroon is een tekenreeks die letterlijk wordt gematcht. De uitzonderingen zijn de volgende speciale symbolen: _ komt overeen met een teken in de invoer (vergelijkbaar met . in posix reguliere expressies) |
| Zoek | Zoekt de positie(1 op basis) van de subtekenreeks binnen een tekenreeks die een bepaalde positie begint. Als de positie wordt weggelaten, wordt deze beschouwd vanaf het begin van de tekenreeks. 0 wordt geretourneerd als deze niet wordt gevonden. |
| Log | Berekent de logboekwaarde. Een optionele basis kan anders een Euler-nummer worden opgegeven als deze wordt gebruikt. |
| log10 | Berekent de logboekwaarde op basis van 10. |
| Lagere | Een tekenreeks in kleine letters. |
| lpad | Links wordt de tekenreeks opgevuld door de opgegeven opvulling totdat deze een bepaalde lengte heeft. Als de tekenreeks gelijk is aan of groter is dan de lengte, wordt deze ingekort tot de lengte. |
| lt door | Met de linkerkant wordt een tekenreeks met vooraanstaand tekens bijsnijden. Als de tweede parameter niet is gespecificeerd, wordt de witruimte inkort. Anders worden alle tekens die in de tweede parameter zijn opgegeven, bijafafd. |
| md5 | Berekent de MD5-samenvatting van een set kolommen met verschillende primitieve gegevenstypen en retourneert een hextreeks van 32 tekens. Het kan worden gebruikt om een vingerafdruk voor een rij te berekenen. |
| Milliseconde | Haalt de millisecondewaarde van een datum op. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. |
| milliseconden | Duur in milliseconden voor het aantal milliseconden. |
| Minus | Trekt getallen af. Het aantal dagen van een datum aftrekken. De duur van een tijdstempel aftrekken. Twee tijdstempels aftrekken om een verschil in milliseconden te krijgen. Hetzelfde als de operator - . |
| Minuut | Haalt de minuutwaarde van een tijdstempel op. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. |
| Minuten | Duur in milliseconden voor het aantal minuten. |
| Mod | Modulus van paar getallen. Hetzelfde als de operator % . |
| maand | Haalt de maandwaarde van een datum of tijdstempel. |
| monthsBetween | Haalt het aantal maanden tussen twee datums op. U kunt de berekening af ronden. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. |
| Vermenigvuldigen | Vermenigvuldigt het paar getallen. Hetzelfde als de operator * . |
| Ontkennen | Negeert een getal. Zet positieve getallen om in negatief en vice versa. |
| nextSequence | Retourneert de volgende unieke reeks. Het getal is alleen achter elkaar binnen een partitie en wordt vooraf door de partitionId. |
| Normalize | Normaliseert de tekenreekswaarde om geaccentueerde unicode-tekens te scheiden. |
| Niet | Logische negatieoperator. |
| notEquals | Vergelijking is niet gelijk aan operator. Hetzelfde als de operator != . |
| notNull | Controleert of de waarde niet NULL is. |
| null | Retourneert een NULL-waarde. Gebruik de functie syntax(null()) als er een kolom met de naam 'null' is. Elke bewerking die gebruikmaakt van , resulteert in een NULL. |
| or | Logische OR-operator. Hetzelfde als | | . |
| pMod | Positieve modulus van paar getallen. |
| partitionId | Retourneert de huidige partitie-id van de invoerrij. |
| Macht | Eén getal verhogen naar de kracht van een ander getal. |
| Radialen | Converteert graden naar radialen |
| Willekeurige | Retourneert een willekeurig getal op basis van een optionele seed binnen een partitie. De seed moet een vaste waarde zijn en wordt gebruikt in combinatie met de partitionId om willekeurige waarden te produceren |
| regexExtract | Extraheren van een overeenkomende subtekenreeks voor een bepaald regex-patroon. De laatste parameter identificeert de overeenkomende groep en wordt standaard ingesteld op 1 als u dit weglaat. Gebruik <regex> (back-quote) om overeen te komen met een tekenreeks zonder escape-teken. |
| regexMatch | Controleert of de tekenreeks overeenkomt met het opgegeven regex-patroon. Gebruik <regex> (back-quote) om overeen te komen met een tekenreeks zonder escape-teken. |
| regexReplace | Vervang alle exemplaren van een regex-patroon door een andere subtekenreeks in de opgegeven tekenreeks Use (back quote) om overeen te komen met een tekenreeks <regex> zonder escape-tekenreeks. |
| regexSplit | Splitst een tekenreeks op basis van een scheidingsteken op basis van regex en retourneert een matrix met tekenreeksen. |
| Vervangen | Vervang alle exemplaren van een subtekenreeks door een andere subtekenreeks in de opgegeven tekenreeks. Als de laatste parameter wordt weggelaten, wordt standaard een lege tekenreeks gebruikt. |
| Omgekeerde | Een tekenreeks omkeren. |
| Recht | Extraheert een subtekenreeks met het aantal tekens aan de rechterkant. Hetzelfde als SUBSTRING(str, LENGTH(str) - n, n). |
| rlike | Controleert of de tekenreeks overeenkomt met het opgegeven regex-patroon. |
| Ronde | Rondt een getal af op een optionele schaal en een optionele afrondingsmodus. Als de schaal wordt weggelaten, wordt deze standaard ingesteld op 0. Als de modus wordt weggelaten, wordt deze standaard ingesteld op ROUND_HALF_UP(5). De waarden voor afronding zijn |
| rpad | Met de rechterkant wordt de tekenreeks opgevuld met de opgegeven opvulling totdat deze een bepaalde lengte heeft. Als de tekenreeks gelijk is aan of groter is dan de lengte, wordt deze bijgesneden tot de lengte. |
| rtoto | Met de rechterkant wordt een tekenreeks met aaneenreeksen bij elkaar gesnaard. Als de tweede parameter niet is gespecificeerd, wordt de witruimte inkorten. Anders worden alle tekens die zijn opgegeven in de tweede parameter, bijafafd. |
| Tweede | Haalt de tweede waarde van een datum op. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Week'. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. |
| Seconden | Duur in milliseconden voor het aantal seconden. |
| sha1 | Berekent de SHA-1-samenvatting van een set kolommen met verschillende primitieve gegevenstypen en retourneert een hextreeks van 40 tekens. Deze kan worden gebruikt om een vingerafdruk voor een rij te berekenen. |
| sha2 | Berekent de SHA-2-samenvatting van een set kolom met verschillende primitieve gegevenstypen op basis van een bitlengte die alleen waarden van 0(256), 224, 256, 384, 512 kan zijn. Deze kan worden gebruikt om een vingerafdruk voor een rij te berekenen. |
| Zonde | Berekent een sinuswaarde. |
| sinh | Berekent een hyperbolische sinuswaarde. |
| soundex | Haalt de soundex code voor de tekenreeks op. |
| Split | Splitst een tekenreeks op basis van een scheidingsteken en retourneert een matrix met tekenreeksen. |
| Sqrt | Berekent de vierkantswortel van een getal. |
| startsWith | Controleert of de tekenreeks begint met de opgegeven tekenreeks. |
| subdagen | Dagen aftrekken van een datum of tijdstempel. Hetzelfde als de operator - voor datum. |
| submonths | Maanden aftrekken van een datum of tijdstempel. |
| Subtekenreeks | Extraheert een subtekenreeks van een bepaalde lengte van een positie. De positie is gebaseerd op 1. Als de lengte wordt weggelaten, wordt deze standaard ingesteld op het einde van de tekenreeks. |
| Tan | Berekent een tangenswaarde. |
| Tanh | Berekent een hyperbolische tangenswaarde. |
| Vertalen | Vervang één set tekens door een andere set tekens in de tekenreeks. Tekens hebben 1-op-1 vervanging. |
| Trim | Trimt een tekenreeks met voor- en achteraantekens. Als de tweede parameter niet is gespecificeerd, wordt de witruimte inkorten. Anders worden alle tekens die zijn opgegeven in de tweede parameter, bijafafd. |
| Waar | Retourneert altijd een werkelijke waarde. Gebruik de functie syntax(true()) als er een kolom met de naam 'true' is. |
| typeMatch | Komt overeen met het type van de kolom. Kan alleen worden gebruikt in patroonexpressies.number komt overeen met kort, geheel getal, lang, dubbel, float of decimaal, integrale overeenkomsten kort, geheel getal, lang, fractionele overeenkomsten dubbel, float, decimaal en datum/tijd komt overeen met datum of tijdstempeltype. |
| unescape | Een tekenreeks wordt uit de vorm van een tekenreeks ontseed. Letterlijke waarden voor een acceptabele indeling zijn 'json', 'xml', 'ecmascript', 'html', 'java'. |
| Bovenste | Hoofdletters van een tekenreeks. |
| uuid | Retourneert de gegenereerde UUID. |
| weekOfYear | Haalt de week van het jaar op op een datum. |
| Weken | Duur in milliseconden voor het aantal weken. |
| Xor | Logische XOR-operator. Hetzelfde als de ^-operator. |
| jaar | Haalt de jaarwaarde van een datum op. |
Statistische functies
De volgende functies zijn alleen beschikbaar in aggregatie-, draai-, draaitabel- en venstertransformaties.
| Statistische functie | Taak |
|---|---|
| approxDistinctCount | Haalt het geschatte cumulatief aantal afzonderlijke waarden voor een kolom op. De optionele tweede parameter is om de schattingsfout te bepalen. |
| Avg | Haalt het gemiddelde van waarden van een kolom op. |
| avgIf | Op basis van een criterium wordt het gemiddelde van waarden van een kolom. |
| Verzamelen | Verzamelt alle waarden van de expressie in de geaggregeerde groep in een matrix. Structuren kunnen tijdens dit proces worden verzameld en getransformeerd naar alternatieve structuren. Het aantal items is gelijk aan het aantal rijen in die groep en kan null-waarden bevatten. Het aantal verzamelde items moet klein zijn. |
| count | Haalt het cumulatief aantal waarden op. Als de optionele kolom(en) zijn opgegeven, worden NULL-waarden in het aantal genegeerd. |
| countDistinct | Haalt het cumulatief aantal afzonderlijke waarden van een set kolommen op. |
| Aantal.als | Op basis van een criterium wordt het cumulatief aantal waarden opgetelde. Als de optionele kolom is opgegeven, worden NULL-waarden in het aantal genegeerd. |
| covariantiePopulation | Haalt de covariantie van de populatie tussen twee kolommen op. |
| covariantiePopulationIf | Op basis van een criterium wordt de covariantie van de populatie van twee kolommen vastgesteld. |
| covariantieSample | Haalt de voorbeeldcovariantie van twee kolommen op. |
| covarianceSampleIf | Haalt op basis van een criterium de steekproefcovariantie van twee kolommen op. |
| Eerste | Haalt de eerste waarde van een kolomgroep op. Als de tweede parameter ignoreNulls wordt weggelaten, wordt ervan uitgegaan dat deze onwaar is. |
| isDistinct | Zoekt of een kolom of set kolommen uniek is. Null wordt niet meegetelde als een afzonderlijke waarde |
| Kurtosis | Haalt de kolom op. |
| apothesif | Haalt op basis van een criterium de kolom op. |
| Laatste | Haalt de laatste waarde van een kolomgroep op. Als de tweede parameter ignoreNulls wordt weggelaten, wordt ervan uitgegaan dat deze onwaar is. |
| Max | Haalt de maximumwaarde van een kolom op. |
| maxIf | Haalt op basis van een criterium de maximumwaarde van een kolom op. |
| gemiddeld | Haalt het gemiddelde van waarden van een kolom op. Hetzelfde als AVG. |
| meanIf | Op basis van een criterium wordt het gemiddelde van waarden van een kolom. Hetzelfde als avgIf. |
| min. | Haalt de minimumwaarde van een kolom op. |
| minIf | Haalt op basis van een criterium de minimumwaarde van een kolom op. |
| Scheefheid | Haalt de ascheefheid van een kolom op. |
| awnessIf | Op basis van een criterium wordt de ascheefheid van een kolom oprist. |
| stddev | Haalt de standaarddeviatie van een kolom op. |
| stddevIf | Op basis van een criterium wordt de standaardafwijking van een kolom berekend. |
| stddevPopulation | Haalt de standaardafwijking van de populatie van een kolom op. |
| stddevPopulationIf | Op basis van een criterium wordt de standaardafwijking van de populatie van een kolom. |
| stddevSample | Haalt de standaarddeviatie van een kolom op. |
| stddevSampleIf | Op basis van een criterium wordt de standaarddeviatie van een kolom in de steekproef genomen. |
| Som | Haalt de geaggregeerde som van een numerieke kolom op. |
| sumDistinct | Haalt de geaggregeerde som van afzonderlijke waarden van een numerieke kolom op. |
| sumDistinctIf | Op basis van criteria wordt de geaggregeerde som van een numerieke kolom opgetelde. De voorwaarde kan worden gebaseerd op elke kolom. |
| Som.als | Op basis van criteria wordt de geaggregeerde som van een numerieke kolom opgetelde. De voorwaarde kan worden gebaseerd op elke kolom. |
| Variantie | Haalt de afwijking van een kolom op. |
| variantieIf | Haalt op basis van een criterium de afwijking van een kolom op. |
| VariantiePopulation | Haalt de afwijking van de populatie van een kolom op. |
| variantiePopulationIf | Op basis van een criterium wordt de afwijking van de populatie van een kolom vastgesteld. |
| variantieSample | Haalt de onbevooroordeelde afwijking van een kolom op. |
| variantieSampleIf | Op basis van een criterium wordt de onbevooroordeelde variantie van een kolom. |
Matrixfuncties
Matrixfuncties voeren transformaties uit op gegevensstructuren die matrices zijn. Dit zijn onder andere speciale trefwoorden voor het aanpakken van matrixelementen en indexen:
#accvertegenwoordigt een waarde die u wilt opnemen in uw enkele uitvoer bij het verminderen van een matrix#indexvertegenwoordigt de huidige matrixindex, samen met matrixindexnummers#index2, #index3 ...#itemvertegenwoordigt de huidige elementwaarde in de matrix
| Matrixfunctie | Taak |
|---|---|
| matrix | Hiermee maakt u een matrix met items. Alle items moeten van hetzelfde type zijn. Als er geen items zijn opgegeven, is een lege tekenreeksmatrix de standaardinstelling. Hetzelfde als een operator voor het maken van []. |
| Op | Zoekt het element op een matrixindex. De index is op 1 gebaseerd. Een buitengrensindex resulteert in een null-waarde. Zoekt een waarde in een kaart op basis van een sleutel. Als de sleutel niet wordt gevonden, wordt null geretourneerd. |
| Bevat | Retourneert true als een element in de opgegeven matrix in het opgegeven predicaat als waar wordt geëvalueerd. Contains verwacht een verwijzing naar één element in de predicaatfunctie als #item. |
| distinct | Retourneert een afzonderlijke set items uit een matrix. |
| Behalve | Retourneert een verschilset van de ene matrix van de andere dubbele items. |
| Filter | Filtert elementen uit de matrix die niet voldoen aan het opgegeven predicaat. Filter verwacht een verwijzing naar één element in de predicaatfunctie als #item. |
| Vinden | Zoek het eerste item in een matrix die met de voorwaarde overeenkomen. Er wordt een filterfunctie gebruikt, waarbij u het item in de matrix kunt adresseren als #item. Voor diep geneste kaarten kunt u verwijzen naar de bovenliggende kaarten met behulp van de #item_n(#item_1, #item_2...) notatie. |
| Afvlakken | De matrix of matrices worden afgevlakt tot één matrix. Matrices van atomische items worden niet-veralterd geretourneerd. Het laatste argument is optioneel en is standaard ingesteld op false om recursief meer dan één niveau diep af te vlakken. |
| Inch | Controleert of een item zich in de matrix . |
| intersect | Retourneert een doorkruisingsset met afzonderlijke items uit twee matrices. |
| Kaart | Kaarten elk element van de matrix toe aan een nieuw element met behulp van de opgegeven expressie. Kaart verwacht een verwijzing naar één element in de expressiefunctie als #item. |
| mapIf | Een matrix voorwaardelijk toe te staan aan een andere matrix met dezelfde of een kleinere lengte. De waarden kunnen van elk gegevenstype zijn, inclusief structTypes. Er wordt een toewijzingsfunctie gebruikt, waarbij u het item in de matrix als een #item en de huidige index als #index. Voor diep geneste kaarten kunt u verwijzen naar de bovenliggende kaarten met behulp van #item_[n](#item_1, #index_1...) de notatie. |
| mapIndex | Kaarten elk element van de matrix toe aan een nieuw element met behulp van de opgegeven expressie. Kaart verwacht een verwijzing naar één element in de expressiefunctie als #item en een verwijzing naar de elementindex als #index. |
| mapLoop | Loopt door van 1 tot lengte om een matrix van die lengte te maken. Er wordt een toewijzingsfunctie gebruikt, waarbij u de index in de matrix kunt adresseren als #index. Voor diep geneste kaarten kunt u verwijzen naar de bovenliggende kaarten met behulp van de #index_n(#index_1, #index_2...) notatie. |
| Verminderen | Verzamelt elementen in een matrix. Reduce verwacht een verwijzing naar een accumulator en één element in de eerste expressiefunctie als #acc en #item en verwacht dat de resulterende waarde als #result wordt gebruikt in de tweede expressiefunctie. |
| Grootte | Zoekt de grootte van een matrix of kaarttype |
| Segment | Extraheert een subset van een matrix uit een positie. De positie is gebaseerd op 1. Als de lengte wordt weggelaten, wordt deze standaard ingesteld op het einde van de tekenreeks. |
| Sorteren | Sorteert de matrix met behulp van de opgegeven predicaatfunctie. Sort verwacht een verwijzing naar twee opeenvolgende elementen in de expressiefunctie als #item1 en #item2. |
| Ontvouwen | Vouwt een matrix uit in een set rijen en herhaalt de waarden voor de resterende kolommen in elke rij. |
| Unie | Retourneert een union-set afzonderlijke items uit 2 matrices. |
Opzoekfuncties in cache
De volgende functies zijn alleen beschikbaar wanneer u een zoekactie in de cache gebruikt wanneer u een sink in de cache hebt opgenomen.
| Lookup-functie in cache | Taak |
|---|---|
| Lookup | Zoekt de eerste rij van de sink in de cache op met behulp van de opgegeven sleutels die overeenkomen met de sleutels van de sink in de cache. |
| mlookup | Zoekt alle overeenkomende rijen van de sink in de cache op met behulp van de opgegeven sleutels die overeenkomen met de sleutels van de sink in de cache. |
| Output | Retourneert de eerste rij van de resultaten van de cache-sink |
| Uitgangen | Retourneert de volledige uitvoerrijset van de resultaten van de cache-sink |
Conversiefuncties
Conversiefuncties worden gebruikt om gegevens te converteren en te testen op gegevenstypen
| Conversiefunctie | Taak |
|---|---|
| isBitSet | Controleert of er een bitpositie is ingesteld in deze bitset |
| setBitSet | Hiermee stelt u bitposities in deze bitset in |
| isBoolean | Controleert of de tekenreekswaarde een Booleaanse waarde is volgens de regels van toBoolean() |
| isByte | Controleert of de tekenreekswaarde een bytewaarde is op basis van een optionele indeling volgens de regels van toByte() |
| isDate | Controleert of de invoerdatum een datum is met behulp van een optionele invoerdatumnotatie. Raadpleeg SimpleDateFormat van Java voor beschikbare indelingen. Als de invoerdatumnotatie wordt weggelaten, is de standaardindeling yyyy-[M]M-[d]d . Geaccepteerde indelingen zijn [ yyyy, yyyy-[M]M, yyyy-[M]M-[d]d, yyyy-[M]M-[d]dT* ] |
| isShort | Controles van de tekenreekswaarde is een korte waarde op basis van een optionele indeling volgens de regels van toShort() |
| isInteger | Controles van de tekenreekswaarde is een geheel getal met een optionele indeling volgens de regels van toInteger() |
| isLong | Controles van de tekenreekswaarde is een lange waarde op basis van een optionele indeling volgens de regels van toLong() |
| isEno | Controleer of dit geen getal is. |
| isFloat | Controles van de tekenreekswaarde is een float-waarde met een optionele indeling volgens de regels van toFloat() |
| isLeenbaar | Controles van de tekenreekswaarde is een dubbele waarde op basis van een optionele indeling volgens de regels van toDouble() |
| isDecimaal | Controles van de tekenreekswaarde is een decimale waarde op basis van een optionele indeling volgens de regels van toDecimal() |
| isTimestamp | Controleert of de invoerdatumreeks een tijdstempel is met behulp van een optionele indeling voor invoertijdstempels. Raadpleeg SimpleDateFormat van Java voor beschikbare indelingen. Als de tijdstempel wordt weggelaten, wordt het yyyy-[M]M-[d]d hh:mm:ss[.f...] standaardpatroon gebruikt. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Week'. Tijdstempel ondersteunt een nauwkeurigheid van maximaal milliseconden met een waarde van 999 Raadpleeg SimpleDateFormat van Java voor beschikbare indelingen. |
| toBase64 | Codeert de opgegeven tekenreeks in base64. |
| toBinary | Converteert een numerieke/datum-/tijdstempel/tekenreeks naar binaire weergave. |
| toBoolean | Converteert een waarde van ('t', 'true', 'y', 'yes', '1') naar true en ('f', 'false', 'n', 'no', '0') naar false en NULL voor een andere waarde. |
| toByte | Converteert een numerieke waarde of tekenreeks naar een bytewaarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. |
| Todate | Converteert de invoerdatumreeks naar datum met behulp van een optionele invoerdatumnotatie. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. Als de invoerdatumnotatie wordt weggelaten, is de standaardindeling yyyy-[M]M-[d]d. Geaccepteerde indelingen zijn:[ yyyy, yyyy-[M]M, yyyy-[M]M-[d]d, yyyy-[M]M-[d]dT* ]. |
| toDecimal | Converteert een numerieke waarde of tekenreeks naar een decimale waarde. Als precisie en schaal niet zijn opgegeven, wordt deze standaard ingesteld op (10,2). Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Een optionele indeling voor de taal van de taal BCP47, zoals en-US, de, zh-CN. |
| toLeenbaar | Converteert een numerieke waarde of tekenreeks naar een dubbele waarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Een optionele indeling voor de taal van de taal BCP47, zoals en-US, de, zh-CN. |
| toFloat | Converteert een numerieke waarde of tekenreeks naar een float-waarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Elk dubbel wordt afgekapt. |
| toInteger | Converteert een numerieke waarde of tekenreeks naar een geheel getal. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Afgekapt een lange, float, dubbele. |
| Tolong | Converteert een numerieke of tekenreeks naar een lange waarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Elke float wordt afgekapt, dubbel. |
| toShort | Converteert een numerieke waarde of tekenreeks naar een korte waarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Elk geheel getal, lang, float, dubbel, wordt afgekapt. |
| toString | Converteert een primitief gegevenstype naar een tekenreeks. Voor getallen en datum kan een notatie worden opgegeven. Als niet is gespecificeerd, wordt de standaardinstelling van het systeem geselecteerd. De decimale Java-notatie wordt gebruikt voor getallen. Raadpleeg Java SimpleDateFormat voor alle mogelijke datumindelingen; de standaardindeling is yyyy-MM-dd. |
| toTimestamp | Converteert een tekenreeks naar een tijdstempel op een optionele tijdstempelindeling. Als de tijdstempel wordt weggelaten, wordt het standaardpatroon yyyy-[M]M-[d]d hh:mm:ss[.f...] gebruikt. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Week'. Tijdstempel ondersteunt een nauwkeurigheid van maximaal milliseconden met een waarde van 999. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. |
| toUTC | Converteert de tijdstempel naar UTC. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Week'. Deze is standaard ingesteld op de huidige tijdzone. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. |
Kaartfuncties
Kaartfuncties voeren bewerkingen uit op kaartgegevenstypen
| Kaartfunctie | Taak |
|---|---|
| Koppelen | Hiermee maakt u een kaart van sleutel/waarden. Alle sleutels & waarden moeten van hetzelfde type zijn. Als er geen items zijn opgegeven, wordt deze standaard ingesteld op een kaart van tekenreeks naar tekenreekstype. Hetzelfde als een [ -> ] operator voor het maken. Sleutels en waarden moeten met elkaar worden afgewisseld. |
| keyValues | Hiermee maakt u een kaart met sleutel/waarden. De eerste parameter is een matrix met sleutels en de tweede is de matrix met waarden. Beide matrices moeten even lang zijn. |
| mapAssociation | Transformeert een kaart door de sleutels te koppelen aan nieuwe waarden. Retourneert een matrix. Er wordt een toewijzingsfunctie gebruikt, waarbij u het item kunt #key huidige waarde als #value. |
| opnieuw koppelen | Transformeert een kaart door de sleutels te koppelen aan nieuwe waarden. Er wordt een toewijzingsfunctie gebruikt, waarbij u het item kunt #key huidige waarde als #value. |
Metafunctions
Metafunctions werken voornamelijk op metagegevens in uw gegevensstroom
| Metafunction | Taak |
|---|---|
| byItem | Een subitem zoeken binnen een structuur of matrix van structuur Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomst is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de conversieacties van het type (? Datum? tekenreeks ...). Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken |
| byOrigin | Selecteert een kolomwaarde op naam in de oorsprongstroom. Het tweede argument is de naam van de oorsprongstroom. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomst is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties(TO_DATE, TO_STRING ...). Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken. |
| byOrigins | Selecteert een matrix met kolommen op naam in de stroom. Het tweede argument is de stroom waar deze van afkomstig is. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomst is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties (TO_DATE, TO_STRING ...) Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken. |
| byName | Selecteert een kolomwaarde op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomst is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties(TO_DATE, TO_STRING ...). Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken. |
| byNames | Selecteer een matrix met kolommen op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomsten zijn voor een kolom, is de volledige uitvoer een NULL-waarde. De geretourneerde waarde vereist een typeconversiefuncties (toDate, toString, ...). Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken. |
| byPath | Zoekt een hiërarchisch pad op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Als een dergelijk pad niet wordt gevonden, wordt null geretourneerd. Kolomnamen/paden die bekend zijn tijdens het ontwerpen, moeten alleen worden aangepakt met hun naam of punt-notatiepad. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken. |
| byPosition | Selecteert een kolomwaarde op basis van de relatieve positie (1) in de stroom. Als de positie buiten de grenzen is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties (TO_DATE, TO_STRING ...) Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken. |
| hasPath | Controleert of een bepaald hiërarchisch pad bestaat op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Kolomnamen/paden die bekend zijn tijdens het ontwerpen, moeten alleen worden aangepakt met hun naam of punt-notatiepad. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken. |
| originColumns | Haalt alle uitvoerkolommen op voor een oorsprongstroom waarin kolommen zijn gemaakt. Moet in een andere functie worden ingesloten. |
| hex | Retourneert een hexische tekenreeksweergave van een binaire waarde |
| unhex | Een binaire waarde wordt losgehext uit de tekenreeksweergave. Dit kan worden gebruikt in combinatie met sha2, md5 om van tekenreeks naar binaire weergave te converteren |
Vensterfuncties
De volgende functies zijn alleen beschikbaar in venstertransformaties.
| Windows functie | Taak |
|---|---|
| cumeDist | De functie CumeDist berekent de positie van een waarde ten opzichte van alle waarden in de partitie. Het resultaat is het aantal rijen dat voorafgaat aan of gelijk is aan de huidige rij in de volgorde van de partitie gedeeld door het totale aantal rijen in de vensterpartitie. Alle gelijke waarden in de volgorde worden geëvalueerd op dezelfde positie. |
| denseRank | Berekent de rangschikking van een waarde in een groep waarden die zijn opgegeven in de volgorde van een venster op component. Het resultaat is één plus het aantal rijen dat voorafgaat aan of gelijk is aan de huidige rij in de volgorde van de partitie. De waarden veroorzaken geen hiaten in de reeks. Dense Rank werkt zelfs wanneer gegevens niet zijn gesorteerd en zoeken naar wijziging in waarden. |
| Lag | Haalt de waarde op van de eerste parameter die n rijen vóór de huidige rij heeft geëvalueerd. De tweede parameter is het aantal rijen dat moet worden terugkijken en de standaardwaarde is 1. Als er niet zoveel rijen zijn, wordt een waarde van null geretourneerd, tenzij er een standaardwaarde is opgegeven. |
| Leiden | Haalt de waarde op van de eerste parameter die n rijen na de huidige rij heeft geëvalueerd. De tweede parameter is het aantal rijen om vooruit te kijken en de standaardwaarde is 1. Als er niet zoveel rijen zijn, wordt een waarde van null geretourneerd, tenzij er een standaardwaarde is opgegeven. |
| nTile | De NTile functie verdeelt de rijen voor elke vensterpartitie in n buckets van 1 tot en met . n Bucketwaarden verschillen met ten zeerste 1. Als het aantal rijen in de partitie niet gelijkmatig in het aantal buckets wordt verdeeld, worden de restwaarden één per bucket verdeeld, te beginnen met de eerste bucket. De NTile functie is handig voor de berekening van , tertiles kwartielen, deciles en andere algemene samenvattingsstatistieken. De functie berekent twee variabelen tijdens de initialisatie: Aan de grootte van een reguliere bucket wordt één extra rij toegevoegd. Beide variabelen zijn gebaseerd op de grootte van de huidige partitie. Tijdens het berekeningsproces houdt de functie het huidige rijnummer, het huidige bucketnummer en het rijnummer bij waarop de bucket wordt gewijzigd (bucketThreshold). Wanneer het huidige rijnummer de drempelwaarde voor de bucket bereikt, wordt de bucketwaarde met één verhoogd en wordt de drempelwaarde verhoogd met de bucketgrootte (plus één extra als de huidige bucket wordt opgevuld). |
| Rang | Berekent de rangschikking van een waarde in een groep waarden die zijn opgegeven in de volgorde van een venster op component. Het resultaat is één plus het aantal rijen dat voorafgaat aan of gelijk is aan de huidige rij in de volgorde van de partitie. De waarden veroorzaken hiaten in de reeks. Rank werkt zelfs wanneer gegevens niet zijn gesorteerd en zoeken naar wijziging in waarden. |
| rowNumber | Wijst een sequentiële rijnummering toe voor rijen in een venster dat begint met 1. |
Alfabetische lijst met alle functies
Hieronder volgt een alfabetische lijst met alle functies die beschikbaar zijn in toewijzingsgegevensstromen.
abs
abs(<value1> : number) => number
Absolute waarde van een getal.
abs(-20) -> 20abs(10) -> 10
acos
acos(<value1> : number) => double
Berekent een inverse cosinuswaarde.
acos(1) -> 0.0
add
add(<value1> : any, <value2> : any) => any
Voegt een paar tekenreeksen of getallen toe. Hiermee wordt een datum toegevoegd aan een aantal dagen. Voegt een duur toe aan een tijdstempel. De ene matrix van een vergelijkbaar type wordt aan een andere matrix aan een andere toe. Hetzelfde als de operator + .
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
Dagen toevoegen aan een datum of tijdstempel. Hetzelfde als de operator + voor datum.
addDays(toDate('2016-08-08'), 1) -> toDate('2016-08-09')
addMonths
addMonths(<date/timestamp> : datetime, <months to add> : integral, [<value3> : string]) => datetime
Maanden toevoegen aan een datum of tijdstempel. U kunt eventueel een tijdzone doorgeven.
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
Logische EN-operator. Hetzelfde als &&.
and(true, false) -> falsetrue && false -> false
approxDistinctCount
approxDistinctCount(<value1> : any, [ <value2> : double ]) => long
Haalt het geschatte cumulatief aantal afzonderlijke waarden voor een kolom op. De optionele tweede parameter is om de schattingsfout te bepalen.
approxDistinctCount(ProductID, .05) => long
array
array([<value1> : any], ...) => array
Hiermee maakt u een matrix met items. Alle items moeten van hetzelfde type zijn. Als er geen items zijn opgegeven, is een lege tekenreeksmatrix de standaardinstelling. Hetzelfde als een operator voor het maken van [].
array('Seattle', 'Washington')['Seattle', 'Washington']['Seattle', 'Washington'][1]'Washington'
asin
asin(<value1> : number) => double
Berekent een inverse sinuswaarde.
asin(0) -> 0.0
associate
reassociate(<value1> : map, <value2> : binaryFunction) => map
Hiermee maakt u een kaart met sleutel/waarden. Alle sleutels & waarden moeten van hetzelfde type zijn. Als er geen items zijn opgegeven, wordt deze standaard ingesteld op een kaart van tekenreeks naar tekenreekstype. Hetzelfde als een [ -> ] operator voor het maken. Sleutels en waarden moeten met elkaar worden afgewisseld.
associate('fruit', 'apple', 'vegetable', 'carrot' )=> ['fruit' -> 'apple', 'vegetable' -> 'carrot']
at
at(<value1> : array/map, <value2> : integer/key type) => array
Zoekt het element in een matrixindex. De index is op 1 gebaseerd. Een buitengrensindex resulteert in een null-waarde. Zoekt een waarde in een kaart op basis van een sleutel. Als de sleutel niet wordt gevonden, wordt null geretourneerd.
at(['apples', 'pears'], 1) => 'apples'at(['fruit' -> 'apples', 'vegetable' -> 'carrot'], 'fruit') => 'apples'
atan
atan(<value1> : number) => double
Berekent een inverse tangenswaarde.
atan(0) -> 0.0
atan2
atan2(<value1> : number, <value2> : number) => double
Retourneert de hoek in radialen tussen de positieve x-as van een vlak en het punt dat door de coördinaten wordt gegeven.
atan2(0, 0) -> 0.0
avg
avg(<value1> : number) => number
Haalt het gemiddelde van waarden van een kolom op.
avg(sales)
avgIf
avgIf(<value1> : boolean, <value2> : number) => number
Op basis van een criterium wordt het gemiddelde van waarden van een kolom.
avgIf(region == 'West', sales)
between
between(<value1> : any, <value2> : any, <value3> : any) => boolean
Controleert of de eerste waarde tussen twee andere waarden staat. Numerieke waarden, tekenreeksen en datum/tijd-waarden kunnen worden vergeleken * between(10, 5, 24)
truebetween(currentDate(), currentDate() + 10, currentDate() + 20)false
bitwiseAnd
bitwiseAnd(<value1> : integral, <value2> : integral) => integral
Bitsgewijze en operator voor integrale typen. Hetzelfde als & operator * bitwiseAnd(0xf4, 0xef)
0xe4(0xf4 & 0xef)0xe4
bitwiseOr
bitwiseOr(<value1> : integral, <value2> : integral) => integral
Bitsgewijze of operator voor integrale typen. Hetzelfde als | Operator * bitwiseOr(0xf4, 0xef)
0xff(0xf4 | 0xef)0xff
bitwiseXor
bitwiseXor(<value1> : any, <value2> : any) => any
Bitsgewijze of operator voor integrale typen. Hetzelfde als | Operator * bitwiseXor(0xf4, 0xef)
0x1b(0xf4 ^ 0xef)0x1b(true ^ false)true(true ^ true)false
blake2b
blake2b(<value1> : integer, <value2> : any, ...) => string
Berekent de Samenvatting 2 van een reeks kolommen van verschillende primitieve gegevenstypen op basis van een bitlengte, wat alleen veelvouden van 8 tussen 8 & 512 kan zijn. Het kan worden gebruikt om een vingerafdruk voor een rij te berekenen * blake2b(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))
'c9521a5080d8da30dffb430c50ce253c345cc4c4effc315dab2162dac974711d'
blake2bBinary
blake2bBinary(<value1> : integer, <value2> : any, ...) => binary
Berekent de Samenvatting 2 van een reeks kolommen van verschillende primitieve gegevenstypen op basis van een bitlengte, wat alleen veelvouden van 8 tussen 8 & 512 kan zijn. Het kan worden gebruikt om een vingerafdruk voor een rij te berekenen * blake2bBinary(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))
unHex('c9521a5080d8da30dffb430c50ce253c345cc4c4effc315dab2162dac974711d')
byItem
byItem(<parent column> : any, <column name> : string) => any
Een subitem zoeken binnen een structuur of matrix van structuur Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomst is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de conversieacties van het type (? Datum? tekenreeks ...). Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken * 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
Selecteert een kolomwaarde op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomst is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties(TO_DATE, TO_STRING ...). Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.
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
Selecteer een matrix met kolommen op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomsten zijn voor een kolom, is de volledige uitvoer een NULL-waarde. De geretourneerde waarde vereist een typeconversiefuncties (toDate, toString, ...). Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.
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
Selecteert een kolomwaarde op naam in de oorsprongstroom. Het tweede argument is de naam van de oorsprongstroom. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomst is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties(TO_DATE, TO_STRING ...). Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.
toString(byOrigin('ancestor', 'ancestorStream'))
byOrigins
byOrigins(<column names> : array, [<origin stream name> : string]) => any
Selecteert een matrix met kolommen op naam in de stroom. Het tweede argument is de stroom waar deze van afkomstig is. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomst is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties (TO_DATE, TO_STRING ...) Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.
toString(byOrigins(['ancestor1', 'ancestor2'], 'ancestorStream'))
byPath
byPath(<value1> : string, [<streamName> : string]) => any
Zoekt een hiërarchisch pad op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Als een dergelijk pad niet wordt gevonden, wordt null geretourneerd. Kolomnamen/paden die bekend zijn tijdens het ontwerpen, moeten alleen worden aangepakt met hun naam of punt-notatiepad. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.
byPath('grandpa.parent.child') => column
byPosition
byPosition(<position> : integer) => any
Selecteert een kolomwaarde op de relatieve positie (op basis van 1) in de stroom. Als de positie buiten de grenzen is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties (TO_DATE, TO_STRING ...) Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.
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
Op basis van afwisselende voorwaarden wordt de ene of de andere waarde toegepast. Als het aantal invoerwaarden even is, wordt de andere standaard ingesteld op NULL voor de laatste voorwaarde.
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
Berekent de kubuswortel van een getal.
cbrt(8) -> 2.0
ceil
ceil(<value1> : number) => number
Retourneert het kleinste gehele getal dat niet kleiner is dan het getal.
ceil(-0.1) -> 0
coalesce
coalesce(<value1> : any, ...) => any
Retourneert de eerste niet null-waarde uit een set invoer. Alle invoer moet van hetzelfde type zijn.
coalesce(10, 20) -> 10coalesce(toString(null), toString(null), 'dumbo', 'bo', 'go') -> 'dumbo'
collect
collect(<value1> : any) => array
Verzamelt alle waarden van de expressie in de geaggregeerde groep in een matrix. Structuren kunnen tijdens dit proces worden verzameld en getransformeerd naar alternatieve structuren. Het aantal items is gelijk aan het aantal rijen in die groep en kan null-waarden bevatten. Het aantal verzamelde items moet klein zijn.
collect(salesPerson)collect(firstName + lastName))collect(@(name = salesPerson, sales = salesAmount) )
columnNames
columnNames(<value1> : string) => array
Haalt de namen van alle uitvoerkolommen voor een stroom op. U kunt een optionele streamnaam doorgeven als het tweede argument.
columnNames()columnNames('DeriveStream')
columns
columns([<stream name> : string]) => any
Haalt de waarden van alle uitvoerkolommen voor een stroom op. U kunt een optionele streamnaam doorgeven als het tweede argument.
columns()columns('DeriveStream')
compare
compare(<value1> : any, <value2> : any) => integer
Vergelijkt twee waarden van hetzelfde type. Retourneert een negatief geheel getal als value1 < value2, 0 if value1 == value2, positieve waarde als value1 > value2.
(compare(12, 24) < 1) -> true(compare('dumbo', 'dum') > 0) -> true
concat
concat(<this> : string, <that> : string, ...) => string
Een variabel aantal tekenreeksen samenvoegt. Hetzelfde als de operator + met tekenreeksen.
concat('dataflow', 'is', 'awesome') -> 'dataflowisawesome''dataflow' + 'is' + 'awesome' -> 'dataflowisawesome'isNull('sql' + null) -> true
concatWS
concatWS(<separator> : string, <this> : string, <that> : string, ...) => string
Een variabel aantal tekenreeksen samen met een scheidingsteken. De eerste parameter is het scheidingsteken.
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
Retourneert true als een element in de opgegeven matrix in het opgegeven predicaat als waar wordt geëvalueerd. Contains verwacht een verwijzing naar één element in de predicaatfunctie als #item.
contains([1, 2, 3, 4], #item == 3) -> truecontains([1, 2, 3, 4], #item > 5) -> false
cos
cos(<value1> : number) => double
Berekent een cosinuswaarde.
cos(10) -> -0.8390715290764524
cosh
cosh(<value1> : number) => double
Berekent een hyperbolische cosinus van een waarde.
cosh(0) -> 1.0
count
count([<value1> : any]) => long
Haalt het cumulatief aantal waarden op. Als de optionele kolom(en) zijn opgegeven, worden NULL-waarden in het aantal genegeerd.
count(custId)count(custId, custName)count()count(iif(isNull(custId), 1, NULL))
countDistinct
countDistinct(<value1> : any, [<value2> : any], ...) => long
Haalt het cumulatief aantal afzonderlijke waarden van een set kolommen op.
countDistinct(custId, custName)
countIf
countIf(<value1> : boolean, [<value2> : any]) => long
Op basis van een criterium wordt het cumulatief aantal waarden op basis van een criterium. Als de optionele kolom is opgegeven, worden NULL-waarden in het aantal genegeerd.
countIf(state == 'CA' && commission < 10000, name)
covariancePopulation
covariancePopulation(<value1> : number, <value2> : number) => double
Haalt de covariantie van de populatie tussen twee kolommen op.
covariancePopulation(sales, profit)
covariancePopulationIf
covariancePopulationIf(<value1> : boolean, <value2> : number, <value3> : number) => double
Op basis van een criterium haalt de covariantie van de populatie van twee kolommen op.
covariancePopulationIf(region == 'West', sales)
covarianceSample
covarianceSample(<value1> : number, <value2> : number) => double
Haalt de voorbeeldcovariantie van twee kolommen op.
covarianceSample(sales, profit)
covarianceSampleIf
covarianceSampleIf(<value1> : boolean, <value2> : number, <value3> : number) => double
Op basis van een criterium haalt de voorbeeldcovariantie van twee kolommen op.
covarianceSampleIf(region == 'West', sales, profit)
crc32
crc32(<value1> : any, ...) => long
Berekent de CRC32-hash van een set kolommen met verschillende primitieve gegevenstypen op basis van een bitlengte die alleen waarden van 0(256), 224, 256, 384, 512 kan zijn. Het kan worden gebruikt om een vingerafdruk voor een rij te berekenen.
crc32(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> 3630253689L
cumeDist
cumeDist() => integer
De functie CumeDist berekent de positie van een waarde ten opzichte van alle waarden in de partitie. Het resultaat is het aantal rijen dat voorafgaat aan of gelijk is aan de huidige rij in de volgorde van de partitie gedeeld door het totale aantal rijen in de vensterpartitie. Alle gelijke waarden in de volgorde worden geëvalueerd op dezelfde positie.
cumeDist()
currentDate
currentDate([<value1> : string]) => date
Hiermee haalt u de huidige datum op waarop deze taak wordt uitgevoerd. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. 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
Haalt de huidige tijdstempel wanneer de taak wordt gestart met de lokale tijdzone.
currentTimestamp() == toTimestamp('2250-12-31 12:12:12') -> false
currentUTC
currentUTC([<value1> : string]) => timestamp
Haalt de huidige tijdstempel op als UTC. Als u wilt dat uw huidige tijd wordt geïnterpreteerd in een andere tijdzone dan de tijdzone van uw cluster, kunt u een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Hebto'. Deze is standaard ingesteld op de huidige tijdzone. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. Gebruik om de UTC-tijd te converteren naar een andere fromUTC() tijdzone.
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
Haalt de dag van de maand op op een datum.
dayOfMonth(toDate('2018-06-08')) -> 8
dayOfWeek
dayOfWeek(<value1> : datetime) => integer
Haalt de dag van de week op op een datum. 1 - zondag, 2 - maandag ..., 7 - zaterdag.
dayOfWeek(toDate('2018-06-08')) -> 6
dayOfYear
dayOfYear(<value1> : datetime) => integer
Haalt de dag van het jaar op op een datum.
dayOfYear(toDate('2016-04-09')) -> 100
days
days(<value1> : integer) => long
Duur in milliseconden voor het aantal dagen.
days(2) -> 172800000L
degrees
degrees(<value1> : number) => double
Converteert radialen naar graden.
degrees(3.141592653589793) -> 180
denseRank
denseRank() => integer
Berekent de rangschikking van een waarde in een groep waarden die zijn opgegeven in de volgorde van een venster op component. Het resultaat is één plus het aantal rijen dat voorafgaat aan of gelijk is aan de huidige rij in de volgorde van de partitie. De waarden veroorzaken geen hiaten in de reeks. Dense Rank werkt zelfs wanneer gegevens niet zijn gesorteerd en zoeken naar wijziging in waarden.
denseRank()
distinct
distinct(<value1> : array) => array
Retourneert een afzonderlijke set items uit een matrix.
distinct([10, 20, 30, 10]) => [10, 20, 30]
divide
divide(<value1> : any, <value2> : any) => any
Verdeelt twee getallen. Hetzelfde als de / operator.
divide(20, 10) -> 220 / 10 -> 2
dropLeft
dropLeft(<value1> : string, <value2> : integer) => string
Hiermee verwijdert u zoveel tekens aan de linkerkant van de tekenreeks. Als de aangevraagde drop de lengte van de tekenreeks overschrijdt, wordt een lege tekenreeks geretourneerd.
- dropLeft('bojjus', 2) => 'jjus' * dropLeft('cake', 10) => '' ___
dropRight
dropRight(<value1> : string, <value2> : integer) => string
Hiermee verwijdert u zoveel tekens rechts van de tekenreeks. Als de aangevraagde drop de lengte van de tekenreeks overschrijdt, wordt een lege tekenreeks geretourneerd.
- dropRight('bojjus', 2) => 'bojj' * dropRight('cake', 10) => '' ___
endsWith
endsWith(<string> : string, <substring to check> : string) => boolean
Controleert of de tekenreeks eindigt met de opgegeven tekenreeks.
endsWith('dumbo', 'mbo') -> true
equals
equals(<value1> : any, <value2> : any) => boolean
Vergelijking is gelijk aan operator. Hetzelfde als == operator.
equals(12, 24) -> false12 == 24 -> false'bad' == 'bad' -> trueisNull('good' == toString(null)) -> trueisNull(null == null) -> true
equalsIgnoreCase
equalsIgnoreCase(<value1> : string, <value2> : string) => boolean
Vergelijking is gelijk aan operator die de case negeert. Hetzelfde als <=> operator.
'abc'<=>'Abc' -> trueequalsIgnoreCase('abc', 'Abc') -> true
escape
escape(<string_to_escape> : string, <format> : string) => string
Escapet een tekenreeks op basis van een indeling. Letterlijke waarden voor acceptabele indeling zijn 'json', 'xml', 'ecmascript', 'html', 'java'.
except
except(<value1> : array, <value2> : array) => array
Retourneert een verschilset van de ene matrix van een andere die dubbele items laat verwijderen.
except([10, 20, 30], [20, 40]) => [10, 30]
expr
expr(<expr> : string) => any
Resulteert in een expressie van een tekenreeks. Dit is hetzelfde als het schrijven van deze expressie in een niet-letterlijke vorm. Dit kan worden gebruikt om parameters door te geven als tekenreeksweergaven.
- expr('price * discount') => any ___
factorial
factorial(<value1> : number) => long
Berekent de factoriële waarde van een getal.
factorial(5) -> 120
false
false() => boolean
Retourneert altijd een onwaar-waarde. Gebruik de functie syntax(false()) als er een kolom is met de naam 'false'.
(10 + 20 > 30) -> false(10 + 20 > 30) -> false()
filter
filter(<value1> : array, <value2> : unaryfunction) => array
Filtert elementen uit de matrix die niet voldoen aan het opgegeven predicaat. Filter verwacht een verwijzing naar één element in de predicaatfunctie als #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
Zoek het eerste item in een matrix die met de voorwaarde overeenkomen. Er wordt een filterfunctie gebruikt, waarbij u het item in de matrix als een #item. Voor diep geneste kaarten kunt u verwijzen naar de bovenliggende kaarten met behulp van de #item_n(#item_1, #item_2...) notatie.
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
Haalt de eerste waarde van een kolomgroep op. Als de tweede parameter ignoreNulls wordt weggelaten, wordt ervan uitgegaan dat deze false is.
first(sales)first(sales, false)
flatten
flatten(<array> : array, <value2> : array ..., <value2> : boolean) => array
Matrix of matrices worden afgevlakt tot één matrix. Matrices met atomische items worden niet-geconverleerd geretourneerd. Het laatste argument is optioneel en is standaard ingesteld op false om recursief meer dan één niveau diep af te vlakken.
flatten([['bojjus', 'girl'], ['gunchus', 'boy']]) => ['bojjus', 'girl', 'gunchus', 'boy']flatten([[['bojjus', 'gunchus']]] , true) => ['bojjus', 'gunchus']
floor
floor(<value1> : number) => number
Retourneert het grootste gehele getal dat niet groter is dan het getal.
floor(-0.1) -> -1
fromBase64
fromBase64(<value1> : string) => string
Decodeert de opgegeven base64-gecodeerde tekenreeks.
fromBase64('Z3VuY2h1cw==') -> 'gunchus'
fromUTC
fromUTC(<value1> : timestamp, [<value2> : string]) => timestamp
Converteert naar de tijdstempel van UTC. U kunt de tijdzone desgewenst doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. Deze is standaard ingesteld op de huidige tijdzone. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. 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
Vergelijkingsoperator groter. Hetzelfde als > operator.
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
Vergelijking groter dan of gelijk aan operator. Hetzelfde als >= operator.
greaterOrEqual(12, 12) -> true('dumbo' >= 'dum') -> true
greatest
greatest(<value1> : any, ...) => any
Retourneert de hoogste waarde in de lijst met waarden als invoer die null-waarden over overslaan. Retourneert null als alle invoer null is.
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
Controleert op een kolomwaarde op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.
hasColumn('parent')
hasPath
hasPath(<value1> : string, [<streamName> : string]) => boolean
Controleert of een bepaald hiërarchisch pad bestaat op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Kolomnamen/paden die bekend zijn tijdens het ontwerpen, moeten alleen worden aangepakt met hun naam of punt-notatiepad. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.
hasPath('grandpa.parent.child') => boolean
hex
hex(<value1>: binary) => string
Retourneert een hexische tekenreeksweergave van een binaire waarde * hex(toBinary([toByte(0x1f), toByte(0xad), toByte(0xbe)])) -> '1fadbe'
hour
hour(<value1> : timestamp, [<value2> : string]) => integer
Haalt de uurwaarde van een tijdstempel op. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. 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
Duur in milliseconden voor het aantal uren.
hours(2) -> 7200000L
iif
iif(<condition> : boolean, <true_expression> : any, [<false_expression> : any]) => any
Op basis van een voorwaarde wordt de ene of de andere waarde toegepast. Als andere niet is gespecificeerd, wordt deze beschouwd als NULL. Beide waarden moeten compatibel zijn (numeriek, tekenreeks...). * 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
Controleert of de eerste parameter null is. Als dit niet null is, wordt de eerste parameter geretourneerd. Als null is, wordt de tweede parameter geretourneerd. Als er drie parameters zijn opgegeven, is het gedrag hetzelfde als iif(isNull(value1), value2, value3) en wordt de derde parameter geretourneerd als de eerste waarde niet null is.
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
Controleert of een item in de matrix staat.
in([10, 20, 30], 10) -> truein(['good', 'kid'], 'bad') -> false
initCap
initCap(<value1> : string) => string
Converteert de eerste letter van elk woord naar hoofdletters. Woorden worden aangeduid als gescheiden door witruimte.
initCap('cool iceCREAM') -> 'Cool Icecream'
instr
instr(<string> : string, <substring to find> : string) => integer
Zoekt de positie(1 op basis) van de subtekenreeks binnen een tekenreeks. 0 wordt geretourneerd als deze niet wordt gevonden.
instr('dumbo', 'mbo') -> 3instr('microsoft', 'o') -> 5instr('good', 'bad') -> 0
intersect
intersect(<value1> : array, <value2> : array) => array
Retourneert een snijpuntset met afzonderlijke items uit twee matrices.
intersect([10, 20, 30], [20, 40]) => [20]
isBitSet
isBitSet (<value1> : array, <value2>:integer ) => boolean
Controleert of er een bitpositie is ingesteld in deze bitset * isBitSet(toBitSet([10, 32, 98]), 10) => true
isBoolean
isBoolean(<value1>: string) => boolean
Controleert of de tekenreekswaarde een Booleaanse waarde is volgens de regels van toBoolean()
isBoolean('true') -> trueisBoolean('no') -> trueisBoolean('microsoft') -> false
isByte
isByte(<value1> : string) => boolean
Controleert of de tekenreekswaarde een bytewaarde is met een optionele indeling volgens de regels van toByte()
isByte('123') -> trueisByte('chocolate') -> false
isDate
isDate (<value1> : string, [<format>: string]) => boolean
Controleert of de invoerdatum een datum is met behulp van een optionele invoerdatumnotatie. Raadpleeg SimpleDateFormat van Java voor beschikbare indelingen. Als de invoerdatumnotatie wordt weggelaten, is de standaardindeling yyyy-[M]M-[d]d . Geaccepteerde indelingen zijn [ 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
Controles van de tekenreekswaarde is een decimale waarde met een optionele indeling volgens de regels van toDecimal()
isDecimal('123.45') -> trueisDecimal('12/12/2000') -> false
isDelete
isDelete([<value1> : integer]) => boolean
Controleert of de rij is gemarkeerd voor verwijderen. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1.
isDelete()isDelete(1)
isDistinct
isDistinct(<value1> : any , <value1> : any) => boolean
Zoekt of een kolom of set kolommen uniek is. Null wordt niet als een afzonderlijke waarde geteld * isDistinct(custId, custName) => boolean
isDouble
isDouble (<value1> : string, [<format>: string]) => boolean
Controles van de tekenreekswaarde is een dubbele waarde op basis van een optionele indeling volgens de regels van toDouble()
isDouble('123') -> trueisDouble('$123.45' -> '$###.00') -> trueisDouble('icecream') -> false
isError
isError([<value1> : integer]) => boolean
Controleert of de rij als fout is gemarkeerd. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1.
isError()isError(1)
isFloat
isFloat (<value1> : string, [<format>: string]) => boolean
Controles van de tekenreekswaarde is een float-waarde met een optionele indeling volgens de regels van toFloat()
isFloat('123') -> trueisFloat('$123.45' -> '$###.00') -> trueisFloat('icecream') -> false
isIgnore
isIgnore([<value1> : integer]) => boolean
Controleert of de rij is gemarkeerd om te worden genegeerd. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1.
isIgnore()isIgnore(1)
isInsert
isInsert([<value1> : integer]) => boolean
Controleert of de rij is gemarkeerd voor invoegen. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1.
isInsert()isInsert(1)
isInteger
isInteger (<value1> : string, [<format>: string]) => boolean
Controles van de tekenreekswaarde is een geheel getal met een optionele indeling volgens de regels van toInteger()
isInteger('123') -> trueisInteger('$123' -> '$###') -> trueisInteger('microsoft') -> false
isLong
isLong (<value1> : string, [<format>: string]) => boolean
Controles van de tekenreekswaarde is een lange waarde met een optionele indeling volgens de regels van toLong()
isLong('123') -> trueisLong('$123' -> '$###') -> trueisLong('gunchus') -> false
isMatch
isMatch([<value1> : integer]) => boolean
Controleert of de rij wordt gematcht bij de zoekactie. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1.
isMatch()isMatch(1)
isNan
isNan (<value1> : integral) => boolean
Controleer of dit geen getal is.
isNan(10.2) => false
isNull
isNull(<value1> : any) => boolean
Controleert of de waarde NULL is.
isNull(NULL()) -> trueisNull('') -> false
isShort
isShort (<value1> : string, [<format>: string]) => boolean
Controles van de tekenreekswaarde is een korte waarde met een optionele indeling volgens de regels van toShort()
isShort('123') -> trueisShort('$123' -> '$###') -> trueisShort('microsoft') -> false
isTimestamp
isTimestamp (<value1> : string, [<format>: string]) => boolean
Controleert of de invoerdatumreeks een tijdstempel is met behulp van een optionele indeling voor invoertijdstempels. Raadpleeg SimpleDateFormat van Java voor beschikbare indelingen. Als het tijdstempel wordt weggelaten, wordt het yyyy-[M]M-[d]d hh:mm:ss[.f...] standaardpatroon gebruikt. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. Tijdstempel ondersteunt een nauwkeurigheid van maximaal milliseconden met een waarde van 999 Raadpleeg SimpleDateFormat van Java voor beschikbare indelingen.
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
Controleert of de rij is gemarkeerd voor update. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1.
isUpdate()isUpdate(1)
isUpsert
isUpsert([<value1> : integer]) => boolean
Controleert of de rij is gemarkeerd voor invoegen. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1.
isUpsert()isUpsert(1)
jaroWinkler
jaroWinkler(<value1> : string, <value2> : string) => double
Haalt de JaroWinkler-afstand tussen twee tekenreeksen op.
jaroWinkler('frog', 'frog') => 1.0
keyValues
keyValues(<value1> : array, <value2> : array) => map
Hiermee maakt u een kaart van sleutel/waarden. De eerste parameter is een matrix met sleutels en de tweede is de matrix met waarden. Beide matrices moeten even lang zijn.
keyValues(['bojjus', 'appa'], ['gunchus', 'ammi']) => ['bojjus' -> 'gunchus', 'appa' -> 'ammi']
kurtosis
kurtosis(<value1> : number) => double
Haalt de kolom op.
kurtosis(sales)
kurtosisIf
kurtosisIf(<value1> : boolean, <value2> : number) => double
Op basis van een criterium haalt u de kolom op.
kurtosisIf(region == 'West', sales)
lag
lag(<value> : any, [<number of rows to look before> : number], [<default value> : any]) => any
Haalt de waarde op van de eerste parameter die n rijen vóór de huidige rij heeft geëvalueerd. De tweede parameter is het aantal rijen om terug te kijken en de standaardwaarde is 1. Als er niet zoveel rijen zijn, wordt een waarde van null geretourneerd, tenzij er een standaardwaarde is opgegeven.
lag(amount, 2)lag(amount, 2000, 100)
last
last(<value1> : any, [<value2> : boolean]) => any
Haalt de laatste waarde van een kolomgroep op. Als de tweede parameter ignoreNulls wordt weggelaten, wordt ervan uitgegaan dat deze false is.
last(sales)last(sales, false)
lastDayOfMonth
lastDayOfMonth(<value1> : datetime) => date
Haalt de laatste datum van de maand op op een 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
Haalt de waarde op van de eerste parameter die n rijen na de huidige rij heeft geëvalueerd. De tweede parameter is het aantal rijen om vooruit te kijken en de standaardwaarde is 1. Als er niet zoveel rijen zijn, wordt een waarde van null geretourneerd, tenzij er een standaardwaarde is opgegeven.
lead(amount, 2)lead(amount, 2000, 100)
least
least(<value1> : any, ...) => any
Vergelijking kleiner dan of gelijk aan operator. Hetzelfde als <= operator.
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
Extraheert een subtekenreeks beginnen bij index 1 met het aantal tekens. Hetzelfde als SUBSTRING(str, 1, n).
left('bojjus', 2) -> 'bo'left('bojjus', 20) -> 'bojjus'
length
length(<value1> : string) => integer
Retourneert de lengte van de tekenreeks.
length('dumbo') -> 5
lesser
lesser(<value1> : any, <value2> : any) => boolean
Vergelijkingsoperator minder. Hetzelfde als < operator.
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
Vergelijking kleiner dan of gelijk aan operator. Hetzelfde als <= operator.
lesserOrEqual(12, 12) -> true('dumbo' <= 'dum') -> false
levenshtein
levenshtein(<from string> : string, <to string> : string) => integer
Haalt de afstand levenshtein tussen twee tekenreeksen.
levenshtein('boys', 'girls') -> 4
like
like(<string> : string, <pattern match> : string) => boolean
Het patroon is een tekenreeks die letterlijk wordt gematcht. De uitzonderingen zijn de volgende speciale symbolen: _ komt overeen met een teken in de invoer (vergelijkbaar met . in posix reguliere expressies komt % overeen met nul of meer tekens in de invoer (vergelijkbaar met .* in posix reguliere expressies).
Het escape-teken is ''. Als een escape-teken voorafgaat aan een speciaal symbool of een ander escape-teken, wordt het volgende teken letterlijk gematcht. Het is ongeldig om een ander teken te escapen.
like('icecream', 'ice%') -> true
locate
locate(<substring to find> : string, <string> : string, [<from index - 1-based> : integral]) => integer
Zoekt de positie (1 op basis) van de subtekenreeks binnen een tekenreeks die een bepaalde positie begint. Als de positie wordt weggelaten, wordt deze beschouwd vanaf het begin van de tekenreeks. 0 wordt geretourneerd als deze niet wordt gevonden.
locate('mbo', 'dumbo') -> 3locate('o', 'microsoft', 6) -> 7locate('bad', 'good') -> 0
log
log(<value1> : number, [<value2> : number]) => double
Berekent de logboekwaarde. Een optionele basis kan anders een Euler-nummer worden opgegeven als deze wordt gebruikt.
log(100, 10) -> 2
log10
log10(<value1> : number) => double
Berekent de logboekwaarde op basis van 10 basis.
log10(100) -> 2
lookup
lookup(key, key2, ...) => complex[]
Zoekt de eerste rij van de sink in de cache op met behulp van de opgegeven sleutels die overeenkomen met de sleutels van de sink in de cache.
cacheSink#lookup(movieId)
lower
lower(<value1> : string) => string
Een tekenreeks in kleine letters.
lower('GunChus') -> 'gunchus'
lpad
lpad(<string to pad> : string, <final padded length> : integral, <padding> : string) => string
Links wordt de tekenreeks opgevuld met de opgegeven opvulling totdat deze een bepaalde lengte heeft. Als de tekenreeks gelijk is aan of groter is dan de lengte, wordt deze bijgesneden tot de lengte.
lpad('dumbo', 10, '-') -> '-----dumbo'lpad('dumbo', 4, '-') -> 'dumb'- ''lpad('hebto', 8, '<>') -> '<><dumbo'``
ltrim
ltrim(<string to trim> : string, [<trim characters> : string]) => string
Met de linkerkant wordt een tekenreeks met vooraanstaand tekens bij elkaar gesnaard. Als de tweede parameter niet is gespecificeerd, wordt de witruimte inkorten. Anders worden alle tekens die zijn opgegeven in de tweede parameter, bijafafd.
ltrim(' dumbo ') -> 'dumbo 'ltrim('!--!du!mbo!', '-!') -> 'du!mbo!'
map
map(<value1> : array, <value2> : unaryfunction) => any
Kaarten elk element van de matrix toe aan een nieuw element met behulp van de opgegeven expressie. Kaart verwacht een verwijzing naar één element in de expressiefunctie als #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
Transformeert een kaart door de sleutels te koppelen aan nieuwe waarden. Retourneert een matrix. Er wordt een toewijzingsfunctie gebruikt, waarbij u het item als #key en huidige waarde als #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
Een matrix voorwaardelijk toe te staan aan een andere matrix met dezelfde of een kleinere lengte. De waarden kunnen van elk gegevenstype zijn, inclusief structTypes. Er wordt een toewijzingsfunctie gebruikt, waarbij u het item in de matrix als een #item en de huidige index als #index. Voor diep geneste kaarten kunt u verwijzen naar de bovenliggende kaarten met behulp van #item_[n](#item_1, #index_1...) de notatie.
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
Kaarten elk element van de matrix toe aan een nieuw element met behulp van de opgegeven expressie. Map verwacht een verwijzing naar één element in de expressiefunctie als #item en een verwijzing naar de elementindex als #index.
mapIndex([1, 2, 3, 4], #item + 2 + #index) -> [4, 6, 8, 10]
mapLoop
mapLoop(<value1> : integer, <value2> : unaryfunction) => any
Loopt door van 1 tot lengte om een matrix van die lengte te maken. Er wordt een toewijzingsfunctie gebruikt, waarbij u de index in de matrix kunt adresseren als #index. Voor diep geneste kaarten kunt u verwijzen naar de bovenliggende kaarten met behulp van de #index_n(#index_1, #index_2...) notatie.
mapLoop(3, #index * 10) -> [10, 20, 30]
max
max(<value1> : any) => any
Haalt de maximumwaarde van een kolom op.
max(sales)
maxIf
maxIf(<value1> : boolean, <value2> : any) => any
Haalt op basis van een criterium de maximumwaarde van een kolom op.
maxIf(region == 'West', sales)
md5
md5(<value1> : any, ...) => string
Berekent de MD5-samenvatting van een set kolommen met verschillende primitieve gegevenstypen en retourneert een hextreeks van 32 tekens. Deze kan worden gebruikt om een vingerafdruk voor een rij te berekenen.
md5(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> '4ce8a880bd621a1ffad0bca905e1bc5a'
mean
mean(<value1> : number) => number
Haalt het gemiddelde van waarden van een kolom op. Hetzelfde als AVG.
mean(sales)
meanIf
meanIf(<value1> : boolean, <value2> : number) => number
Op basis van een criterium wordt het gemiddelde van waarden van een kolom. Hetzelfde als avgIf.
meanIf(region == 'West', sales)
millisecond
millisecond(<value1> : timestamp, [<value2> : string]) => integer
Haalt de millisecondewaarde van een datum op. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. De lokale tijdzone wordt als standaard gebruikt. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. 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
Duur in milliseconden voor het aantal milliseconden.
milliseconds(2) -> 2L
min
min(<value1> : any) => any
Haalt de minimumwaarde van een kolom op.
min(sales)
minIf
minIf(<value1> : boolean, <value2> : any) => any
Haalt op basis van een criterium de minimumwaarde van een kolom op.
minIf(region == 'West', sales)
minus
minus(<value1> : any, <value2> : any) => any
Trekt getallen af. Het aantal dagen van een datum aftrekken. De duur van een tijdstempel aftrekken. Twee tijdstempels aftrekken om een verschil in milliseconden te krijgen. Hetzelfde als de operator - .
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
Haalt de minuutwaarde van een tijdstempel op. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. De lokale tijdzone wordt als standaard gebruikt. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. 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
Duur in milliseconden voor het aantal minuten.
minutes(2) -> 120000L
mlookup
mlookup(key, key2, ...) => complex[]
Zoekt alle overeenkomende rijen van de sink in de cache op met behulp van de opgegeven sleutels die overeenkomen met de sleutels van de sink in de cache.
cacheSink#mlookup(movieId)
mod
mod(<value1> : any, <value2> : any) => any
Modulus van paar getallen. Hetzelfde als de operator % .
mod(20, 8) -> 420 % 8 -> 4
month
month(<value1> : datetime) => integer
Haalt de maandwaarde van een datum of tijdstempel op.
month(toDate('2012-8-8')) -> 8
monthsBetween
monthsBetween(<from date/timestamp> : datetime, <to date/timestamp> : datetime, [<roundoff> : boolean], [<time zone> : string]) => double
Haalt het aantal maanden tussen twee datums op. U kunt de berekening af ronden. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Week'. De lokale tijdzone wordt als standaard gebruikt. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. 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
Vermenigvuldigt het paar getallen. Hetzelfde als de operator * .
multiply(20, 10) -> 20020 * 10 -> 200
negate
negate(<value1> : number) => number
Er wordt een getal over het een of meer onderhandeld. Zet positieve getallen om in negatief en vice versa.
negate(13) -> -13
nextSequence
nextSequence() => long
Retourneert de volgende unieke reeks. Het getal is alleen achter elkaar binnen een partitie en wordt voorafgevoegd door de partitionId.
nextSequence() == 12313112 -> false
normalize
normalize(<String to normalize> : string) => string
Normaliseert de tekenreekswaarde om geaccentueerde unicode-tekens te scheiden.
regexReplace(normalize('bo²s'), `\p{M}`, '') -> 'boys'
not
not(<value1> : boolean) => boolean
Logische negatieoperator.
not(true) -> falsenot(10 == 20) -> true
notEquals
notEquals(<value1> : any, <value2> : any) => boolean
Vergelijking is niet gelijk aan operator. Hetzelfde als de operator != .
12 != 24 -> true'bojjus' != 'bo' + 'jjus' -> false
notNull
notNull(<value1> : any) => boolean
Controleert of de waarde niet NULL is.
notNull(NULL()) -> falsenotNull('') -> true
nTile
nTile([<value1> : integer]) => integer
De NTile functie verdeelt de rijen voor elke vensterpartitie in n buckets van 1 tot en met . n Bucketwaarden verschillen met ten zeerste 1. Als het aantal rijen in de partitie niet gelijkmatig wordt verdeeld in het aantal buckets, worden de restwaarden één verdeeld per bucket, beginnend met de eerste bucket. De NTile functie is handig voor de berekening van , tertiles kwartielen, deciles en andere algemene samenvattingsstatistieken. De functie berekent twee variabelen tijdens de initialisatie: Aan de grootte van een normale bucket wordt één extra rij toegevoegd. Beide variabelen zijn gebaseerd op de grootte van de huidige partitie. Tijdens het berekeningsproces houdt de functie het huidige rijnummer, het huidige bucketnummer en het rijnummer waarop de bucket wordt gewijzigd bij (bucketThreshold). Wanneer het huidige rijnummer de bucketdrempel bereikt, wordt de bucketwaarde met één verhoogd en wordt de drempelwaarde verhoogd met de bucketgrootte (plus één extra als de huidige bucket wordt opgevuld).
nTile()nTile(numOfBuckets)
null
null() => null
Retourneert een NULL-waarde. Gebruik de functie syntax(null()) als er een kolom met de naam 'null' is. Elke bewerking die gebruikmaakt van , resulteert in een NULL.
isNull('dumbo' + null) -> trueisNull(10 * null) -> trueisNull('') -> falseisNull(10 + 20) -> falseisNull(10/0) -> true
or
or(<value1> : boolean, <value2> : boolean) => boolean
Logische OR-operator. Hetzelfde als ||.
or(true, false) -> truetrue || false -> true
originColumns
originColumns(<streamName> : string) => any
Haalt alle uitvoerkolommen op voor een oorsprongstroom waarin kolommen zijn gemaakt. Moet in een andere functie worden ingesloten.
array(toString(originColumns('source1')))
output
output() => any
Retourneert de eerste rij van de resultaten van de cache-sink * cacheSink#output()
outputs
output() => any
Retourneert de volledige uitvoerrijset van de resultaten van de cache-sink * cacheSink#outputs()
partitionId
partitionId() => integer
Retourneert de huidige partitie-id van de invoerrij.
partitionId()
pMod
pMod(<value1> : any, <value2> : any) => any
Positieve modulus van paar getallen.
pmod(-20, 8) -> 4
power
power(<value1> : number, <value2> : number) => double
Eén getal verhogen naar de kracht van een ander getal.
power(10, 2) -> 100
radians
radians(<value1> : number) => double
Converteert graden naar radialen * radians(180) => 3.141592653589793
random
random(<value1> : integral) => long
Retourneert een willekeurig getal op basis van een optionele seed binnen een partitie. De seed moet een vaste waarde zijn en wordt gebruikt in combinatie met de partitionId om willekeurige waarden te produceren * random(1) == 1 -> false
rank
rank() => integer
Berekent de rangschikking van een waarde in een groep waarden die is opgegeven in de volgorde van een venster per component. Het resultaat is één plus het aantal rijen vóór of gelijk aan de huidige rij in de volgorde van de partitie. De waarden veroorzaken hiaten in de reeks. Positie werkt zelfs wanneer gegevens niet zijn gesorteerd en zoeken naar wijziging in waarden.
rank()
reassociate
reassociate(<value1> : map, <value2> : binaryFunction) => map
Transformeert een kaart door de sleutels te koppelen aan nieuwe waarden. Er wordt een toewijzingsfunctie gebruikt, waarbij u het item als #key en huidige waarde als #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
Verzamelt elementen in een matrix. Reduce verwacht een verwijzing naar een accumulator en één element in de eerste expressiefunctie als #acc en #item en verwacht dat de resulterende waarde als #result wordt gebruikt in de tweede expressiefunctie.
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
Extraheren van een overeenkomende subtekenreeks voor een bepaald regex-patroon. De laatste parameter identificeert de overeenkomende groep en wordt standaard ingesteld op 1 als u dit weglaat. Gebruik ' '(back quote) om een tekenreeks te vinden zonder escape-teken.
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
Controleert of de tekenreeks overeenkomt met het opgegeven regex-patroon. Gebruik ' '(back quote) om een tekenreeks te vinden zonder escape-teken.
regexMatch('200.50', '(\\d+).(\\d+)') -> trueregexMatch('200.50', `(\d+).(\d+)`) -> true
regexReplace
regexReplace(<string> : string, <regex to find> : string, <substring to replace> : string) => string
Vervang alle exemplaren van een regex-patroon door een andere subtekenreeks in de opgegeven tekenreeks Use ' '(back quote) om overeen te komen met een tekenreeks zonder escape-tekenreeks.
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
Splitst een tekenreeks op basis van een scheidingsteken op basis van regex en retourneert een matrix met tekenreeksen.
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
Vervang alle exemplaren van een subtekenreeks door een andere subtekenreeks in de opgegeven tekenreeks. Als de laatste parameter wordt weggelaten, wordt standaard een lege tekenreeks gebruikt.
replace('doggie dog', 'dog', 'cat') -> 'catgie cat'replace('doggie dog', 'dog', '') -> 'gie 'replace('doggie dog', 'dog') -> 'gie '
reverse
reverse(<value1> : string) => string
Een tekenreeks omkeren.
reverse('gunchus') -> 'suhcnug'
right
right(<string to subset> : string, <number of characters> : integral) => string
Extraheert een subtekenreeks met het aantal tekens aan de rechterkant. Hetzelfde als SUBSTRING(str, LENGTH(str) - n, n).
right('bojjus', 2) -> 'us'right('bojjus', 20) -> 'bojjus'
rlike
rlike(<string> : string, <pattern match> : string) => boolean
Controleert of de tekenreeks overeenkomt met het opgegeven regex-patroon.
rlike('200.50', `(\d+).(\d+)`) -> truerlike('bogus', `M[0-9]+.*`) -> false
round
round(<number> : number, [<scale to round> : number], [<rounding option> : integral]) => double
Rondt een getal af op een optionele schaal en een optionele afrondingsmodus. Als de schaal wordt weggelaten, wordt deze standaard ingesteld op 0. Als de modus wordt weggelaten, wordt deze standaard ingesteld op ROUND_HALF_UP(5). De waarden voor afronding zijn 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
Wijst een sequentiële rijnummering toe voor rijen in een venster dat begint met 1.
rowNumber()
rpad
rpad(<string to pad> : string, <final padded length> : integral, <padding> : string) => string
Met de rechterkant wordt de tekenreeks opgevuld met de opgegeven opvulling totdat deze een bepaalde lengte heeft. Als de tekenreeks gelijk is aan of groter is dan de lengte, wordt deze bijgesneden tot de lengte.
rpad('dumbo', 10, '-') -> 'dumbo-----'rpad('dumbo', 4, '-') -> 'dumb'- 'rpad('hebto', 8, '<>') -> '<><'``
rtrim
rtrim(<string to trim> : string, [<trim characters> : string]) => string
Met de rechterkant wordt een tekenreeks met aaneenreeksen bij elkaar gesnaard. Als de tweede parameter niet is gespecificeerd, wordt de witruimte inkorten. Anders worden alle tekens die zijn opgegeven in de tweede parameter, bijafafd.
rtrim(' dumbo ') -> ' dumbo'rtrim('!--!du!mbo!', '-!') -> '!--!du!mbo'
second
second(<value1> : timestamp, [<value2> : string]) => integer
Haalt de tweede waarde van een datum op. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. De lokale tijdzone wordt als standaard gebruikt. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. 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
Duur in milliseconden voor het aantal seconden.
seconds(2) -> 2000L
setBitSet
setBitSet (<value1>: array, <value2>:array) => array
Hiermee stelt u bitposities in deze bitset in * setBitSet(toBitSet([10, 32]), [98]) => [4294968320L, 17179869184L]
sha1
sha1(<value1> : any, ...) => string
Berekent de SHA-1-samenvatting van een set kolommen met verschillende primitieve gegevenstypen en retourneert een hextreeks van 40 tekens. Deze kan worden gebruikt om een vingerafdruk voor een rij te berekenen.
sha1(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> '46d3b478e8ec4e1f3b453ac3d8e59d5854e282bb'
sha2
sha2(<value1> : integer, <value2> : any, ...) => string
Berekent de SHA-2-samenvatting van een set kolom met verschillende primitieve gegevenstypen op basis van een bitlengte die alleen waarden van 0(256), 224, 256, 384, 512 kan zijn. Deze kan worden gebruikt om een vingerafdruk voor een rij te berekenen.
sha2(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> 'afe8a553b1761c67d76f8c31ceef7f71b66a1ee6f4e6d3b5478bf68b47d06bd3'
sin
sin(<value1> : number) => double
Berekent een sinuswaarde.
sin(2) -> 0.9092974268256817
sinh
sinh(<value1> : number) => double
Berekent een hyperbolische sinuswaarde.
sinh(0) -> 0.0
size
size(<value1> : any) => integer
Zoekt de grootte van een matrix of kaarttype * size(['element1', 'element2']) -> 2
size([1,2,3]) -> 3
skewness
skewness(<value1> : number) => double
Haalt de ascheefheid van een kolom op.
skewness(sales)
skewnessIf
skewnessIf(<value1> : boolean, <value2> : number) => double
Op basis van een criterium wordt de ascheefheid van een kolom.
skewnessIf(region == 'West', sales)
slice
slice(<array to slice> : array, <from 1-based index> : integral, [<number of items> : integral]) => array
Extraheert een subset van een matrix uit een positie. De positie is gebaseerd op 1. Als de lengte wordt weggelaten, wordt deze standaard ingesteld op het einde van de tekenreeks.
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
Sorteert de matrix met behulp van de opgegeven predicaatfunctie. Sort verwacht een verwijzing naar twee opeenvolgende elementen in de expressiefunctie als #item1 en #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
Haalt de soundex code voor de tekenreeks op.
soundex('genius') -> 'G520'
split
split(<string to split> : string, <split characters> : string) => array
Splitst een tekenreeks op basis van een scheidingsteken en retourneert een matrix met tekenreeksen.
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
Berekent de vierkantswortel van een getal.
sqrt(9) -> 3
startsWith
startsWith(<string> : string, <substring to check> : string) => boolean
Controleert of de tekenreeks begint met de opgegeven tekenreeks.
startsWith('dumbo', 'du') -> true
stddev
stddev(<value1> : number) => double
Haalt de standaarddeviatie van een kolom op.
stdDev(sales)
stddevIf
stddevIf(<value1> : boolean, <value2> : number) => double
Op basis van een criterium wordt de standaardafwijking van een kolom berekend.
stddevIf(region == 'West', sales)
stddevPopulation
stddevPopulation(<value1> : number) => double
Haalt de standaardafwijking van de populatie van een kolom op.
stddevPopulation(sales)
stddevPopulationIf
stddevPopulationIf(<value1> : boolean, <value2> : number) => double
Haalt op basis van een criterium de standaardafwijking van de populatie van een kolom op.
stddevPopulationIf(region == 'West', sales)
stddevSample
stddevSample(<value1> : number) => double
Haalt de standaarddeviatie van een kolom op.
stddevSample(sales)
stddevSampleIf
stddevSampleIf(<value1> : boolean, <value2> : number) => double
Op basis van een criterium wordt de standaarddeviatie van een kolom uit de steekproef genomen.
stddevSampleIf(region == 'West', sales)
subDays
subDays(<date/timestamp> : datetime, <days to subtract> : integral) => datetime
Dagen aftrekken van een datum of tijdstempel. Hetzelfde als de operator - voor datum.
subDays(toDate('2016-08-08'), 1) -> toDate('2016-08-07')
subMonths
subMonths(<date/timestamp> : datetime, <months to subtract> : integral) => datetime
Maanden aftrekken van een datum of tijdstempel.
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
Extraheert een subtekenreeks van een bepaalde lengte van een positie. De positie is gebaseerd op 1. Als de lengte wordt weggelaten, wordt deze standaard ingesteld op het einde van de tekenreeks.
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
Haalt de geaggregeerde som van een numerieke kolom op.
sum(col)
sumDistinct
sumDistinct(<value1> : number) => number
Haalt de geaggregeerde som van afzonderlijke waarden van een numerieke kolom op.
sumDistinct(col)
sumDistinctIf
sumDistinctIf(<value1> : boolean, <value2> : number) => number
Op basis van criteria wordt de geaggregeerde som van een numerieke kolom opgetelde. De voorwaarde kan worden gebaseerd op elke kolom.
sumDistinctIf(state == 'CA' && commission < 10000, sales)sumDistinctIf(true, sales)
sumIf
sumIf(<value1> : boolean, <value2> : number) => number
Op basis van criteria wordt de geaggregeerde som van een numerieke kolom opgetelde. De voorwaarde kan worden gebaseerd op elke kolom.
sumIf(state == 'CA' && commission < 10000, sales)sumIf(true, sales)
tan
tan(<value1> : number) => double
Berekent een tangenswaarde.
tan(0) -> 0.0
tanh
tanh(<value1> : number) => double
Berekent een hyperbolische tangenswaarde.
tanh(0) -> 0.0
toBase64
toBase64(<value1> : string) => string
Codeert de opgegeven tekenreeks in base64.
toBase64('bojjus') -> 'Ym9qanVz'
toBinary
toBinary(<value1> : any) => binary
Converteert een numerieke/datum-/tijdstempel/tekenreeks naar binaire weergave.
toBinary(3) -> [0x11]
toBoolean
toBoolean(<value1> : string) => boolean
Converteert een waarde van ('t', 'true', 'y', 'yes', '1') naar true en ('f', 'false', 'n', 'no', '0') naar false en NULL voor een andere waarde.
toBoolean('true') -> truetoBoolean('n') -> falseisNull(toBoolean('truthy')) -> true
toByte
toByte(<value> : any, [<format> : string], [<locale> : string]) => byte
Converteert een numerieke waarde of tekenreeks naar een bytewaarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie.
toByte(123)123toByte(0xFF)-1toByte('123')123
toDate
toDate(<string> : any, [<date format> : string]) => date
Converteert de invoerdatumreeks naar datum met behulp van een optionele invoerdatumnotatie. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. Als de invoerdatumnotatie wordt weggelaten, is de standaardindeling yyyy-[M]M-[d]d. Geaccepteerde indelingen zijn:[ yyyy, yyyy-[M]M, yyyy-[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)
Converteert een numerieke waarde of tekenreeks naar een decimale waarde. Als precisie en schaal niet zijn opgegeven, wordt deze standaard ingesteld op (10,2). Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Een optionele indeling voor de taal van de taal BCP47, zoals 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
Converteert een numerieke waarde of tekenreeks naar een dubbele waarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Een optionele indeling voor de taal van de taal BCP47, zoals 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
Converteert een numerieke waarde of tekenreeks naar een float-waarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Elk dubbel wordt afgekapt.
toFloat(123.45) -> 123.45ftoFloat('123.45') -> 123.45ftoFloat('$123.45', '$###.00') -> 123.45f
toInteger
toInteger(<value> : any, [<format> : string], [<locale> : string]) => integer
Converteert een numerieke waarde of tekenreeks naar een geheel getal. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Afgekapt een lange, float, dubbele.
toInteger(123) -> 123toInteger('123') -> 123toInteger('$123', '$###') -> 123
toLong
toLong(<value> : any, [<format> : string], [<locale> : string]) => long
Converteert een numerieke of tekenreeks naar een lange waarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Elke float wordt afgekapt, dubbel.
toLong(123) -> 123toLong('123') -> 123toLong('$123', '$###') -> 123
toShort
toShort(<value> : any, [<format> : string], [<locale> : string]) => short
Converteert een numerieke waarde of tekenreeks naar een korte waarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Elk geheel getal, lang, float, dubbel wordt afgekapt.
toShort(123) -> 123toShort('123') -> 123toShort('$123', '$###') -> 123
toString
toString(<value> : any, [<number format/date format> : string]) => string
Converteert een primitief gegevenstype naar een tekenreeks. Voor getallen en datums kan een notatie worden opgegeven. Als niet is gespecificeerd, wordt de standaardinstelling van het systeem geselecteerd. De decimale Java-notatie wordt gebruikt voor getallen. Raadpleeg Java SimpleDateFormat voor alle mogelijke datumindelingen; de standaardindeling is 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
Converteert een tekenreeks naar een tijdstempel met een optionele tijdstempelindeling. Als de tijdstempel wordt weggelaten, wordt het standaardpatroon yyyy-[M]M-[d]d hh:mm:ss[.f...] gebruikt. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. Tijdstempel ondersteunt een nauwkeurigheid van maximaal milliseconden met een waarde van 999. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. 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
Converteert de tijdstempel naar UTC. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. Deze is standaard ingesteld op de huidige tijdzone. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. 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
Vervang één set tekens door een andere set tekens in de tekenreeks. Tekens hebben 1-op-1 vervanging.
translate('(bojjus)', '()', '[]') -> '[bojjus]'translate('(gunchus)', '()', '[') -> '[gunchus'
trim
trim(<string to trim> : string, [<trim characters> : string]) => string
Trimt een tekenreeks met voor- en achteraan tekens. Als de tweede parameter niet is gespecificeerd, wordt de witruimte inkort. Anders worden alle tekens die in de tweede parameter zijn opgegeven, bijafafd.
trim(' dumbo ') -> 'dumbo'trim('!--!du!mbo!', '-!') -> 'du!mbo'
true
true() => boolean
Retourneert altijd een werkelijke waarde. Gebruik de functie syntax(true()) als er een kolom met de naam 'true' is.
(10 + 20 == 30) -> true(10 + 20 == 30) -> true()
typeMatch
typeMatch(<type> : string, <base type> : string) => boolean
Komt overeen met het type kolom. Kan alleen worden gebruikt in patroonexpressies.number komt overeen met kort, geheel getal, lang, dubbel, float of decimaal, integrale overeenkomsten kort, geheel getal, lange, fractionele overeenkomsten, dubbele, float-, decimale en datum/tijd-overeenkomsten datum- of tijdstempeltype.
typeMatch(type, 'number')typeMatch('date', 'datetime')
unescape
unescape(<string_to_escape> : string, <format> : string) => string
Een tekenreeks wordt uit de vorm van een tekenreeks ontsuitgebaar. Letterlijke waarden voor acceptabele indeling zijn 'json', 'xml', 'ecmascript', 'html', 'java'.
unescape('{\\\\\"value\\\\\": 10}', 'json')'{\\\"value\\\": 10}'
unfold
unfold (<value1>: array) => any
Zet een matrix uit in een set rijen en herhaalt de waarden voor de resterende kolommen in elke rij.
unfold(addresses) => anyunfold( @(name = salesPerson, sales = salesAmount) ) => any
unhex
unhex(<value1>: string) => binary
Een binaire waarde wordt losgehext uit de tekenreeksweergave. Dit kan worden gebruikt in combinatie met sha2, md5 om van tekenreeks naar binaire weergave te converteren * 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
Retourneert een union-set afzonderlijke items uit 2 matrices.
union([10, 20, 30], [20, 40]) => [10, 20, 30, 40]
upper
upper(<value1> : string) => string
Hoofdletters van een tekenreeks.
upper('bojjus') -> 'BOJJUS'
uuid
uuid() => string
Retourneert de gegenereerde UUID.
uuid()
variance
variance(<value1> : number) => double
Haalt de variantie van een kolom op.
variance(sales)
varianceIf
varianceIf(<value1> : boolean, <value2> : number) => double
Op basis van een criterium wordt de afwijking van een kolom op basis van een criterium.
varianceIf(region == 'West', sales)
variancePopulation
variancePopulation(<value1> : number) => double
Haalt de afwijking van de populatie van een kolom op.
variancePopulation(sales)
variancePopulationIf
variancePopulationIf(<value1> : boolean, <value2> : number) => double
Op basis van een criterium haalt de populatievariantie van een kolom op.
variancePopulationIf(region == 'West', sales)
varianceSample
varianceSample(<value1> : number) => double
Haalt de onbevooroordeelde variantie van een kolom op.
varianceSample(sales)
varianceSampleIf
varianceSampleIf(<value1> : boolean, <value2> : number) => double
Op basis van een criterium haalt de onbevooroordeelde afwijking van een kolom op.
varianceSampleIf(region == 'West', sales)
weekOfYear
weekOfYear(<value1> : datetime) => integer
Haalt de week van het jaar op op een datum.
weekOfYear(toDate('2008-02-20')) -> 8
weeks
weeks(<value1> : integer) => long
Duur in milliseconden voor het aantal weken.
weeks(2) -> 1209600000L
xor
xor(<value1> : boolean, <value2> : boolean) => boolean
Logische XOR-operator. Hetzelfde als de operator ^ .
xor(true, false) -> truexor(true, true) -> falsetrue ^ false -> true
year
year(<value1> : datetime) => integer
Haalt de jaarwaarde van een datum op.
year(toDate('2012-8-8')) -> 2012