Що таке вулик?

Apache Hive - система сховища даних, розроблена поверх платформи Hadoop з відкритим кодом та використовується для узагальнення даних, запитів великих даних, аналізу даних тощо.

Вулик був розроблений Facebook і в більш пізній час його перейняв Apache Software Foundation, який надалі розробив його як відкритий код під назвою Apache Hive.

Визначення:

Це не реляційна база даних, і тому не підходить для онлайнової обробки транзакцій та запитів у режимі реального часу з оновленнями на рівні рядків. Вулик призначений для он-лайн аналітичної обробки або OLAP. Він також пропонує мову запитів під назвою HiveQL. Він масштабований, швидкий і розширюваний. Він перетворює запити, схожі майже на SQL, у завдання MapReduce для легкого виконання та обробки великого обсягу даних. Вулик Apache - це один із компонентів Hadoop, який зазвичай використовується аналітиками даних, тоді як свиня Apache також використовується для того ж завдання, але її більше використовують дослідники та програмісти. Вулик Apache як система зберігання даних з відкритим кодом використовується для запиту та аналізу величезних наборів даних, що зберігаються в сховищі Hadoop. Вулик найкраще підходить для пакетних завдань, а не для онлайнових видів робіт з обробки транзакцій. Він також не підтримує запити в реальному часі. Hive використовує SQL як мову запитів і в основному використовується для створення звітів. Вулик зазвичай розгортається на стороні сервера і він підтримує структуровані дані. Hive також підтримує інтеграцію з інструментами JDBC та BI.

Розуміння вулика:

Нижче наведені основні компоненти вулика:

Мета-магазин:

Сховище, яке зберігає метадані, називається вуликом мета-сховища. Метадані складаються з різних даних про таблиці, такі як їх розташування, схема, інформація про розділи, що допомагає контролювати рівномірно розподілений хід даних у кластері. Він також відслідковує дані та копіює дані, що забезпечує резервне копіювання у випадку надзвичайних ситуацій, таких як втрата даних. Інформація про метадані присутня у реляційних базах даних, а не у файловій системі Hadoop.

Водій:

При виконанні оператора мови запиту Hive, драйвер отримує заяву і контролює його протягом повного циклу виконання. Поряд із виконанням оператора, драйвер також зберігає метадані, створені при виконанні. Він також створює сеанси для контролю за ходом та життєвим циклом різних страт. Після завершення операції скорочення завдання MapReduce драйвер збирає всі дані та результати запиту

Компілятор:

Він використовується для перекладу мови запитів Hive у вхід MapReduce. Він викликає метод, який виконує кроки та завдання, необхідні для читання виводу HiveQL у міру необхідності MapReduce.

Оптимізатор:

Основним завданням оптимізатора є підвищення ефективності та масштабованості, створення завдання при перетворенні даних перед операцією зменшення. Він також виконує такі перетворення, як агрегація, конверсія конвеєра шляхом єдиного з'єднання для декількох з'єднань.

Виконавець:

Після складання та кроку оптимізації головним завданням виконавця є виконання завдань. Основним завданням виконавця є взаємодія з Hadoop трекером завдань для планування завдань, готових до виконання.

Користувальницький інтерфейс, ощадливий сервер та CLI:

Ощадливий сервер використовується іншими клієнтами для взаємодії з двигуном Hive. Користувацький інтерфейс та інтерфейс командного рядка допомагають подавати запити, а також контролювати процес та інструкції, щоб зовнішні користувачі могли взаємодіяти з вуликом.

Нижче наведено етапи, що показують взаємодію вуликів із рамкою Hadoop:

Виконання запиту:

Запит надсилається драйверу з інтерфейсів вулика, таких як командний рядок або веб-інтерфейс. Драйвером може бути будь-який драйвер бази даних, наприклад, JDB або ODBC тощо.

Отримання плану:

Синтаксис вимоги плану запиту чи запиту можна перевірити за допомогою компілятора запитів, який проходить через запит і викликається драйвером.

Отримання метаданих:

Металевий магазин може знаходитись у будь-якій базі даних, і компілятор робить запит на доступ до метаданих.

Надсилання метаданих:

На запит компілятора мета-магазин надсилає метадані.

Надсилання плану:

Компілятор надсилає план драйверу щодо перевірки вимог, надісланих компілятором. Цей крок завершує розбір та складання запиту.

Виконання плану:

План виконання водієм надсилається в двигун виконання.

Виконання завдання:

Виконання завдання - це завдання MapReduce, яке працює в бекенде. Тоді це дотримується звичайної конвенції Hadoop Framework - двигун виконання відправить завдання трекеру завдань, який знаходиться на вузлі імені, а вузол імені, в свою чергу, призначить завдання трекеру завдань, який знаходиться в примітці даних. Тут виконується завдання MapReduce.

