Using complex data types
In addition to primitive data types, Hive also supports a few complex data types: Struct
, MAP
, and Array
. Complex data types are also known as collection data types. Most relational databases don't support such data types.
Complex data types can be built from primitive data types:
STRUCT
: The struct data type in Hive is analogous to theSTRUCT
in C programming language. It is a record type that holds a set of named fields that can be of any primitive data types. Fields in theSTRUCT
type are accessed using the DOT (.
) notation.Syntax:
STRUCT<col_name : data_type [COMMENT col_comment], ...>
For example, if a column
address
is of the typeSTRUCT {city STRING; state STRING}
, then the city field can be referenced usingaddress.city
.MAP
: The map data type contains key-value pairs. In Map, elements are accessed using the keys. For example, if a columnname
is of type Map:'firstname' -> 'john'
and'lastname' -> 'roy'
, then the last name can be accessed using the...