В чем разница между hadoop/hive/hbase для больших данных? Какие сценарии применения существуют?

Большие данные

@[toc]


1. hadoop

этоРаспределенные вычисления + распределенная файловая система, первое на самом делеMapReduce, последнийHDFS. Последний может работать независимо, первый можно использовать выборочно или нет.


2. hive

С точки зрения непрофессионалабаза данных, данные в хранилище - это файл данных, управляемый hdfs, он поддерживает функции, аналогичные оператору sql, вы можете использовать этот оператор для выполнения вычислительной функции в распределенной среде,Hive преобразует оператор в MapReduce, а затем передаст его в hadoop для выполнения.. Расчеты здесь ограничиваются поиском и анализом, а не обновлением, добавлением и удалением.

Его преимуществом является обработка исторических данных, что, по народному выражению, является автономным вычислением, потому что егоНижний слой — MapReduce., MapReduce имеет низкую производительность при вычислениях в реальном времени. Его подход заключается в загрузке файла данных в виде таблицы куста (или внешней таблицы), что позволяет вам почувствовать, что ваш sql работает с традиционной таблицей.


3. hbase

С точки зрения непрофессионала, роль hbase аналогична роли базы данных.Традиционные базы данных управляют централизованными локальными файлами данных, в то время какHbase реализует управление распределенными файлами данных на основе hdfs, например, добавление, удаление, изменение и проверку.. То есть hbase просто использует hdfs от hadoop, чтобы помочь ему управлять постоянными файлами (HFiles) данных,Это не имеет ничего общего с MapReduce.

Преимущество hbase заключается в вычислениях в реальном времени., все данные в реальном времени хранятся непосредственно в hbase, а клиент напрямую обращается к hbase через API для реализации вычислений в реальном времени. Поскольку он использует nosql или столбчатую структуру, он повышает производительность поиска и делает его применимым к сценариям больших данных, в чем разница между ним и MapReduce.


Суммировать

Hadoop — основа Hive и hbase., hive зависит от Hadoop, а hbase зависит только от модуля hdfs Hadoop.

улей подходит дляАнализ офлайн-данных, который оперирует файлами данных в общем формате (типа общих лог-файлов) и управляется с помощью hadoop.Поддерживает SQL-подобный, что удобнее, чем написание Java-кода для MapReduce.Позиционируется как хранилище данных, хранящее и анализирующее исторические данные. .

hbase подходит длявычисления в реальном времени, используя структуру столбцов nosql, операция представляет собой специальный формат HFile, созданный сам по себе, файл данных, управляемый hadoop, его позиционирование — база данных или СУБД.

Hive может напрямую манипулировать файлами в hdfs в качестве своих табличных данных или использовать базу данных hbase в качестве своей таблицы.