Академический Документы
Профессиональный Документы
Культура Документы
Операционная сложность:
необходимость выполнения
оперативного уплотнения
это является интенсивной
операцией
может привести к полному отказу
кластера.
Сценарии использования.
Массивные данные (ТБ и ПБ)
Функция атомарности, согласованности, изоляции, долговечности (ACID) поддерживаемых
традиционными реляционными базами данных, не требуется.
Высокая пропускная способность.
Эффективное случайное чтение массивных данных.
Высокая масштабируемость.
Одновременная обработка структурированных и неструктурированных данных.
Архитектурные компоненты для распределенной работы с данными.
Region Server - обслуживает один или несколько регионов. Region Server включает memstore
для кэширования часто используемых строк в памяти.
Master Server – главный узел в кластере, управляющий распределением регионов по
региональным серверам, включая ведение их реестра, управление запусками регулярных
задач и других организационных действий.
Вычислительная модель MapReduce может использоваться для загрузки большого объема
данных, при этом на этапе Reduce выполняется загрузка данных в таблицу – локальная
запись данных на соответствующем Region Server.
Apache ZooKeeper.
Отвечает за координацию работ между сервисами HBase отвечает служба, предназначенная для
управления конфигурациями и синхронизации сервисов. Серверы ZooKeeper и HMaster
предоставляют клиентам информацию о топологии кластера. Клиенты подключаются к ним и
загружают список регионов, содержащихся в региональных серверах, и диапазонах ключей,
размещенных в регионах.
Методы высокой доступности данных и отказоустойчивости.
Развертывание на нескольких экземплярах HMaster и ZooKeeper;
Распределение данных по многим узлам гарантирует, что сбой одного из них не приведет к
потере доступности данных;
Формат HFile, хранящий данные непосредственно в HDFS, можно читать и записывать с
помощью многих инструментов Apache стека Big Data (например, Hive, Pig, MapReduce,
Tez), что позволяет практически в режиме реального времени анализировать данные, не
копируя их в другие хранилища.
Apache Hive (SQL-Like Interface)
SQL-интерфейс доступа к данным для платформы Apache Hadoop.
Hive позволяет выполнять запросы, агрегировать и анализировать данные используя SQL
синтаксис.
Для данных в файловой системе HDFS используется схема доступа на чтение, позволяющая
обращаться с данными, как с обыкновенной таблицей или реляционной СУБД. Запросы HiveQL
(аналог SQL) транслируются в Java-код заданий MapReduce.
Hive.
Hive — это инструмент хранилища данных и управления распределенными данными, работающий
на Hadoop и поддерживающий PB-уровень запросов (до петабайтов).
Hive предоставляет следующие функции:
Гибкий ETL (извлечение/преобразование/загрузка).
Поддержка вычислительных возможностей, таких как MapReduce, Tez и Spark.
Прямой доступ к файлам HDFS и HBase.
Простота использования и программирования
Движок, позволяющий транслировать SQLlike запросы (HiveQL) в серии Map-Reduce job-ов. Язык
запросов похож на SQL92. Есть JDBC – коннектор, можно использовать с существующим кодом.
Информация хранится в обычных файлах (на HDFS или S3) (Text file, Sequence file, RDFiles,
Parquet)
Мета-информация хранится в классической БД (по умолчанию Apache Derby, но может быть
MySQL, Postgres или Oracle)
Компоненты.
UI Пользовательский интерфейс - позволяет выполнять запросы и команды в Hive:
Hive Web UI
Командная строка Hive CLI или Beeline
Hive HD Insight (на сервере Windows)
Apache Zeppelin или HUE server
MetaStore – хранилище метаданных.
Hive хранит схему таблиц Hive в хранилище метаданных Hive. Хранит метаданные для таблиц
Hive — схему на чтение (schema-on-read) , расположение, информацию о столбцах в таблице, типы
данных, ACL и т.д.
Metastore используется для хранения всей информации о таблицах и разделах, находящихся в
хранилище. По умолчанию хранилище метаданных запускается в том же процессе, что и служба
Hive, а хранилищем метаданных по умолчанию является база данных DerBy.
Hive QL Process Engine (процессор HiveQL)
Вместо написания программ MapReduce на Java мы можем написать запрос на HiveQL для
дальнейшей компиляции и исполнения задания MapReduce
Execution Engine (Механизм выполнения)
Составной частью процесса HiveQL Engine и MapReduce является механизм выполнения Hive.
Механизм выполнения обрабатывает запрос и генерирует план задач MapReduce.
HDFS или HBASE
Распределенная файловая система Hadoop или HBASE — это методы хранения данных в файловой
системе.
SerDe:
Serializer, Deserializer дает инструкции Hive по обработке записи.
HiveQL.
Запросы Hive создаются на языке запросов HiveQL, который основан на языке SQL, но не имеет
полной поддержки стандарта SQL-92. Однако, этот язык позволяет программистам использовать их
собственные запросы, когда неудобно или неэффективно использовать возможности HiveQL.
HiveQL может быть расширен с помощью пользовательских скалярных функций (UDF), агрегаций
(UDAF кодов) и табличных функций (UDTF).
Data Definition Language (DDL, используется для создания и изменения таблиц и других
объектов в базе данных).