Hive - Типы данных

В этой главе вы познакомитесь с различными типами данных в Hive, которые участвуют в создании таблицы. Все типы данных в Hive подразделяются на четыре типа, а именно:

  • Типы столбцов
  • Literals
  • Нулевые значения
  • Сложные типы

Типы столбцов

Тип столбца используется как типы данных столбца Hive. Вот они:

Интегральные типы

Данные целочисленного типа могут быть указаны с использованием целочисленных типов данных INT. Когда диапазон данных превышает диапазон INT, вам нужно использовать BIGINT, а если диапазон данных меньше INT, вы используете SMALLINT. TINYINT меньше SMALLINT.

В следующей таблице показаны различные типы данных INT:

Тип Постфикс пример
TINYINT Y 10лет
МАЛЕНЬКИЙ S 10S
INT - 10
BIGINT L 10л

Типы строк

Типы данных строкового типа можно указывать с помощью одинарных кавычек ('') или двойных кавычек («»). Он содержит два типа данных: VARCHAR и CHAR. Hive следует за escape-символами C-типа.

В следующей таблице показаны различные типы данных CHAR:

Тип данных Длина
VARCHAR 1 по 65355
СИМВОЛ 255

Отметка времени

Он поддерживает традиционные временные метки UNIX с дополнительной точностью до наносекунды. Он поддерживает формат java.sql.Timestamp «ГГГГ-ММ-ДД ЧЧ: ММ: СС.fffffffff» и формат «гггг-мм-дд чч: мм: сс.ffffffffff».

Даты

Значения DATE описываются в формате год / месяц / день в виде {{ГГГГ-ММ-ДД}}.

Десятичные дроби

Тип DECIMAL в Hive аналогичен формату Big Decimal в Java. Он используется для представления неизменной произвольной точности. Синтаксис и пример следующие:

DECIMAL(precision, scale)
decimal(10,0)

Типы союзов

Union - это набор разнородных типов данных. Вы можете создать экземпляр, используя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 аналогичны использованию сложных данных с комментариями.

Syntax: STRUCT<col_name : data_type [COMMENT col_comment], ...>