Tipos de datos
Tipos de cast
El operador rename acepta un tercer parámetro opcional para convertir el valor al tipo indicado.
| Tipo | Descripción | Entrada | Resultado |
|---|---|---|---|
string |
Texto | 123, true |
"123", "true" |
number |
Decimal | "3.14", 42 |
3.14, 42.0 |
integer |
Entero | "42", 3.9 |
42, 3 |
boolean |
Booleano | 1, "false" |
true, false |
array |
Array | "a,b,c" |
["a","b","c"] |
Si el valor es None o el string "null", todos los tipos retornan null sin error.
string
Convierte el valor a texto con str(). Si el valor es un booleano Python, lo convierte en minúsculas: True → "true", False → "false".
number
Convierte a float con float().
[{"var": "price"}, "precio", "number"]
integer
Convierte a int con int(). Trunca decimales sin redondear.
[{"var": "qty"}, "cantidad", "integer"]
boolean
- Si el valor es el string
"false"(insensible a mayúsculas) →false - Cualquier otro valor truthy →
true
[{"var": "active"}, "activo", "boolean"]
array
Detecta separadores automáticamente en el siguiente orden de prioridad: ;, ,, ;, ,, ;, ,.
Si no encuentra separador, envuelve el valor en un array: "solo" → ["solo"].
[{"var": "tags"}, "etiquetas", "array"]
TypeResponse
Toda operación ETL retorna un objeto TypeResponse con la siguiente estructura:
| Campo | Tipo | Descripción |
|---|---|---|
data |
dict \| list |
Datos resultantes de la operación |
total |
int |
Número de registros en data |
success |
bool |
true si la operación fue exitosa |
message |
str \| int |
Código de estado HTTP (200, 400, etc.) |
Respuesta exitosa
{
"data": [
{"id_pedido": "123", "total": 99.99, "cliente": "Empresa ABC"}
],
"total": 1,
"success": true,
"message": 200
}
Respuesta con error de transformación
Cuando una regla falla, success es false, message es 400 y data incluye el detalle del error:
{
"data": {
"error_message": "Error applying rule: ...",
"input_data": [{"orderId": "123"}],
"rules": {"rename": [...]}
},
"total": 0,
"success": false,
"message": 400
}