Este tópico descreve a sintaxe, os parâmetros e exemplos de funções de operador.
Funções
Para usar um valor negativo, utilize a função op_neg(positive value). Por exemplo, para representar -1, use op_neg(1).
Tipo | Função | Descrição |
Funções condicionais | Retorna o valor de uma expressão com base em uma condição. | |
Retorna o valor da primeira expressão que não seja None. | ||
Retorna None se a Expressão 1 for igual à Expressão 2. Caso contrário, retorna o valor da Expressão 1. | ||
Executa uma operação lógica AND. Retorna True se todos os valores dos parâmetros forem verdadeiros. | ||
Executa uma operação lógica NOT. Retorna o valor booleano inverso do parâmetro. | ||
Executa uma operação lógica OR. Retorna True se qualquer valor de parâmetro for verdadeiro. Retorna False se todos os valores dos parâmetros forem falsos. | ||
Comparação | Verifica se Os tipos de a e b devem ser iguais, como string, número ou lista. | |
Verifica se Os tipos de a e b devem ser iguais, como string, número ou lista. | ||
Verifica se Os tipos de a e b devem ser iguais, como string, número ou lista. | ||
Verifica se Os tipos de a e b devem ser iguais, como string, número ou lista. | ||
Verifica se Os tipos de a e b devem ser iguais, como string, número ou lista. | ||
Verifica se Os tipos de a e b devem ser iguais, como string, número ou lista. | ||
Verificação de contêiner | Calcula o número de caracteres em uma string de texto. Esta função também aceita outras expressões que retornam tupla, lista ou dicionário. | |
Verifica se uma string, tupla, lista ou dicionário contém um elemento específico. Retorna True ou False. | ||
Verifica se uma string, tupla, lista ou dicionário não contém um elemento específico. Retorna True ou False. | ||
Fatia uma string, array ou tupla especificada. | ||
Retorna um elemento de uma string, array ou tupla com base em seu índice. | ||
Funções multivaloradas de uso geral | Calcula a soma de múltiplos valores, como strings ou números. | |
Retorna o valor máximo entre múltiplos campos numéricos ou expressões. | ||
Retorna o valor mínimo entre múltiplos campos numéricos ou expressões. |
op_if
Retorna o valor de uma expressão com base em uma condição.
-
Sintaxe
op_if(condition, expression1, expression2) -
Parâmetros
Parâmetro
Tipo de parâmetro
Obrigatório
Descrição
condition
Qualquer
Sim
Condição a avaliar. Se não for um valor booleano, o sistema avalia sua veracidade. Para mais informações, consulte Truthiness evaluation.
expression1
Qualquer
Sim
Valor retornado se a condição for True.
expression2
Qualquer
Sim
Valor retornado se a condição for False.
-
Resposta
Valor da expressão correspondente.
-
Exemplos
-
Exemplo 1: Se o campo
contentfor avaliado como True, o valor de expression1 será atribuído ao campotest_if.-
Log bruto
content: hello -
Regra de transformação
e_set("test_if", op_if(v("content"),"still origin content","replace this")) -
Resultado
content: hello test_if: still origin content
-
-
Exemplo 2: Se o campo
contentfor avaliado como False, o valor de expression2 será atribuído ao campotest_if.-
Log bruto
content: 0 -
Regra de transformação
e_set("test_if", op_if(ct_int(v("content", default=0)),"still origin content","replace this")) -
Resultado
content: 0 test_if: replace this
-
-
op_ifnull
Retorna o valor da primeira expressão que não seja None.
-
Sintaxe
op_ifnull(expression1, expression2, ....) -
Parâmetros
Nome do parâmetro
Tipo de parâmetro
Obrigatório
Descrição
expression1
Qualquer
Sim
Expressão 1.
expression2
Qualquer
Sim
Expressão 2.
-
Resposta
Valor da primeira expressão que não seja None.
-
Exemplos
-
Exemplo 1:
-
Log bruto
test_if: hello escape_name: Etl -
Regra de transformação
e_set("test_ifnull", op_ifnull(v("escape_name"),v("test_if"))) -
Resultado
test_if: hello escape_name: Etl test_ifnull: Etl
-
-
Exemplo 2:
-
Log bruto
test_if: hello escape_name: Etl -
Regra de transformação
e_set("test_ifnull", op_ifnull(v("test_if"),v("escape_name"))) -
Resultado
test_if: hello escape_name: Etl test_ifnull: hello
-
-
op_coalesce
Retorna o valor da primeira expressão que não seja None.
Os parâmetros e exemplos desta função são semelhantes aos da função op_ifnull. Para mais informações, consulte op_ifnull.
op_nullif
Retorna None se a Expressão 1 for igual à Expressão 2. Caso contrário, retorna o valor da Expressão 1.
-
Sintaxe
op_nullif(expression1, expression2) -
Parâmetros
Nome do parâmetro
Tipo de parâmetro
Obrigatório
Descrição
expression1
Qualquer
Sim
Expressão 1.
expression2
Qualquer
Sim
Expressão 2.
-
Resposta
Retorna None se a Expressão 1 e a Expressão 2 forem iguais. Caso contrário, retorna o valor da Expressão 1.
-
Exemplos
-
Exemplo 1:
-
Log bruto
content: hello escape_name: Etl -
Regra de transformação
e_set("test_ifnull", op_nullif(v("content"),v("escape_name"))) -
Resultado
content: hello escape_name: Etl test_nullif: hello
-
-
Exemplo 2:
-
Log bruto
content: hello escape_name: hello -
Regra de transformação
e_set("test_ifnull", op_nullif(v("content"),v("escape_name"))) -
Resultado
# Because the value of content is the same as the value of escape_name, no value is returned to the test_ifnull field. content: hello escape_name: hello
-
-
op_and
Executa uma operação lógica AND em valores de qualquer tipo. Retorna True se todos os valores dos parâmetros forem verdadeiros.
-
Sintaxe
op_and(value1, value2, ...) -
Parâmetros
Nome do parâmetro
Tipo de parâmetro
Obrigatório
Descrição
value1
Qualquer
Sim
Valor 1.
value2
Qualquer
Sim
Valor 2.
-
Resposta
Retorna True se todos os valores dos parâmetros forem verdadeiros.
Valores de qualquer tipo passam por avaliação de veracidade. Para mais informações, consulte Truthiness evaluation.
-
Exemplos
-
Exemplo 1:
-
Log bruto
number1: 123 number2: 234 -
Regra de transformação
e_set("op_and", op_and(v("number1"),v("number2"))) -
Resultado
number1: 123 number2: 234 op_and: True
-
-
Exemplo 2:
-
Log bruto
number1: 0 number2: 234 -
Regra de transformação
e_set("op_and", op_and(v("number1"),v("number2"))) -
Resultado
number1: 0 number2: 234 op_and: True
-
-
Exemplo 3:
-
Log bruto
ctx1: False ctx2: 234 -
Regra de transformação
e_set("op_and", op_and(v("ctx1"),v("ctx2"))) -
Resultado
ctx1: False ctx2: 234 op_and: False
-
-
Exemplo 4:
-
Log bruto
ctx1: True ctx2: 234 -
Regra de transformação
e_set("op_and", op_and(v("ctx1"),v("ctx2"))) -
Resultado
ctx1: True ctx2: 234 op_and: True
-
-
op_not
Executa uma operação lógica NOT em um valor de qualquer tipo. Retorna o valor booleano inverso da expressão.
-
Sintaxe
op_not(expression) -
Parâmetros
Parâmetro
Tipo de parâmetro
Obrigatório
Descrição
expression
Qualquer
Sim
A expressão.
-
Resposta
Valor booleano inverso da expressão.
Valores de qualquer tipo passam por avaliação de veracidade. Para mais informações, consulte Truthiness evaluation.
-
Exemplos
-
Exemplo 1:
-
Log bruto
ctx1: True -
Regra de transformação
e_set("op_not", op_not(v("ctx1"))) -
Resultado
ctx1: True op_not: False
-
-
Exemplo 2:
-
Log bruto
ctx1: 345 -
Regra de transformação
e_set("op_not", op_not(v("ctx1"))) -
Resultado
ctx1: 345 op_not: False
-
-
Exemplo 3:
-
Log bruto
ctx1: 0 -
Regra de transformação
e_set("op_not", op_not(ct_int(v("ctx1")))) -
Resultado
ctx1: 0 op_not: True
-
-
Exemplo 4:
-
Log bruto
ctx1: ETL -
Regra de transformação
e_set("op_not", op_not(v("ctx1"))) -
Resultado
ctx1: ETL op_not: False
-
-
Exemplo 5:
-
Log bruto
ctx1: None -
Regra de transformação
e_set("op_not", op_not(v("ctx1"))) -
Resultado
ctx1: None op_not: True
-
-
op_or
Executa uma operação lógica OR em valores de qualquer tipo. Retorna True se qualquer expressão for verdadeira. Retorna False se todas as expressões forem falsas.
-
Sintaxe
op_or(expression1, expression2, ...) -
Parâmetros
Nome do parâmetro
Tipo de parâmetro
Obrigatório
Descrição
expression1
Qualquer
Sim
Expressão 1.
expression2
Qualquer
Sim
Expressão 2.
-
Resposta
Retorna True se qualquer expressão for verdadeira. Retorna False se todas as expressões forem falsas.
Valores de qualquer tipo passam por avaliação de veracidade. Para mais informações, consulte Truthiness evaluation.
-
Exemplos
-
Exemplo 1:
-
Log bruto
ctx1: 123 ctx2: 234 -
Regra de transformação
e_set("op_or", op_or(v("ctx1"),v("ctx2"))) -
Resultado
ctx1: 123 ctx2: 234 op_or: True
-
-
Exemplo 2:
-
Log bruto
ctx1: 0 ctx2: 234 -
Regra de transformação
e_set("op_or", op_or(v("ctx1"),v("ctx2"))) -
Resultado
ctx1: 0 ctx2: 234 op_or: True
-
-
Exemplo 3:
-
Log bruto
ctx1: ETL ctx2: ALIYUN -
Regra de transformação
e_set("op_or", op_or(v("ctx1"),v("ctx2"))) -
Resultado
ctx1: ETL ctx2: ALIYUN op_or: True
-
-
Exemplo 4:
-
Log bruto
ctx1: True ctx2: False -
Regra de transformação
e_set("op_or", op_or(v("ctx1"),v("ctx2"))) -
Resultado
ctx1: True ctx2: False op_or: True
-
-
Exemplo 5:
-
Log bruto
ctx1: 0 ctx2: False -
Regra de transformação
e_set("op_or", op_or(ct_int(v("ctx1")),v("ctx2"))) -
Resultado
ctx1: 0 ctx2: False op_or: False
-
-
Exemplo 6:
-
Log bruto
ctx1: 124 ctx2: True -
Regra de transformação
e_set("op_or", op_or(v("ctx1"),v("ctx2"))) -
Resultado
ctx1: 124 ctx2: True op_or: True
-
-
op_eq
Verifica se a==b. Retorna True ou False.
-
Sintaxe
op_eq(value1, value2) -
Parâmetros
Nome do parâmetro
Tipo de parâmetro
Obrigatório
Descrição
value1
Qualquer
Sim
Valor 1.
value2
O valor deve ser igual a value1.
Sim
Valor 2.
-
Resposta
Retorna True se value1 for igual a value2. Caso contrário, retorna False.
-
Exemplos
-
Exemplo 1:
-
Log bruto
content: hello ctx: hello -
Regra de transformação
e_set("test_eq", op_eq(v("content"),v("ctx"))) -
Resultado
content: hello ctx: hello test_eq: True
-
-
Exemplo 2:
-
Log bruto
content: hello ctx: ctx -
Regra de transformação
e_set("test_eq", op_eq(v("content"),v("ctx"))) -
Resultado
content: hello ctx: ctx test_eq: False
-
-
op_ge
Verifica se a>=b. Retorna True ou False.
-
Sintaxe
op_ge(value1, value2) -
Parâmetros
Nome do parâmetro
Tipo de parâmetro
Obrigatório
Descrição
value1
Qualquer
Sim
Valor 1.
value2
Deve ser do mesmo tipo que value1
Sim
Valor 2.
-
Resposta
Retorna True se value1 for maior ou igual a value2. Caso contrário, retorna False.
-
Exemplos
-
Exemplo 1: Verifica se o valor de apple_price é maior ou igual ao valor de orange_price.
-
Log bruto
apple_price: 16 orange_price: 14 -
Regra de transformação
e_set("test_ge", op_ge(ct_int(v("apple_price")),ct_int(v("orange_price")))) -
Resultado
apple_price: 16 orange_price: 14 test_ge: True
-
-
Exemplo 2: Se o valor de apple_price for menor que o valor de orange_price, a expressão retorna False.
-
Log bruto
apple_price: 12 orange_price: 14 -
Regra de transformação
e_set("test_ge", op_ge(ct_int(v("apple_price")),ct_int(v("orange_price")))) -
Resultado
apple_price: 12 orange_price: 14 test_ge: False
-
-
op_gt
Verifica se a>b. Retorna True ou False.
-
Sintaxe
op_gt(value1, value2) -
Parâmetros
Nome do parâmetro
Tipo de parâmetro
Obrigatório
Descrição
value1
Qualquer
Sim
Valor 1.
value2
O valor deve corresponder a value1.
Sim
Valor 2.
-
Resposta
Retorna True se value1 for maior que value2. Caso contrário, retorna False.
-
Exemplos
-
Exemplo 1: Verifica se o valor de old_number é maior que o valor de young_number.
-
Log bruto
old_number: 16 young_number: 14 -
Regra de transformação
e_set("op_gt",op_gt(ct_int(v("old_number")),ct_int(v("young_number")))) -
Resultado
old_number: 16 young_number: 14 test_ge: True
-
-
Exemplo 2: Verifica se o valor de priority é maior que o valor de price.
-
Log bruto
priority: 14 price: 16 -
Regra de transformação
e_set("op_gt",op_gt(ct_int(v("priority")),ct_int(v("price")))) -
Resultado
priority: 14 price: 16 test_ge: False
-
-
op_le
Verifica se a<=b. Retorna True ou False.
-
Sintaxe
op_le(value1, value2) -
Parâmetros
Nome do parâmetro
Tipo
Obrigatório
Descrição
value1
Qualquer
Sim
Valor 1.
value2
O valor deve ser 1.
Sim
Valor 2.
-
Resposta
Retorna True se value1 for menor ou igual a value2. Caso contrário, retorna False.
-
Exemplos
-
Exemplo 1: Verifica se o valor de priority é menor ou igual ao valor de price.
-
Log bruto
priority: 16 price: 14 -
Regra de transformação
e_set("op_le",op_le(ct_int(v("priority")),ct_int(v("price")))) -
Resultado
priority: 16 price: 14 test_ge: False
-
-
Exemplo 2: Retorna True se priority for menor ou igual a price, ou False caso contrário.
-
Log bruto
priority: 14 price: 16 -
Regra de transformação
e_set("op_le",op_le(ct_int(v("priority")),ct_int(v("price")))) -
Resultado
priority: 14 price: 16 test_ge: True
-
-
op_lt
Verifica se a<b. Retorna True ou False.
-
Sintaxe
op_lt(value1, value2) -
Parâmetros
Parâmetro
Tipo de parâmetro
Obrigatório
Descrição
value1
Qualquer
Sim
Valor 1.
value2
Deve ser do mesmo tipo que value1
Sim
Valor 2.
-
Resposta
Retorna True se value1 for menor que value2. Caso contrário, retorna False.
-
Exemplos
-
Exemplo 1: Retorna True se o valor de priority for menor que o de price, e False caso contrário.
-
Log bruto
priority: 16 price: 14 -
Regra de transformação
e_set("op_lt",op_lt(ct_int(v("priority")),ct_int(v("price")))) -
Resultado
priority: 16 price: 14 op_lt: False
-
-
Exemplo 2: Verifica se o valor de priority é menor que o valor de price.
-
Log bruto
priority: 14 price: 15 -
Regra de transformação
e_set("op_lt",op_lt(ct_int(v("priority")),ct_int(v("price")))) -
Resultado
priority: 14 price: 15 op_lt: True
-
-
op_ne
Verifica se a!=b. Retorna True ou False.
-
Sintaxe
op_ne(value1, value2) -
Parâmetros
Nome do parâmetro
Tipo de parâmetro
Obrigatório
Descrição
value1
Qualquer
Sim
Valor 1.
value2
O valor deve ser igual a value1.
Sim
Valor 2.
-
Resposta
Retorna True se value1 não for igual a value2. Caso contrário, retorna False.
-
Exemplos
-
Exemplo 1:
-
Log bruto
priority: 16 price: 14 -
Regra de transformação
e_set("op_ne",op_ne(ct_int(v("priority")),ct_int(v("price")))) -
Resultado
priority: 16 price: 14 op_ne: True
-
-
Exemplo 2:
-
Log bruto
priority: 14 price: 14 -
Regra de transformação
e_set("op_ne",op_ne(ct_int(v("priority")),ct_int(v("price")))) -
Resultado
priority: 14 price: 14 op_ne: False
-
-
op_len
Calcula o número de caracteres em uma string de texto. Esta função também aceita tuplas, listas e dicionários.
-
Sintaxe
op_len(value) -
Parâmetros
Nome do parâmetro
Tipo de parâmetro
Obrigatório
Descrição
value
String, tupla, lista ou dicionário
Sim
Valor a avaliar.
-
Resposta
Comprimento do campo.
-
Exemplos
-
Log bruto
content: I,love,this,world -
Regra de transformação
e_set("op_len",op_len(v("content"))) -
Resultado
content: I,love,this,world op_len: 17
-
op_in
Verifica se uma string, tupla, lista ou dicionário contém um elemento específico. Retorna True ou False.
-
Sintaxe
op_in(value1, value2) -
Parâmetros
Nome do parâmetro
Tipo de parâmetro
Obrigatório
Descrição
value1
String, tupla, lista ou dicionário
Sim
A string, tupla, lista ou dicionário.
value2
Qualquer
Sim
Elemento a avaliar.
NotaO contêiner (string, tupla, lista ou dicionário) deve ser o primeiro parâmetro, e o elemento deve ser o segundo.
-
Resposta
Retorna True se o contêiner contiver o elemento. Caso contrário, retorna False.
-
Exemplos
-
Log bruto
list: [1, 3, 2, 7, 4, 6] num2: 2 -
Regra de transformação
e_set("op_in",op_in(v("list"),v("num2"))) -
Resultado
list: [1, 3, 2, 7, 4, 6] num2: 2 op_in: True
-
op_not_in
Verifica se uma string, tupla, lista ou dicionário não contém um elemento específico. Retorna True ou False.
-
Sintaxe
op_not_in(value1, value2) -
Parâmetros
Nome do parâmetro
Tipo de parâmetro
Obrigatório
Descrição
value1
String, tupla, lista ou dicionário
Sim
A string, tupla, lista ou dicionário.
value2
Qualquer
Sim
Elemento a avaliar.
NotaO contêiner (string, tupla, lista ou dicionário) deve ser o primeiro parâmetro, e o elemento deve ser o segundo.
-
Resposta
Retorna True se o contêiner não contiver o elemento. Caso contrário, retorna False.
-
Exemplos
-
Log bruto
list: [1, 3, 2, 7, 4, 6] num2: 12 -
Regra de transformação
e_set("op_not_in",op_not_in(v("list"),v("num2"))) -
Resultado
list: [1, 3, 2, 7, 4, 6] num2: 12 op_in: True
-
op_slice
Fatia uma string, array ou tupla especificada.
-
Sintaxe
op_slice(value, start, end=None, step=None) -
Parâmetros
Nome do parâmetro
Tipo de parâmetro
Obrigatório
Descrição
value
String
Sim
Valor a fatiar.
start
Número
Não
Posição inicial da fatia. Valor padrão: 0.
end
Número
Não
Posição final da fatia. O caractere nesta posição não é incluído. O valor padrão é o final da string.
step
Número
Não
Comprimento de cada captura.
-
Resposta
String extraída.
-
Exemplos
-
Exemplo 1: Fatia o campo 'word' em toda a sua extensão com tamanho de passo 2.
-
Log bruto
word: I,love,this,world -
Regra de transformação
e_set("op_slice",op_slice(v("word"),2)) -
Resultado
word: I,love,this,world op_slice: I,
-
-
Exemplo 2: Fatia o campo word da posição 2 até a posição 9 com tamanho de passo 1.
-
Log bruto
word: I,love,this,world -
Regra de transformação
e_set("op_slice",op_slice(v("word"),2,9,1)) -
Resultado
word: I,love,this,world op_slice: love,th
-
-
op_index
Retorna um elemento de uma string, array ou tupla com base em seu índice.
-
Sintaxe
op_index(value, index) -
Parâmetros
Nome do parâmetro
Tipo de parâmetro
Obrigatório
Descrição
value
String
Sim
A string, array ou tupla.
index
Número
Não
Índice na string, array ou tupla de entrada.
-
Resposta
Elemento no índice especificado.
-
Exemplos
-
Exemplo 1: Retorna o elemento no índice 0 do campo word.
-
Log bruto
word: I,love,this,world -
Regra de transformação
e_set("op_index",op_index(v("word"),0)) -
Resultado
word: I,love,this,world op_slice: I
-
-
Exemplo 2: Retorna o elemento no índice 3 do campo word.
-
Log bruto
word: I,love,this,world -
Regra de transformação
e_set("op_index",op_index(v("word"),3)) -
Resultado
word: I,love,this,world op_index: o
-
-
op_add
Adiciona múltiplos números ou concatena múltiplas strings.
-
Sintaxe
op_add(value1, value2, ...) -
Parâmetros
Nome do parâmetro
Tipo de parâmetro
Obrigatório
Descrição
value1
String, tupla, lista ou dicionário
Sim
Valor 1.
value2
O valor deve corresponder a value1.
Sim
Valor 2.
-
Resposta
Resultado da soma.
-
Exemplos
-
Exemplo 1: Calcula a soma de price_orange e price_apple.
-
Log bruto
price_orange: 2 price_apple: 13 -
Regra de transformação
e_set("account",op_add(ct_int(v("price_orange")),ct_int(v("price_apple")))) -
Resultado
price_orange: 2 price_apple: 13 account: 15
-
-
Exemplo 2: Calcula a soma de bytes_in e bytes_out.
-
Log bruto
bytes_in: 214 bytes_out: 123 -
Regra de transformação
e_set("total_bytes", op_add(ct_int(v("bytes_in")), ct_int(v("bytes_out")))) -
Resultado
bytes_in: 214 bytes_out: 123 total_bytes: 337
-
-
Exemplo 3: Adiciona um prefixo HTTPS a uma URL.
-
Log bruto
host: aliyun.com -
Regra de transformação
e_set("website", op_add("https://", v("host"))) -
Resultado
host: aliyun.com website: https://aliyun.com
-
-
op_max
Retorna o valor máximo entre múltiplos campos numéricos ou expressões.
-
Sintaxe
op_max(value1, value2, ...) -
Parâmetros
Nome do parâmetro
Tipo de parâmetro
Obrigatório
Descrição
value1
Qualquer
Sim
Valor 1.
value2
O valor deve corresponder a value1.
Sim
Valor 2.
-
Resposta
Valor máximo entre os parâmetros.
-
Exemplos
-
Log bruto
price_orange: 2 priority_apple: 13 -
Regra de transformação
e_set("max_price", op_max(ct_int(v("price_orange")),ct_int(v("priority_apple")))) -
Resultado
price_orange: 2 priority_apple: 13 max_price: 13
-
op_min
Retorna o valor mínimo entre múltiplos campos numéricos ou expressões.
-
Sintaxe
op_min(value1, value2, ...) -
Parâmetros
Nome do parâmetro
Tipo
Obrigatório
Descrição
value1
Qualquer
Sim
Valor 1.
value2
Deve ser do mesmo tipo que value1
Sim
Valor 2.
-
Resposta
Valor mínimo entre os parâmetros.
-
Exemplos
-
Log bruto
price_orange: 2 price_apple: 13 -
Regra de transformação
e_set("op_min", op_min(ct_int(v("price_orange")),ct_int(v("price_apple")))) -
Resultado
price_orange: 2 price_apple: 13 op_min: 2
-