В этой главе рассказывается о различных типах данных в Hive, которые участвуют в создании таблицы. Все типы данных в Hive подразделяются на четыре типа:
- Типы столбцов
- литералы
- Нулевые значения
- Сложные типы
Типы столбцов
Тип столбца используется в качестве типа данных столбца Hive. Они заключаются в следующем:
Интегральные типы
Данные целочисленного типа могут быть указаны с использованием целочисленных типов данных, INT. Когда диапазон данных превышает диапазон INT, вам нужно использовать BIGINT, а если диапазон данных меньше, чем INT, вы используете SMALLINT. TINYINT меньше SMALLINT.
В следующей таблице представлены различные типы данных INT:
Тип | постфикс | пример |
---|---|---|
TINYINT | Y | 10Y |
SMALLINT | S | 10S |
INT | — | 10 |
BIGINT | L | 10L |
Типы строк
Типы данных типа String могут быть указаны с помощью одинарных кавычек (») или двойных кавычек («»). Он содержит два типа данных: VARCHAR и CHAR. Улей следует за escape-символами C-типов.
В следующей таблице представлены различные типы данных CHAR:
Тип данных | длина |
---|---|
VARCHAR | 1 до 65355 |
CHAR | 255 |
Отметка
Он поддерживает традиционную метку времени UNIX с дополнительной точностью до наносекунды. Он поддерживает формат java.sql.Timestamp «ГГГГ-ММ-ДД ЧЧ: ММ: СС.fffffffff» и формат «гггг-мм-дд чч: мм: сс.фффффффффф».
Даты
Значения ДАТЫ описываются в формате год / месяц / день в форме {{ГГГГ-ММ-ДД}}.
Десятичные
Тип DECIMAL в Hive такой же, как и в формате Big Decimal в Java. Он используется для представления неизменяемой произвольной точности. Синтаксис и пример следующие:
DECIMAL(precision, scale) decimal(10,0)
Типы Союза
Союз представляет собой набор разнородных типов данных. Вы можете создать экземпляр, используя create union . Синтаксис и пример следующие:
UNIONTYPE<int, double, array<string>, struct<a:int,b:string>> {0:1} {1:2.0} {2:["three","four"]} {3:{"a":5,"b":"five"}} {2:["six","seven"]} {3:{"a":8,"b":"eight"}} {0:9} {1:10.0}
литералы
В Hive используются следующие литералы:
Типы с плавающей точкой
Типы с плавающей точкой — это не что иное, как числа с десятичными точками. Как правило, этот тип данных состоит из типа данных DOUBLE.
Десятичный тип
Данные десятичного типа — это не что иное, как значение с плавающей запятой с более высоким диапазоном, чем тип данных DOUBLE. Диапазон десятичного типа составляет примерно от -10 -308 до 10 308 .
Нулевое значение
Недостающие значения представлены специальным значением NULL.
Сложные типы
Сложные типы данных Hive:
Массивы
Массивы в Hive используются так же, как в Java.
Syntax: ARRAY<data_type>
Карты
Карты в Hive похожи на Java Maps.
Syntax: MAP<primitive_type, data_type>
Структуры
Структура в Hive похожа на использование сложных данных с комментариями.