Метадані:

Під час виконання завдання двигун виконання може виконувати операції з метаданими з металевим сховищем.

Отримання результату:

Вузли даних після завершення обробки передають результат в двигун виконання.

Надсилання результату

Водій отримує результат від двигуна виконання.

Відправка результату:

Нарешті, інтерфейси Hive отримують результат від драйвера.

Таким чином, виконанням вищезазначених етапів відбувається повне виконання запитів у вулику.

Як вулик робить роботу такою простою?

Hive - це система зберігання даних, побудована на вершині Hadoop, яка допомагає користувачеві проводити аналіз даних, запити даних та узагальнення даних у великих обсягах наборів даних. HiveQL - це унікальна функція, схожа на дані SQL, що зберігаються в базі даних та виконує розгорнутий аналіз. Я міг читати дані з дуже високою швидкістю і записувати дані в сховища даних, а також він може управляти великими наборами даних, розподіленими по декількох місцях. Поряд з цим вуликом також надається структура даних, що зберігаються в базі даних, і користувачі можуть підключитися до вулика за допомогою інструменту командного рядка або драйвера JDBC.

Провідні компанії:

Основні організації, що працюють з великими даними, використовували вулик - такі як facebook, Amazon, Walmart та багато інших.

Що ви можете зробити з вуликом?

Існує велика кількість функцій вулика, такі як запит даних, узагальнення даних та аналіз даних. Hive підтримує мову запитів під назвою HiveQL або Hive Query Language. Мова запитів Hive запитів перекладається на завдання MapReduce, яке обробляється на кластері Hadoop. Крім цього, Hiveql також зменшує сценарій, який можна додати до запитів. Таким чином, HiveQL збільшує гнучкість дизайну схеми, яка також підтримує дезаріалізацію даних та серіалізацію даних.

Робота з вуликом:

Нижче наведено деякі оперативні деталі у вулику. Типи даних вуликів в основному класифікуються на чотири типи, як наведено нижче:

  • Типи стовпців
  • Літерали
  • Нульові значення
  • Складні типи

1. Типи стовпців:

