2016-05-30 4 views
0

Сценария:использование HBase вместо HDFS в MapReduce

анализирует терабайт данных и сделать какую-нибудь текст добычу на вершине, что и хранить данные в HDFS файлы. Затем, чтобы запросить данные, мы импортируем эти данные в Hive.

Однако нам также необходимо выполнить некоторые операции обновления для инкрементных данных. Например, если одна и та же строка строк существует в новых и старых данных, то обновляйте данные, а не вставляйте их.

В настоящее время я выполняю вышеуказанные операции с использованием HDFS. Теперь я думаю о переходе в HBase с операциями чтения/записи.

Я хочу узнать о преимуществах и недостатках этого подхода использования HBase для чтения/записи с MapReduce по сравнению с HDFS.

ответ

0

Профессионалы (с использованием HBase, как хранилище данных):

  • Гибкая модель данных для работы с данными и индексируется с помощью ключа строки.
  • Быстрый просмотр через столы.
  • Доступ с низкой задержкой к небольшим объемам данных из больших данных набор. Вы можете быстро получить доступ к отдельным строкам из таблицы из нескольких таблиц.
  • Для небольших обновлений это лучше, потому что вы можете сканировать и обновлять скорее , чем append (это случай с HDFS).

Cons (Использование HBase в качестве хранилища данных):

  • вам нужно выполнить массовую загрузку, чтобы загрузить объемные данные (Tera байт) в вашем случае.
  • с использованием массовой нагрузки пропускает WAL (с риском потери данных).
  • в случае, если вы не выполняете объемную нагрузку для загрузки данных, скорость будет снижение.

Надеюсь, я ответил на ваш вопрос. Пожалуйста, исправьте меня, если я ошибаюсь

+0

Дополнение к этому ответу, если вы используете все свои данные в hdfs каждый раз, когда вы запускаете задание mapreduce, это будет sloooow, считывая все данные каждый раз из hbase по сравнению с hfds txt или паркет файлы – halil

+0

@halil благодарит за ценный комментарий. –

+0

@halil Вы поддерживаете hbase или hdfs. ваш комментарий был немного неоднозначным. –