Что такое улей?

Прежде чем разбираться в типах данных улья, мы сначала изучим улей. Hive - это технология хранения данных Hadoop. Hadoop - сегмент хранения и обработки данных платформы Big data. Hive сохраняет свои позиции для методов обработки данных сиквела. Как и в других средах сиквела, улей можно получить с помощью запросов сиквела. Основными предложениями по кустам являются анализ данных, специальные запросы и суммирование хранимых данных с точки зрения задержки, запросы идут больше.

Типы данных Hive

Типы данных подразделяются на два типа:

  • Примитивные типы данных
  • Коллективные типы данных

1. Примитивные типы данных

Примитивные средства были древние и старые. Все типы данных, перечисленные как примитивные, являются устаревшими. важные примитивные области типов данных, перечисленные ниже:

Тип Размер (байт) пример
TinyInt 1 20
SmallInt 2 20
Int 4 20
BigInt 8 20
логический Булево верно / Ложно ЛОЖНЫЙ
двойной 8 10, 2222
терка 4 10, 2222
строка Последовательность символов ABCD
Отметка Integer / поплавок / строка 03.02.2012 12: 34: 56: 1234567
Дата Integer / поплавок / строка 2/3/2019

Типы данных Hive реализованы с использованием JAVA

Пример: Java Int используется для реализации типа данных Int здесь.

  • Массивы символов не поддерживаются в HIVE.
  • В Hive используются разделители для разделения полей, а Hive, координируя действия с Hadoop, позволяет повысить производительность записи и чтения.
  • Указание длины каждого столбца в базе данных кустов не ожидается.
  • Строковые литералы могут быть указаны в двойных кавычках («) одинарных кавычек (').
  • В более новой версии улья вводятся типы Varchar, и они образуют спецификатор span (между 1 и 65535), поэтому для строки символов это действует как наибольшая длина значения, которое она может вместить. При вставке значения, превышающего эту длину, крайние правые элементы этих значений обрезаются. Длина символа - это разрешение с числом точек кода, контролируемых строкой символов.
  • Все целочисленные литералы (TINYINT, SMALLINT, BIGINT) в основном рассматриваются как типы данных INT, и только длина превышает фактический уровень int, который он преобразует в BIGINT или любой другой соответствующий тип.
  • Десятичные литералы предоставляют определенные значения и превосходную коллекцию для значений с плавающей точкой по сравнению с типом DOUBLE. Здесь числовые значения хранятся в их точном виде, но в случае двойного они не сохраняются точно как числовые значения.

Процесс преобразования значения даты

Кастинг исполнен Результат
приведение (дата как дата) То же значение даты
приведение (отметка времени как дата) Местный часовой пояс используется для оценки значений год / месяц / дата здесь и выводится на печать.
приведение (строка как дата) Соответствующее значение даты будет запрошено в результате этого приведения, но мы должны убедиться, что строка имеет формат «ГГГГ-ММ-ДД». Нулевое значение будет возвращено, если строковое значение не соответствует действительному совпадению.
приведение (дата как метка времени) В соответствии с текущим местным часовым поясом будет создано значение временной метки для этого процесса приведения.
приведение (дата в виде строки) ГГГГ-ММ-ДД формируется для значения год / месяц / дата, и выходные данные будут иметь строковый формат.

2. Типы сбора данных

В улье есть четыре типа сбора данных, которые они также называют сложными типами данных.

  • ARRAY
  • КАРТА
  • STRUCT
  • UNIONTYPE

1. Массив: последовательность элементов общего типа, которые могут быть проиндексированы, и значение индекса начинается с нуля.

Код:

array ('anand', 'balaa', 'praveeen');

2. MAP: это элементы, которые объявлены и получены с использованием пар ключ-значение.

Код:

'firstvalue' -> 'balakumaran', 'lastvalue' -> 'pradeesh' is represented as map('firstvalue', 'balakumaran', 'last', 'PG'). Now 'balakumaran ' can be retrived with map('first').

3. СТРУКТУРА: Как и в C, структура представляет собой тип данных, который накапливает набор полей, которые помечены и могут иметь любой другой тип данных.

Код:

For a column D of type STRUCT (Y INT; Z INT) the Y field can be retrieved by the expression DY

4. UNIONTYPE: Union может содержать любой из указанных типов данных.

Код:

CREATE TABLE test(col1 UNIONTYPE ) CREATE TABLE test(col1 UNIONTYPE )

Выход:

Различные разделители, используемые в сложных типах данных, перечислены ниже,

Разделитель Код Описание
\ п \ п Запись или разделитель строк
A (Ctrl + A) \ 001 Разделитель полей
B (Ctrl + B) \ 002 СТРУКТУРЫ И Массивы
C (Ctrl + C) \ 003 МАП

Пример сложных типов данных

Ниже приведены примеры сложных типов данных:

1. ТАБЛИЦА СОЗДАНИЯ

Код:

create table store_complex_type (
emp_id int,
name string,
local_address STRUCT,
country_address MAP,
job_history array)
row format delimited fields terminated by ', '
collection items terminated by ':'
map keys terminated by '_';

2. ОБРАЗЕЦ ТАБЛИЦЫ

Код:

100, Shan, 4th : CHN : IND : 600101, CHENNAI_INDIA, SI : CSC
101, Jai, 1th : THA : IND : 600096, THANJAVUR_INDIA, HCL : TM
102, Karthik, 5th : AP : IND : 600089, RENIKUNDA_INDIA, CTS : HCL

3. ЗАГРУЗКА ДАННЫХ

Код:

load data local inpath '/home/cloudera/Desktop/Hive_New/complex_type.txt' overwrite into table store_complex_type;

4. ПРОСМОТР ДАННЫХ

Код:

select emp_id, name, local_address.city, local_address.zipcode, country_address('CHENNAI'), job_history(0) from store_complex_type where emp_id='100';

Заключение - Типы данных Hive

Будучи включенной реляционной базой данных и, тем не менее, связующим звеном является продолжение, HIVE предлагает все ключевые свойства обычных баз данных SQL очень сложным образом, что делает его одним из наиболее эффективных блоков обработки структурированных данных в Hadoop.

Рекомендуемые статьи

Это руководство по типу данных Hive. Здесь мы обсуждаем два типа в типах данных куста с соответствующими примерами. Вы также можете просмотреть другие наши статьи, чтобы узнать больше -

  1. Что такое улей?
  2. Улей Альтернативы
  3. Встроенные функции улья
  4. Hive Интервью Вопросы
  5. Типы данных PL / SQL
  6. Примеры встроенных функций Python
  7. Различные типы данных SQL с примерами