Primitive Data Types for favroparser

The favroparser supports the following primitive data types:

AVRO Data Type Vertica Data Type Value
NULL NULL Value No value
boolean Boolean Data Type A binary value
int INTEGER 32-bit signed integer
long

INTEGER

64-bit signed integer
float

DOUBLE PRECISION (FLOAT)

Synonymous with 64-bit IEEE FLOAT

Single precision (32-bit) IEEE 754 floating-point number
double DOUBLE PRECISION (FLOAT) Double precision (64-bit) IEEE 754 floating-point number
bytes BYTES Sequence of 8-bit unsigned bytes
string VARCHAR Unicode character sequence

Vertica does not have an explicit 4-byte (32-bit integer) or smaller types. Instead, Vertica encoding and compression automatically eliminate the storage overhead of values that require less than 64 bits.

Vertica copies each primitive type into the __raw__ column of the flex table. In this copy operation, the name of the primitive type becomes a virtual column key with its corresponding value as the value of the virtual column.

If the flex table has materialized columns, favroparser loads the primitive data type into the corresponding Vertica type for the column. If the parsing is successful, Vertica copies the data into the materialized column; otherwise, it rejects the row.