# Data Types

Hive provides a type system for primitive types as well as complex types. Types are associated with the columns in the tables.&#x20;

The following primitive types are supported - integer, boolean, string, float, double, decimal, char, varchar, date, timestamp and binary.

Complex types can be built up from primitive types and other composite types using:

* **Structs**: the elements within the type can be accessed using the DOT (.) notation.
* **Maps (key-value tuples)**: The elements are accessed using \['element name'] notation.
* **Arrays (indexable lists)**: The elements in the array have to be in the same type. Elements can be accessed using the \[n] notation where n is an index (zero-based) into the array.

<https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.invariant.io/platform/apache-hadoop/hive/data-types.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