Це типи даних стовпців вулика. Вони класифіковані нижче:

  • Інтегральні типи: Цілі дані представляються за допомогою інтегрального типу даних. Символ INT. Будь-яким даним, що перевищують верхню межу INT, повинен бути призначений тип даних BIGINT. Таким же чином, будь-які дані нижче нижньої межі INT повинні бути призначені SMALLINT. Існує ще один тип даних під назвою TINYINT, який навіть менший, ніж SMALLINT.
  • Типи рядків: Тип даних рядка представлений у вулику однією цитатою (') або подвійними лапками («). Він може бути двох типів - VARCHAR або CHAR.
  • Тимчасова марка: Вулична мітка часу підтримує формат java.sql.Timestamp "рр-гм-дд год. Год. Мм: мм: ss.ffffffffff" та формат "РРРР-MM-DD HH: MM: SS.fffffffff".
  • Дата: Дата представлена ​​у вулику у форматі РРРР-ММ-ДД, що представляє день-місяць-місяць.
  • Десяткові знаки : Десяткові знаки у вулику представлені у великому десятковому форматі java та використовуються для представлення незмінної довільної точності. Він представлений у форматі Десяткова (точність, масштаб).
  • Типи з'єднання: Union використовується у вулику для створення колекції різнорідного типу даних. Його можна створити за допомогою створення союзу.

Нижче наведено приклад:

UNIONTYPE
(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)
UNIONTYPE
(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)

2. Література:

У вулику мало літералів. Вони наведені нижче:

  • Тип з плаваючою комою : вони представлені у вигляді цифр із десятковою комою. Вони досить схожі на подвійний тип даних.
  • Десятковий тип : Цей тип даних містить лише дані десяткового типу, але з більшим діапазоном значення плаваючої крапки, ніж подвійний тип даних. Діапазон десяткового типу приблизний від -10 -308 до 10 308.

3. Нульове значення:

Спеціальне значення NULL представляє пропущені значення у вулику.

4. Складні типи:

Нижче наведено різні складні типи у вулику:

  • Масиви : масиви представлені у вулику в тій же формі, що і java. Синтаксис схожий на ARRAY.
  • Карти : Карти представлені у вулику у тому ж вигляді, що і java. Синтаксис схожий на MAP
  • .
  • Структури : Будови у вулику представлені як складні дані з коментарями. Синтаксис схожий на STRUCT.

Крім усього цього, ми можемо створювати бази даних, таблиці, розділяти їх і безліч інших функцій.

  • Бази даних: Це простори імен, що містять колекцію таблиць. Нижче представлений синтаксис створення бази даних у вулику.

CREATE DATABASE (IF NOT EXISTS) sampled;

Бази даних також можуть бути скинуті, якщо вони більше не потрібні. Нижче представлений синтаксис для скидання бази даних.

DROP DATABASE (IF EXISTS) sampled;

  • Таблиці: їх також можна створити у вулику для зберігання даних. Нижче представлений синтаксис створення таблиці.

CREATE (TEMPORARY) (EXTERNAL) TABLE (IF NOT EXISTS) (db_name.) table_nam
((col_name data_type (COMMENT col_comment), …)) (COMMENT table_comment
(ROW FORMAT row_format) (STORED AS file_format)

Стіл також можна скинути, якщо він більше не потрібен. Нижче наведено синтаксис для скидання таблиці.

DROP TABLE (IF EXISTS) table_name;

Переваги

Основна перевага Apache Hive полягає в запиті, узагальненні та аналізі даних. Вулик призначений для підвищення продуктивності розробника, а також постачається з витратами на збільшення затримки та зниження ефективності. Apache Hive забезпечує широкий спектр визначених користувачем функцій, які можна взаємопов’язати з іншими пакетами Hadoop, такими як RHipe, Apache Mahout тощо. Це значно допомагає розробникам при роботі зі складною аналітичною обробкою та безліччю форматів даних. В основному використовується для зберігання даних, тобто система, яка використовується для звітності та аналізу даних.

Він включає очищення, перетворення та моделювання даних, щоб надати корисну інформацію про різні аспекти бізнесу, що допоможе принести користь організації. Аналіз даних має багато різних аспектів та підходів, які охоплюють різноманітні методи з різноманітними іменами в різних бізнес-моделях, областях соціальних наук тощо. Вулик дуже зручний для користувачів і дозволяє користувачам одночасно отримувати доступ до даних, збільшуючи час реакції. Порівняно з іншими типами запитів на величезні дані встановлює час відповіді вулика набагато швидше, ніж інші. Це також набагато гнучкіше щодо продуктивності при додаванні більшої кількості даних та збільшенні кількості вузлів у кластері.

Навіщо нам користуватися вуликом?

Поряд з аналізом даних вулик пропонує широкий спектр варіантів для зберігання даних у форматі HDFS. Hive підтримує різні файлові системи, такі як плоский файл або текстовий файл, файл послідовностей, що складається з пар бінарних ключів-значень, RC-файлів, що зберігають стовпчик таблиці в стовпчиковій базі даних. На сьогоднішній день файл, який найбільше підходить для програми Hive, відомий як файли ORC або файли оптимізованих рядків стовпців.

Для чого нам потрібен вулик?

У сучасному світі Hadoop асоціюється з найбільш розповсюдженими технологіями, які використовуються для обробки великих даних. Дуже багата колекція інструментів та технологій, які використовуються для аналізу даних та інших великих даних.

Хто потрібна аудиторія для вивчення технологій вуликів?

Переважно люди, які мають досвід розробників, Hadoop аналітики, системних адміністраторів, зберігання даних, SQL-професіонала та адміністрації Hadoop, можуть освоїти вулик.

Як ця технологія допоможе вам у кар’єрному зростанні?

Вулик - це одна з найпопулярніших навичок ринку на сьогоднішній день, і це один з найкращих інструментів для аналізу даних у світі великих даних Hadoop. Великі підприємства, які роблять аналіз на великих наборах даних, завжди шукають людей з правами навичок, тому вони можуть керувати і запитувати величезні обсяги даних. Вулик - один з найкращих інструментів, доступних на ринку технологій великих даних за останні дні, який може допомогти організації в усьому світі для їх аналізу даних.

Висновок:

Крім перерахованих вище функцій вулик має набагато більш досконалі можливості. Потужність вулика для обробки великої кількості наборів даних з великою точністю робить вулик одним з найкращих інструментів, що використовуються для аналітики на платформі великих даних. Крім того, він також має великий потенціал стати одним із провідних інструментів аналізу великих даних у найближчі дні завдяки періодичному вдосконаленню та простоті використання для кінцевого споживача.

Рекомендовані статті

Це було керівництвом щодо того, що таке вулик. Тут ми обговорили роботу, навички, кар’єрний ріст, переваги Hive та провідних компаній, що впроваджують цю технологію. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Команди вуликів
  2. Питання для опитування вулика
  3. Що таке Azure?
  4. Що таке технології великих даних?
  5. Архітектура вуликів | Визначення
  6. Використання функції ЗАМОВЛЕННЯ В вулику

Категорія: