Este tema describe la sintaxis, los parámetros y los ejemplos de las funciones de operador.
Funciones
Para usar un valor negativo, utilice la función op_neg(positive value). Por ejemplo, para representar -1, use op_neg(1).
Tipo | Función | Descripción |
Funciones condicionales | Devuelve el valor de una expresión según una condición. | |
Devuelve el valor de la primera expresión que no es None. | ||
Devuelve None si la Expresión 1 es igual a la Expresión 2. De lo contrario, devuelve el valor de la Expresión 1. | ||
Ejecuta una operación AND lógica. Devuelve True si todos los valores de los parámetros son verdaderos. | ||
Ejecuta una operación NOT lógica. Devuelve el valor booleano inverso del parámetro. | ||
Ejecuta una operación OR lógica. Devuelve True si algún valor de parámetro es verdadero. Devuelve False si todos los valores de los parámetros son falsos. | ||
Comparación | Comprueba si Los tipos de a y b deben ser iguales, como cadena, número o lista. | |
Comprueba si Los tipos de a y b deben ser iguales, como cadena, número o lista. | ||
Comprueba si Los tipos de a y b deben ser iguales, como cadena, número o lista. | ||
Comprueba si Los tipos de a y b deben ser iguales, como cadena, número o lista. | ||
Comprueba si Los tipos de a y b deben ser iguales, como cadena, número o lista. | ||
Comprueba si Los tipos de a y b deben ser iguales, como cadena, número o lista. | ||
Determinación del contenedor | Calcula el número de caracteres en una cadena de texto. Esta función se puede usar con cadenas y otras expresiones que devuelven una tupla, una lista o un diccionario. | |
Comprueba si una cadena, tupla, lista o diccionario contiene un elemento específico. Devuelve True o False. | ||
Comprueba si una cadena, tupla, lista o diccionario no contiene un elemento específico. Devuelve True o False. | ||
Segmenta una cadena, matriz o tupla especificada. | ||
Devuelve un elemento de una cadena, matriz o tupla según su índice. | ||
Funciones multivalor de propósito general | Calcula la suma de varios valores, como cadenas o números. | |
Devuelve el valor máximo de varios campos numéricos o expresiones. | ||
Devuelve el valor mínimo de varios campos numéricos o expresiones. |
op_if
Devuelve el valor de una expresión según una condición.
-
Sintaxis
op_if(condition, expression1, expression2) -
Parámetros
Parámetro
Tipo de parámetro
Obligatorio
Descripción
condition
Any
Sí
La condición que se va a evaluar. Si la condición no es un valor booleano, se evalúa su veracidad. Para obtener más información, consulte Truthiness evaluation.
expression1
Any
Sí
El valor que se devuelve si la condición es True.
expression2
Any
Sí
El valor que se devuelve si la condición es False.
-
Respuesta
El valor de la expresión correspondiente.
-
Ejemplos
-
Ejemplo 1: Si el campo
contentse evalúa como True, el valor de expression1 se asigna al campotest_if.-
Registro sin procesar
content: hello -
Regla de transformación
e_set("test_if", op_if(v("content"),"still origin content","replace this")) -
Resultado
content: hello test_if: still origin content
-
-
Ejemplo 2: Si el campo
contentse evalúa como False, el valor de expression2 se asigna al campotest_if.-
Registro sin procesar
content: 0 -
Regla de transformación
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
Devuelve el valor de la primera expresión que no es None.
-
Sintaxis
op_ifnull(expression1, expression2, ....) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
expression1
Any
Sí
Expresión 1.
expression2
Any
Sí
Expresión 2.
-
Respuesta
El valor de la primera expresión que no es None.
-
Ejemplos
-
Ejemplo 1:
-
Registro sin procesar
test_if: hello escape_name: Etl -
Regla de transformación
e_set("test_ifnull", op_ifnull(v("escape_name"),v("test_if"))) -
Resultado
test_if: hello escape_name: Etl test_ifnull: Etl
-
-
Ejemplo 2:
-
Registro sin procesar
test_if: hello escape_name: Etl -
Regla de transformación
e_set("test_ifnull", op_ifnull(v("test_if"),v("escape_name"))) -
Resultado
test_if: hello escape_name: Etl test_ifnull: hello
-
-
op_coalesce
Devuelve el valor de la primera expresión que no es None.
Los parámetros y ejemplos de esta función son similares a los de la función op_ifnull. Para obtener más información, consulte op_ifnull.
op_nullif
Devuelve None si la Expresión 1 es igual a la Expresión 2. De lo contrario, devuelve el valor de la Expresión 1.
-
Sintaxis
op_nullif(expression1, expression2) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
expression1
Any
Sí
Expresión 1.
expression2
Any
Sí
Expresión 2.
-
Respuesta
Devuelve None si la Expresión 1 y la Expresión 2 son iguales. De lo contrario, devuelve el valor de la Expresión 1.
-
Ejemplos
-
Ejemplo 1:
-
Registro sin procesar
content: hello escape_name: Etl -
Regla de transformación
e_set("test_ifnull", op_nullif(v("content"),v("escape_name"))) -
Resultado
content: hello escape_name: Etl test_nullif: hello
-
-
Ejemplo 2:
-
Registro sin procesar
content: hello escape_name: hello -
Regla de transformación
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
Ejecuta una operación AND lógica en valores de cualquier tipo. Devuelve True si todos los valores de los parámetros son verdaderos.
-
Sintaxis
op_and(value1, value2, ...) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
value1
Any
Sí
Valor 1.
value2
Any
Sí
Valor 2.
-
Respuesta
Devuelve True si todos los valores de los parámetros son verdaderos.
Los valores de cualquier tipo se evalúan por su veracidad. Para obtener más información, consulte Truthiness evaluation.
-
Ejemplos
-
Ejemplo 1:
-
Registro sin procesar
number1: 123 number2: 234 -
Regla de transformación
e_set("op_and", op_and(v("number1"),v("number2"))) -
Resultado
number1: 123 number2: 234 op_and: True
-
-
Ejemplo 2:
-
Registro sin procesar
number1: 0 number2: 234 -
Regla de transformación
e_set("op_and", op_and(v("number1"),v("number2"))) -
Resultado
number1: 0 number2: 234 op_and: True
-
-
Ejemplo 3:
-
Registro sin procesar
ctx1: False ctx2: 234 -
Regla de transformación
e_set("op_and", op_and(v("ctx1"),v("ctx2"))) -
Resultado
ctx1: False ctx2: 234 op_and: False
-
-
Ejemplo 4:
-
Registro sin procesar
ctx1: True ctx2: 234 -
Regla de transformación
e_set("op_and", op_and(v("ctx1"),v("ctx2"))) -
Resultado
ctx1: True ctx2: 234 op_and: True
-
-
op_not
Ejecuta una operación NOT lógica en un valor de cualquier tipo. Devuelve el valor booleano inverso de la expresión.
-
Sintaxis
op_not(expression) -
Parámetros
Parámetro
Tipo de parámetro
Obligatorio
Descripción
expression
Any
Sí
La expresión.
-
Respuesta
El valor booleano inverso de la expresión.
Los valores de cualquier tipo se evalúan por su veracidad. Para obtener más información, consulte Truthiness evaluation.
-
Ejemplos
-
Ejemplo 1:
-
Registro sin procesar
ctx1: True -
Regla de transformación
e_set("op_not", op_not(v("ctx1"))) -
Resultado
ctx1: True op_not: False
-
-
Ejemplo 2:
-
Registro sin procesar
ctx1: 345 -
Regla de transformación
e_set("op_not", op_not(v("ctx1"))) -
Resultado
ctx1: 345 op_not: False
-
-
Ejemplo 3:
-
Registro sin procesar
ctx1: 0 -
Regla de transformación
e_set("op_not", op_not(ct_int(v("ctx1")))) -
Resultado
ctx1: 0 op_not: True
-
-
Ejemplo 4:
-
Registro sin procesar
ctx1: ETL -
Regla de transformación
e_set("op_not", op_not(v("ctx1"))) -
Resultado
ctx1: ETL op_not: False
-
-
Ejemplo 5:
-
Registro sin procesar
ctx1: None -
Regla de transformación
e_set("op_not", op_not(v("ctx1"))) -
Resultado
ctx1: None op_not: True
-
-
op_or
Ejecuta una operación OR lógica en valores de cualquier tipo. Devuelve True si alguna expresión es verdadera. Devuelve False si todas las expresiones son falsas.
-
Sintaxis
op_or(expression1, expression2, ...) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
expression1
Any
Sí
Expresión 1.
expression2
Any
Sí
Expresión 2.
-
Respuesta
Devuelve True si alguna expresión es verdadera. Devuelve False si todas las expresiones son falsas.
Los valores de cualquier tipo se evalúan por su veracidad. Para obtener más información, consulte Truthiness evaluation.
-
Ejemplos
-
Ejemplo 1:
-
Registro sin procesar
ctx1: 123 ctx2: 234 -
Regla de transformación
e_set("op_or", op_or(v("ctx1"),v("ctx2"))) -
Resultado
ctx1: 123 ctx2: 234 op_or: True
-
-
Ejemplo 2:
-
Registro sin procesar
ctx1: 0 ctx2: 234 -
Regla de transformación
e_set("op_or", op_or(v("ctx1"),v("ctx2"))) -
Resultado
ctx1: 0 ctx2: 234 op_or: True
-
-
Ejemplo 3:
-
Registro sin procesar
ctx1: ETL ctx2: ALIYUN -
Regla de transformación
e_set("op_or", op_or(v("ctx1"),v("ctx2"))) -
Resultado
ctx1: ETL ctx2: ALIYUN op_or: True
-
-
Ejemplo 4:
-
Registro sin procesar
ctx1: True ctx2: False -
Regla de transformación
e_set("op_or", op_or(v("ctx1"),v("ctx2"))) -
Resultado
ctx1: True ctx2: False op_or: True
-
-
Ejemplo 5:
-
Registro sin procesar
ctx1: 0 ctx2: False -
Regla de transformación
e_set("op_or", op_or(ct_int(v("ctx1")),v("ctx2"))) -
Resultado
ctx1: 0 ctx2: False op_or: False
-
-
Ejemplo 6:
-
Registro sin procesar
ctx1: 124 ctx2: True -
Regla de transformación
e_set("op_or", op_or(v("ctx1"),v("ctx2"))) -
Resultado
ctx1: 124 ctx2: True op_or: True
-
-
op_eq
Comprueba si a==b. Devuelve True o False.
-
Sintaxis
op_eq(value1, value2) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
value1
Any
Sí
Valor 1.
value2
El valor debe ser igual que value1.
Sí
Valor 2.
-
Respuesta
Devuelve True si value1 es igual a value2. De lo contrario, devuelve False.
-
Ejemplos
-
Ejemplo 1:
-
Registro sin procesar
content: hello ctx: hello -
Regla de transformación
e_set("test_eq", op_eq(v("content"),v("ctx"))) -
Resultado
content: hello ctx: hello test_eq: True
-
-
Ejemplo 2:
-
Registro sin procesar
content: hello ctx: ctx -
Regla de transformación
e_set("test_eq", op_eq(v("content"),v("ctx"))) -
Resultado
content: hello ctx: ctx test_eq: False
-
-
op_ge
Comprueba si a>=b. Devuelve True o False.
-
Sintaxis
op_ge(value1, value2) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
value1
Any
Sí
Valor 1.
value2
Debe ser del mismo tipo que value1
Sí
Valor 2.
-
Respuesta
Devuelve True si value1 es mayor o igual que value2. De lo contrario, devuelve False.
-
Ejemplos
-
Ejemplo 1: Comprueba si el valor de apple_price es mayor o igual que el valor de orange_price.
-
Registro sin procesar
apple_price: 16 orange_price: 14 -
Regla de transformación
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
-
-
Ejemplo 2: Si el valor de apple_price es menor que el valor de orange_price, la expresión devuelve False.
-
Registro sin procesar
apple_price: 12 orange_price: 14 -
Regla de transformación
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
Comprueba si a>b. Devuelve True o False.
-
Sintaxis
op_gt(value1, value2) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
value1
Any
Sí
Valor 1.
value2
El valor debe coincidir con value1.
Sí
Valor 2.
-
Respuesta
Devuelve True si value1 es mayor que value2. De lo contrario, devuelve False.
-
Ejemplos
-
Ejemplo 1: Comprueba si el valor de old_number es mayor que el valor de young_number.
-
Registro sin procesar
old_number: 16 young_number: 14 -
Regla de transformación
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
-
-
Ejemplo 2: Comprueba si el valor de priority es mayor que el valor de price.
-
Registro sin procesar
priority: 14 price: 16 -
Regla de transformación
e_set("op_gt",op_gt(ct_int(v("priority")),ct_int(v("price")))) -
Resultado
priority: 14 price: 16 test_ge: False
-
-
op_le
Comprueba si a<=b. Devuelve True o False.
-
Sintaxis
op_le(value1, value2) -
Parámetros
Nombre del parámetro
Tipo
Obligatorio
Descripción
value1
Any
Sí
Valor 1.
value2
El valor debe ser 1.
Sí
Valor 2.
-
Respuesta
Devuelve True si value1 es menor o igual que value2. De lo contrario, devuelve False.
-
Ejemplos
-
Ejemplo 1: Comprueba si el valor de priority es menor o igual que el valor de price.
-
Registro sin procesar
priority: 16 price: 14 -
Regla de transformación
e_set("op_le",op_le(ct_int(v("priority")),ct_int(v("price")))) -
Resultado
priority: 16 price: 14 test_ge: False
-
-
Ejemplo 2: Devuelve True si priority es menor o igual que price, o False en caso contrario.
-
Registro sin procesar
priority: 14 price: 16 -
Regla de transformación
e_set("op_le",op_le(ct_int(v("priority")),ct_int(v("price")))) -
Resultado
priority: 14 price: 16 test_ge: True
-
-
op_lt
Comprueba si a<b. Devuelve True o False.
-
Sintaxis
op_lt(value1, value2) -
Parámetros
Parámetro
Tipo de parámetro
Obligatorio
Descripción
value1
Any
Sí
Valor 1.
value2
Debe ser del mismo tipo que value1
Sí
Valor 2.
-
Respuesta
Devuelve True si value1 es menor que value2. De lo contrario, devuelve False.
-
Ejemplos
-
Ejemplo 1: Devuelve True si el valor de priority es menor que el de price, y False en caso contrario.
-
Registro sin procesar
priority: 16 price: 14 -
Regla de transformación
e_set("op_lt",op_lt(ct_int(v("priority")),ct_int(v("price")))) -
Resultado
priority: 16 price: 14 op_lt: False
-
-
Ejemplo 2: Comprueba si el valor de priority es menor que el valor de price.
-
Registro sin procesar
priority: 14 price: 15 -
Regla de transformación
e_set("op_lt",op_lt(ct_int(v("priority")),ct_int(v("price")))) -
Resultado
priority: 14 price: 15 op_lt: True
-
-
op_ne
Comprueba si a!=b. Devuelve True o False.
-
Sintaxis
op_ne(value1, value2) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
value1
Cualquiera
Sí
Valor 1.
value2
Debe ser igual que value1.
Sí
Valor 2.
-
Respuesta
Devuelve True si value1 no es igual a value2. En caso contrario, devuelve False.
-
Ejemplos
-
Ejemplo 1:
-
Registro sin procesar
priority: 16 price: 14 -
Regla de transformación
e_set("op_ne",op_ne(ct_int(v("priority")),ct_int(v("price")))) -
Resultado
priority: 16 price: 14 op_ne: True
-
-
Ejemplo 2:
-
Registro sin procesar
priority: 14 price: 14 -
Regla de transformación
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 la cantidad de caracteres en una cadena de texto. Esta función también se puede usar con tuplas, listas y diccionarios.
-
Sintaxis
op_len(value) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
value
Cadena, tupla, lista o diccionario
Sí
El valor que se va a evaluar.
-
Respuesta
La longitud del campo.
-
Ejemplos
-
Registro sin procesar
content: I,love,this,world -
Regla de transformación
e_set("op_len",op_len(v("content"))) -
Resultado
content: I,love,this,world op_len: 17
-
op_in
Comprueba si una cadena, tupla, lista o diccionario contiene un elemento específico. Devuelve True o False.
-
Sintaxis
op_in(value1, value2) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
value1
Cadena, tupla, lista o diccionario
Sí
La cadena, tupla, lista o diccionario.
value2
Cualquiera
Sí
El elemento que se va a evaluar.
NotaEl contenedor (cadena, tupla, lista o diccionario) debe ser el primer parámetro, y el elemento debe ser el segundo.
-
Respuesta
Devuelve True si el contenedor incluye el elemento. En caso contrario, devuelve False.
-
Ejemplos
-
Registro sin procesar
list: [1, 3, 2, 7, 4, 6] num2: 2 -
Regla de transformación
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
Comprueba si una cadena, tupla, lista o diccionario no contiene un elemento específico. Devuelve True o False.
-
Sintaxis
op_not_in(value1, value2) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
value1
Cadena, tupla, lista o diccionario
Sí
La cadena, tupla, lista o diccionario.
value2
Cualquiera
Sí
El elemento que se va a evaluar.
NotaEl contenedor (cadena, tupla, lista o diccionario) debe ser el primer parámetro, y el elemento debe ser el segundo.
-
Respuesta
Devuelve True si el contenedor no incluye el elemento. En caso contrario, devuelve False.
-
Ejemplos
-
Registro sin procesar
list: [1, 3, 2, 7, 4, 6] num2: 12 -
Regla de transformación
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
Divide una cadena, matriz o tupla especificada.
-
Sintaxis
op_slice(value, start, end=None, step=None) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
value
Cadena
Sí
El valor que se va a dividir.
start
Número
No
La posición inicial de la división. Valor predeterminado: 0.
end
Número
No
La posición final de la división. El carácter en esta posición no se incluye. El valor predeterminado es el final de la cadena.
step
Número
No
Longitud de cada captura.
-
Respuesta
El valor devuelto es la cadena extraída.
-
Ejemplos
-
Ejemplo 1: divida el campo 'word' en toda su longitud con un tamaño de paso de 2.
-
Registro sin procesar
word: I,love,this,world -
Regla de transformación
e_set("op_slice",op_slice(v("word"),2)) -
Resultado
word: I,love,this,world op_slice: I,
-
-
Ejemplo 2: divida el campo word desde la posición 2 hasta la posición 9 con un tamaño de paso de 1.
-
Registro sin procesar
word: I,love,this,world -
Regla de transformación
e_set("op_slice",op_slice(v("word"),2,9,1)) -
Resultado
word: I,love,this,world op_slice: love,th
-
-
op_index
Devuelve un elemento de una cadena, matriz o tupla según su índice.
-
Sintaxis
op_index(value, index) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
value
Cadena
Sí
La cadena, matriz o tupla.
index
Número
No
El índice en la cadena, matriz o tupla de entrada.
-
Respuesta
El elemento en el índice especificado.
-
Ejemplos
-
Ejemplo 1: devuelva el elemento en el índice 0 del campo word.
-
Registro sin procesar
word: I,love,this,world -
Regla de transformación
e_set("op_index",op_index(v("word"),0)) -
Resultado
word: I,love,this,world op_slice: I
-
-
Ejemplo 2: devuelva el elemento en el índice 3 del campo word.
-
Registro sin procesar
word: I,love,this,world -
Regla de transformación
e_set("op_index",op_index(v("word"),3)) -
Resultado
word: I,love,this,world op_index: o
-
-
op_add
Suma varios números o concatena varias cadenas.
-
Sintaxis
op_add(value1, value2, ...) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
value1
Cadena, tupla, lista o diccionario
Sí
Valor 1.
value2
Debe coincidir con value1.
Sí
Valor 2.
-
Respuesta
Devuelve el resultado de la suma.
-
Ejemplos
-
Ejemplo 1: calcule la suma de price_orange y price_apple.
-
Registro sin procesar
price_orange: 2 price_apple: 13 -
Regla de transformación
e_set("account",op_add(ct_int(v("price_orange")),ct_int(v("price_apple")))) -
Resultado
price_orange: 2 price_apple: 13 account: 15
-
-
Ejemplo 2: calcule la suma de bytes_in y bytes_out.
-
Registro sin procesar
bytes_in: 214 bytes_out: 123 -
Regla de transformación
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
-
-
Ejemplo 3: agregue un prefijo HTTPS a una URL.
-
Registro sin procesar
host: aliyun.com -
Regla de transformación
e_set("website", op_add("https://", v("host"))) -
Resultado
host: aliyun.com website: https://aliyun.com
-
-
op_max
Devuelve el valor máximo entre varios campos o expresiones numéricas.
-
Sintaxis
op_max(value1, value2, ...) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
value1
Cualquiera
Sí
Valor 1.
value2
Debe coincidir con value1.
Sí
Valor 2.
-
Respuesta
El valor máximo entre los parámetros.
-
Ejemplos
-
Registro sin procesar
price_orange: 2 priority_apple: 13 -
Regla de transformación
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
Devuelve el valor mínimo entre varios campos o expresiones numéricas.
-
Sintaxis
op_min(value1, value2, ...) -
Parámetros
Nombre del parámetro
Tipo
Obligatorio
Descripción
value1
Cualquiera
Sí
Valor 1.
value2
Debe ser del mismo tipo que value1
Sí
Valor 2.
-
Respuesta
El valor mínimo entre los parámetros.
-
Ejemplos
-
Registro sin procesar
price_orange: 2 price_apple: 13 -
Regla de transformación
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
-