Tipos de dados
Tipos de cast
O operador rename aceita um terceiro parâmetro opcional para converter o valor para o tipo indicado.
| Tipo | Descrição | Entrada | Resultado |
|---|---|---|---|
string |
Texto | 123, true |
"123", "true" |
number |
Decimal | "3.14", 42 |
3.14, 42.0 |
integer |
Inteiro | "42", 3.9 |
42, 3 |
boolean |
Booleano | 1, "false" |
true, false |
array |
Array | "a,b,c" |
["a","b","c"] |
Se o valor for None ou a string "null", todos os tipos retornam null sem erro.
string
Converte o valor para texto com str(). Se o valor for um booleano Python, converte em minúsculas: True → "true", False → "false".
number
Converte para float com float().
[{"var": "price"}, "precio", "number"]
integer
Converte para int com int(). Trunca decimais sem arredondar.
[{"var": "qty"}, "cantidad", "integer"]
boolean
- Se o valor for a string
"false"(insensível a maiúsculas) →false - Qualquer outro valor truthy →
true
[{"var": "active"}, "activo", "boolean"]
array
Detecta separadores automaticamente na seguinte ordem de prioridade: ;, ,, ;, ,, ;, ,.
Se nenhum separador for encontrado, envolve o valor em um array: "solo" → ["solo"].
[{"var": "tags"}, "etiquetas", "array"]
TypeResponse
Toda operação ETL retorna um objeto TypeResponse com a seguinte estrutura:
| Campo | Tipo | Descrição |
|---|---|---|
data |
dict \| list |
Dados resultantes da operação |
total |
int |
Número de registros em data |
success |
bool |
true se a operação foi bem-sucedida |
message |
str \| int |
Código de status HTTP (200, 400, etc.) |
Resposta bem-sucedida
{
"data": [
{"id_pedido": "123", "total": 99.99, "cliente": "Empresa ABC"}
],
"total": 1,
"success": true,
"message": 200
}
Resposta com erro de transformação
Quando uma regra falha, success é false, message é 400 e data inclui o detalhe do erro:
{
"data": {
"error_message": "Error applying rule: ...",
"input_data": [{"orderId": "123"}],
"rules": {"rename": [...]}
},
"total": 0,
"success": false,
"message": 400
}