Supported data types

The columns of Hydrolix fluid tables support a variety of datatypes, including primitives (such as integers) and more complex structures (such as arrays). You specify these column datatypes in both transforms and view schemas.

If your project requires a data type not listed here, please contact support@hydrolix.io.

Primitives

Both transforms and views support the following datatype primitives.

Type Description
datetime A string-based representation of a moment in time, e.g. Mon Jan 2 15:04:05 -0700 2006.
double A 64-bit floating-point number.
int8 A signed 8-bit integer (-128 : 127).
int32 A signed 32-bit integer (-2147483648 : 2147483647).
int64 A signed 64-bit integer (-9223372036854775808 : 9223372036854775807).
string A variable-length string. Equivalent to VARCHAR or CLOB in other data systems.
uint8 An unsigned 8-bit integer (0 : 255).
uint32 An unsigned 32-bit integer (0 : 4294967295).
uint64 An unsigned 64-bit integer (0 : 18446744073709551615).

Notes about datetime

Note that you must pair any datetime columns with time-format information, specified elsewhere–such as within the column definitions of an ingest schema.

If you set a datetime or epoch column to use millisecond resolution, then you may see Hydrolix-generated view schemas refer to this column as “datetime64”. This special primitive applies to views only, and simply indicates a high-resolution datetime column.

Structures

Transforms currently support single-level arrays as structured data types.

Type Description
array An array of any one of the primitive types that Hydrolix supports.

For further information about working with array datatypes in Hydrolix, see the transforms documentation.

Aliased data types

Transforms may specify aliased data types in addition to the primitives. Hydrolix converts each to a native data type prior to storage.

Datatype Treatment
boolean Converted to a uint8 prior to storage. The case-insensitive strings "false" or "0" get converted to 0. Any other non-0 value gets converted to 1.
epoch Treated as datetime, but presented as a single number, as with Unix timestamps. Using this mapping requires additional formatting information; see Formatting timestamps