Tipos de dados Avro
Use a ferramenta Dados de Entrada para ler arquivos Avro não compactados e compactados por deflate e use a ferramenta Dados de Saída para gravar arquivos Avro.
Entrada
Apenas a compactação do tipo "deflate" é compatível.
A maioria dos 14 tipos de dados Avro nativos são compatíveis. O mapeamento de tipos na importação é o seguinte:
String: UTF-8 convertido para V_WString (UTF-16)
Bytes: mantido como Blob (use a ferramenta Blob para converter conforme necessário)
Int: mantido como Int32
Longo: mantido como Int64
Float: mantido como Float
Double: mantido como Double
Booleano: mantido como Bool
Nulo: não compatível
Enum: convertido para String Equivalent
União: o Alteryx tem suporte para uniões com dois subtipos. Ambos os subtipos devem ser equivalentes (por exemplo, ambos "int" ou ambos "double") ou um deles deve ser nulo.
O tipo de campo do Alteryx é o tipo do ramo não nulo (ou ambos os ramos, no caso de não serem nulos).
Se o ramo não nulo está ativo, o campo do Alteryx contém esse valor.
Se o ramo nulo está ativo, o campo do Alteryx é definido como nulo.
Uniões inválidas são importadas como JSON em uma V_WString (use a ferramenta Análise JSON para converter conforme necessário). Por exemplo, uma união com um "int" como seu ramo ativo pode ser representada como "{"int":123}".
Fixo: mantido como Blob (use a ferramenta Blob para converter conforme necessário)
Esses tipos Avro não são compatíveis nativamente, mas são importados como JSON em uma cadeia de caracteres (usar a ferramenta Análise JSON para converter conforme necessário):
Registro: por exemplo, "{"SubField1":7,"SubField2":"Field2"} para um registro contendo campos "int" e "string".
Array: por exemplo, "[1,2,3,4,5]" para uma matriz de "ints".
Mapa: por exemplo, "{"Key1":Value1,"Key2":Value2}" para um mapa de "string" para "double".
Saída
Ao gravar arquivos Avro, há duas opções:
Habilitar compactação (deflate): habilitar a compactação aumenta o tempo de saída, mas, com arquivos maiores, também reduz o tempo de rede. A compactação compatível usa o algoritmo DEFLATE (essencialmente gzip) e deve obter suporte nativamente de outras ferramentas capazes de operar no Avro, como a Hive.
Valores nulos com suporte: selecionar esta opção grava os campos "_all_" como uniões com um ramo nulo e um ramo de valor. Se o valor no Alteryx for nulo, a união Avro de saída terá seu ramo nulo selecionado; caso contrário, terá seu ramo de valor selecionado.
Se esta opção não estiver selecionada, todos os campos de saída serão gravados como seus tipos Avro nativos (não união). Os campos no Alteryx que são nulos são gravados como seu valor padrão (por exemplo, o número 0 para um int32 e uma cadeia de caracteres vazia para um campo de cadeia de caracteres).
Considere usar uma ferramenta Fórmula para tratar valores nulos com um valor "conhecido" para que eles possam ser manipulados no Hadoop.
O mapeamento de tipos de Alteryx para Avro é o seguinte:
Bool: mantido como booleano
Byte, Int16, Int32: Int mantido (32 bits)
Int64: mantido como longo (64 bits)
Float: mantido como Float
DateTime como data, hora e data/hora
Double: mantido como Double
FixedDecimal: convertido para Double
String, V_String, Date, Time, DateTime: mantidos como String (UTF-8)
WString, V_WString: convertidos para String (UTF-8)
Blob, SpatialBlob: mantidos como bytes
AVRO file Read/Write From Alteryx Designer
Earlier, in the .avro file, the DateTime field was represented solely using the logical type timestamp-millis (i.e., in UTC). Now, a Time Zone dropdown has been introduced in both the Read and Write options, offering the values No Time Zone and Local Time Zone.
No Time Zone: The DateTime is treated as
timestamp-millisin Avro. This ensures backward compatibility, as no time zone conversion occurs during Avro read or write operations.Local Time Zone: DateTime values are converted. During Avro write, the conversion is based on the Default Time Zone configured in the Runtime settings.
During Avro read, DateTime conversion is performed based on the stored logicalType and the Default Time Zone specified in the Runtime settings. For example: If the local time zone is IST (UTC +05:30) and the Default Time Zone is CEST (UTC +02:00), a DateTime value of 2026-03-25 22:00:00 will be converted during .avro write. Since IST is 3 hours and 30 minutes ahead of CEST, the value will be adjusted to 2026-03-25 18:30:00 in CEST.
Below is a summary of DateTime conversions during Avro write and read operations. In the examples, the Local Time Zone is IST. The first four columns represent the .avro Write scenario, while the next three columns represent the Read scenario for the same Avro data.
Incoming Time | Workflow Runtime TZ | AVRO TZ | AVRO Write | AVRO TZ | Workflow Runtime TZ | Alteryx AVRO Read |
|---|---|---|---|---|---|---|
2026, 2, 11, 22:00:00 | Local | NTZ | 2026, 2, 11, 22:00:00 (Timestamp-millis) | NTZ | Local | 2026, 2, 11, 22:00:00 |
NTZ | UTC | 2026, 2, 11, 22:00:00 | ||||
LTZ | UTC | 2026, 2, 11, 22:00:00 | ||||
LTZ | Local | 2026, 2, 12, 03:30:00 | ||||
2026, 2, 11, 22:00:00 | Local | LTZ | 2026, 2, 11, 22:00:00 (Local timestamp-millis) | NTZ | Local | 2026, 2, 11, 22:00:00 |
LTZ | Local | 2026, 2, 11, 22:00:00 | ||||
NTZ | UTC | 2026, 2, 11, 22:00:00 | ||||
LTZ | UTC | 2026, 2, 11, 16:30:00 | ||||
2026, 2, 11, 22:00:00 | UTC | NTZ | 2026, 2, 11, 22:00:00 (Timestamp-millis) | LTZ | UTC | 2026, 2, 11, 22:00:00 |
UTC | 2026, 2, 11, 22:00:00 | |||||
Local | 2026, 2, 11, 22:00:00 | |||||
Local | 2026, 2, 12, 03:30:00 | |||||
2026, 2, 11, 22:00:00 | UTC | LTZ | 2026, 2, 12, 03:30:00 (Local--timestamp-millis) | LTZ | Local | 2026, 2, 12, 03:30:00 |
NTZ | Local | 2026, 2, 12, 03:30:00 | ||||
NTZ | UTC | 2026, 2, 12, 03:30:00 | ||||
LTZ | UTC | 2026, 2, 11, 22:00:00 | ||||
2026, 2, 11, 22:00:00 | CEST | LTZ | 2026, 2, 12, 2: 30:00 (Local-timestamp-millis) | LTZ | Local | 2026-02-12 02:30:00 |
2026-02-11 21:00:00 | ||||||
2026-02-12 02:30:00 | ||||||
2026-02-12 02:30:00 | ||||||
2026, 2, 11, 22:00:00 | CEST | NTZ | 2026, 2, 11, 22:00:00 (Timestamp-millis) | LTZ | Local | 2026-02-12 03:30:00 |
LTZ | UTC | 2026-02-11 22:00:00 | ||||
NTZ | UTC | 2026-02-11 22:00:00 | ||||
NTZ | Local | 2026-02-11 22:00:00 |