Translation not up to date
Tyto funkce použijte v editorech kódu Pipelines, například k definování uživatelské proměnné nebo k sestavení pokročilého stavu.
Chcete-li zobrazit funkce Pipelines přenesené z DataStage, prohlédněte si téma DataStage Funkce použité v sestavovači výrazů produktovodů.
Produkt Expersion Builder používá tyto katagorie pro funkce kódování:
Převodní funkce
Převede jeden formát datového prvku na jiný.
Tabulka pro základní převod datového typu
Typ | Přijímá | Vrací | Syntaxe |
---|---|---|---|
double |
int, uint, string |
double |
double(val) |
duration |
string |
duration |
duration(string) Trvání by mělo končit znakem "s", což znamená sekundy. |
int |
int, uint, double, string, timestamp |
int |
int(val) |
timestamp |
string |
timestamp |
timestamp(string) Převede řetězce na časová razítka podle RFC3339, tj. "1972-01-01T10:00:20.021-05:00". |
uint |
int, double, string |
uint |
uint(val) |
Příklad
Chcete-li například přetypovat hodnotu na typ double
, postupujte takto:
double(%val%)
Toto platí pro všechny funkce přetypování uvedené v předchozí tabulce. Při přetypování na hodnotu int | uint
se výsledek zaokrouhluje směrem k nule a v případě, že výsledek je mimo rozsah, budou výsledkem chyby.
Standardní funkce
Funkce, které jsou jedinečné pro produkt IBM Watson Pipelines.
Sub
Nahradí podřetězce řetězce, který odpovídá danému regulárnímu výrazu, počínaje offsetem pozice.
Syntaxe
(string).sub(substring (string), replacement (string), [occurrence (int), [offset (int)]])
returns: řetězec s aktualizovanými podřetězci.
Příklady
'aaabbbcccbbb'.sub('[b]+','RE')
Vrací 'aaaREcccRE'.
formát
Formátuje řetězec nebo časové razítko podle specifikátoru formátu a vrátí výsledný řetězec.
Syntaxe
formát jako metoda řetězců
(string).format(parameter 1 (string or bool or number)... parameter 10 (string or bool or number))
Vrací: řetězec obsahující formátované vstupní hodnoty.
formát jako metoda časových razítek
(timestamp).format(layout(string))
Vrací: formátované časové razítko ve formátu řetězce.
Příklady
'number=%d, text=%s'.format(1, 'str')
Vrátí řetězec 'number=1, text=str'.
timestamp('2020-07-24T09:07:29.000-00:00').format('%Y/%m/%d')
Vrací řetězec '2020/07/24'.
nyní
Vrátí aktuální časové razítko.
Syntaxe
now()
Vrací: aktuální časové razítko.
parseTimestamp
Vrací aktuální časové razítko ve formátu řetězce.
Syntaxe
parseTimestamp([timestamp_string(string)] [layout(string)])
Vrací: aktuální časové razítko na řetězec typu string.
Příklady
parseTimestamp('2020-07-24T09:07:29Z')
Vrací '2020-07-24T09:07:29.000-00:00'.
min
Vrátí minimální hodnotu v seznamu.
Syntaxe
(list).min()
vrátí: minimální hodnotu v seznamu.
Příklady
[1,2,3].min()
Vrací celé číslo 1.
max
Vrátí maximální hodnotu v seznamu.
Syntaxe
(list).max()
vrátí hodnotu: maximální hodnota seznamu.
Příklady
[1,2,3].max()
Vrátí celé číslo 3.
argmin
Vrátí index minimální hodnoty v seznamu.
Syntaxe
(list).argmin()
Vrací: index minimální hodnoty ze seznamu.
Příklady
[1,2,3].argmin()
Vrací celé číslo 0.
argmax
Vrátí index maximální hodnoty v seznamu.
Syntaxe
(list).argmax()
returns: index maximální hodnoty v seznamu.
Příklady
[1,2,3].argmax()
Vrací celé číslo 2.
součet
Vrátí součet hodnot v seznamu.
Syntaxe
(list).sum()
returns: index maximální hodnoty v seznamu.
Příklady
[1,2,3].argmax()
Vrací celé číslo 2.
base64.decode
Dekóduje řetězec base64-encoded k bajtům. Tato funkce vrátí chybu, pokud vstupní řetězec není base64-encoded.
Syntaxe
base64.decode(base64_encoded_string(string))
returns: dekódovaný řetězec base64-encoded v bajtovém formátu.
Příklady
base64.decode('aGVsbG8=')
Vrátí 'ahoj' v bajtech.
base64.encode
Zakóduje bajty do řetězce base64-encoded .
Syntaxe
base64.encode(bytes_to_encode (bytes))
vrátí: zakódovaný řetězec base64-encoded původní bajtové hodnoty.
Příklady
base64.decode(b'hello')
Vrátí 'aGVsbG8=' v bajtech.
charAt
Vrátí znak na dané pozici. Je-li pozice záporná, nebo větší než délka řetězce, funkce vygeneruje chybu.
Syntaxe
(string).charAt(index (int))
returns: znak zadané pozice v celočíselném formátu.
Příklady
'hello'.charAt(4)
Vrátí znak 'o'.
indexOf
Vrátí celočíselný index prvního výskytu hledaného řetězce. Není-li hledaný řetězec nalezen, funkce vrací hodnotu -1.
Syntaxe
(string).indexOf(search_string (string), [offset (int)])
returns: index prvního výskytu znaku po posunutí.
Příklady
'hello mellow'.indexOf('ello', 2)
Vrací celé číslo 7.
lowerAscii
Vrací nový řetězec se znaky ASCII obrácenými na malá písmena.
Syntaxe
(string).lowerAscii()
vrací: nový řetězec s malými písmeny.
Příklady
'TacoCat'.lowerAscii()
Vrátí řetězec 'tacocat'.
replace
Vrací nový řetězec založený na cíli, který nahradí výskyty hledaného řetězce řetězcem náhrady, pokud je přítomen. Funkce přijímá volitelný limit počtu nahrazení podřetězců, které mají být provedeny.
Syntaxe
(string).replace(search_string (string), replacement (string), [offset (int)])
returns: nový řetězec s nahrazenými výskyty hledaného řetězce.
Příklady
'hello hello'.replace('he', 'we')
Vrací řetězec 'wello wello'.
dělení
Vrátí seznam řetězců rozdělených ze vstupu podle daného oddělovače. Funkce přijímá volitelný argument určující mezní hodnotu počtu podřetězců vytvořených rozdělením.
Syntaxe
(string).split(separator (string), [limit (int)])
vrátí: rozdělovací řetězec jako seznam řetězců.
Příklady
'hello hello hello'.split(' ')
Vrací seznam řetězců [ 'hello ',' hello ',' hello '].
substring
Vrátí podřetězec zadaný číselným rozsahem odpovídajícím pozicím znaků. Volitelně může koncový rozsah vynechat pro podřetězec od dané pozice znaku až do konce řetězce.
Syntaxe
(string).substring(start (int), [end (int)])
vrátí: podřetězec v zadaném indexu řetězce.
Příklady
'tacocat'.substring(4)
Vrátí řetězec 'cat'.
trim
Vrací nový řetězec, který odstraní úvodní a koncové mezery v cílovém řetězci. Funkce trim používá definici Unicode pro mezery, která nezahrnuje mezery s nulovou šířkou.
Syntaxe
(string).trim()
returns: nový řetězec s odebranými prázdnými znaky.
Příklady
' \ttrim\n '.trim()
Vrátí řetězec 'trim'.
upperAscii
Vrátí nový řetězec, ve kterém jsou všechny znaky ASCII uvedeny velkými písmeny.
Syntaxe
(string).upperAscii()
returns: nový řetězec se všemi znaky přepsanými na velká písmena.
Příklady
'TacoCat'.upperAscii()
Vrátí řetězec 'TACOCAT'.
size
Vrátí délku řetězce, bajtů, seznamu nebo mapy.
Syntaxe
(string | bytes | list | map).size()
returns: délka řetězce, bajtů, seznamu nebo pole mapy.
Příklady
'hello'.size()
Vrací celé číslo 5.
b'hello'.size()
Vrací celé číslo 5.
['a','b','c'].size()
Vrátí celé číslo 3.
{'key': 'value'}.size()
Vrací celé číslo 1.
obsahuje
Testuje, zda operand řetězce obsahuje podřetězec.
Syntaxe
(string).contains(substring (string))
returns: logická hodnota, zda podřetězec existuje v řetězcovém operandu.
Příklady
'hello'.contains('ll')
Vrátí hodnotu "ano".
endsWith
Testuje, zda operand řetězce končí na zadanou příponu.
Syntaxe
(string).endsWith(suffix (string))
returns: booleovská hodnota toho, zda řetězec končí zadanou příponou v operandu typu string.
Příklady
'hello'.endsWith('llo')
Vrátí hodnotu "ano".
startsWith
Testuje, zda se operand řetězce spouští s argumentem prefixu.
Syntaxe
(string).startsWith(prefix (string))
returns: logická hodnota určující, zda řetězec začíná zadanou předponou v operandu typu string.
Příklady
'hello'.startsWith('he')
Vrátí hodnotu "ano".
shoduje se s
Testuje, zda operand typu string odpovídá regulárnímu výrazu.
Syntaxe
(string).matches(prefix (string))
returns: logická hodnota určující, zda řetězec odpovídá zadanému regulárnímu výrazu.
Příklady
'Hello'.matches('[Hh]ello')
Vrátí hodnotu "ano".
getDate
Získat den v měsíci od data s časovým pásmem (výchozí UTC), jedna indexace založená na jednom.
Syntaxe
(timestamp).getDate([time_zone (string)])
Vrací: den v měsíci s indexováním na bázi jedné.
Příklady
timestamp('2020-07-24T09:07:29.000-00:00').getDate()
Vrací 24.
getDayOfMonth
Získat den v měsíci od data s časovým pásmem (výchozí UTC), indexování na základě nuly.
Syntaxe
(timestamp).getDayOfMonth([time_zone (string)])
returns: the day of month with zero-based indexing.
Příklady
timestamp('2020-07-24T09:07:29.000-00:00').getDayOfMonth()
Vrací 23.
getDayOfWeek
Získat den v týdnu od data s časovým pásmem (výchozí UTC), indexování na základě nuly, 0 pro neděli.
Syntaxe
(timestamp).getDayOfWeek([time_zone (string)])
returns: the day of week with zero-based indexing.
Příklady
timestamp('2020-07-24T09:07:29.000-00:00').getDayOfWeek()
Vrací 5.
getDayOfYear
Get day of year from the date with timezone (default UTC), nuro-based indexing.
Syntaxe
(timestamp).getDayOfYear([time_zone (string)])
Vrací: den v roce s indexováním na bázi vynulo-based.
Příklady
timestamp('2020-07-24T09:07:29.000-00:00').getDayOfYear()
Vrací 205.
getFullRok
Získejte rok od data s časovým pásmem (výchozí UTC).
Syntaxe
(timestamp).getFullYear([time_zone (string)])
vrací: rok od data.
Příklady
timestamp('2020-07-24T09:07:29.000-00:00').getFullYear()
Vrací hodnotu 2020.
getMonth
Získejte měsíc od data s časovým pásmem, 0-11.
Syntaxe
(timestamp).getMonth([time_zone (string)])
vrací: měsíc od data.
Příklady
timestamp('2020-07-24T09:07:29.000-00:00').getMonth()
Vrací 6.
getHours
Získejte hodiny od data s časovým pásmem, 0-23.
Syntaxe
(timestamp).getHours([time_zone (string)])
Vrací: hodinu od data.
Příklady
timestamp('2020-07-24T09:07:29.000-00:00').getHours()
Vrací 9.
getMinutes
Získejte minuty od data s časovým pásmem, 0-59.
Syntaxe
(timestamp).getMinutes([time_zone (string)])
vrátí: minuta od data.
Příklady
timestamp('2020-07-24T09:07:29.000-00:00').getMinutes()
vrátí hodnotu 7.
getSeconds
Získejte sekundy od data s časovým pásmem, 0-59.
Syntaxe
(timestamp).getSeconds([time_zone (string)])
returns: the second from the date.
Příklady
timestamp('2020-07-24T09:07:29.000-00:00').getSeconds()
Vrací 29.
getMilliseconds
Získejte milisekundy od data s časovým pásmem, 0-999.
Syntaxe
(timestamp).getMilliseconds([time_zone (string)])
vrací: milisekunda od data.
Příklady
timestamp('2020-07-24T09:07:29.021-00:00').getMilliseconds()
Vrací 21.
Přístup k rozšířeným globálním objektům
Získejte výstupy uzlu, uživatelské proměnné a parametry propojení procesů pomocí následujících kódů Pipelines.
Získat uživatelskou proměnnou
Získá informace o aktuální hodnotě uživatelské proměnné.
Syntaxe
vars.<var name>
Příklady
Příklad | Výstup |
---|---|
vars.my_user_var |
Získá hodnotu uživatelské proměnné my_user_var |
Získat parametry
Získává parametry toku.
Syntaxe
params.<param name>
Příklady
Příklad | Výstup |
---|---|
params.a |
Získá hodnotu parametru a |
Získat sady parametrů
Získává sady parametrů toku.
Syntaxe
param_set.<param_set_name>.<param_name>
Příklady
Příklad | Výstup |
---|---|
param_set.ps.a |
Získá hodnotu parametru a ze sady parametrů ps |
param_sets.config |
Získá konfigurační hodnoty propojení procesů |
param_sets.config.deadline |
Získá objekt data ze sady konfiguračních parametrů |
param_sets.ps["$PARAM"] |
Získá hodnotu parametru $PARAM ze sady parametrů ps |
Získat výsledky úlohy
Získat výsledný výstup úlohy propojení procesů a další metriky z úlohy propojení procesů po jeho dokončení.
Syntaxe
tasks.<node id>.<output name>
Příklady
Příklad | Výstup |
---|---|
tasks.run_datastage_job |
Získává slovník výsledků pro výstup úlohy |
tasks.run_datastage_job.results.score |
Získá hodnotu score výstupu úlohy |
tasks.run_datastage_job.results.timestamp |
Získá koncové časové razítko spuštění úlohy |
tasks.run_datastage_job.results.error |
Získá počet chyb z spuštění úlohy |
tasks.loop_task.loop.counter |
Získává aktuální iterační smyčku smyčky spuštění úlohy |
tasks.loop_task.loop.item |
Získává aktuální iterační položku smyčky spuštění úlohy |
tasks.run_datastage_job.results.status |
Získá buď úspěch, nebo stav selhání spuštění úlohy |
tasks.run_datastage_job.results.status_message |
Získá stavovou zprávu o spuštění úlohy |
tasks.run_datastage_job.results.job_name |
Získá název úlohy |
tasks.run_datastage_job.results.job |
Získá cestu k Cloud Pak for Data úlohy |
tasks.run_datastage_job.results.job_run |
Získá cestu ke spuštění úlohy Cloud Pak for Data |
Získat objekty kontextu propojení procesů
Získává hodnoty, které jsou vyhodnoceny v kontextu propojení procesů v daném oboru (projekt, prostor, katalog).
Příklady
Příklad | Výstup |
---|---|
ctx.scope.id |
Získá ID rozsahu |
ctx.scope.type |
Vrací buď "projekt", "prostor", nebo "katalog" |
ctx.scope.name |
Získá název oboru |
ctx.pipeline.id |
Získá ID propojení procesů |
ctx.pipeline.name |
Získá název propojení procesů |
ctx.job.id |
Získá ID úlohy |
ctx.run_datastage_job.id |
Získá ID spuštění úlohy |
ctx.run_datastage_job.started_at |
Získá počáteční čas spuštění úlohy |
ctx.user.id |
Získá ID uživatele |
Získat chybový stav
Je-li spuštěna obslužná rutina výjimek, dojde k vytvoření objektu chyby a bude přístupný pouze v rámci obslužné rutiny výjimek.
Příklady
Příklad | Výstup |
---|---|
error.status |
Získá buď úspěch, nebo stav selhání spuštění úlohy, obvykle se nezdařilo |
error.status_message |
Získá stavovou zprávu o chybě |
error.job |
Získá cestu k Cloud Pak for Data úlohy |
error.run_datastage_job |
Získá cestu ke spuštění úlohy Cloud Pak for Data |
Nadřízené téma: Přidání podmínek do propojených procesů