Учебники

Улей — Типы данных

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