Технология хранения и обработки больших данных Hadoop. Тимур Машнин
Читать онлайн книгу.Apache Hadoop и ряда программных продуктов экосистемы Hadoop.
В этом стеке у нас есть Sqoop, инструмент, предназначенный для эффективной передачи больших данных между Hadoop и структурированными хранилищами данных, такими как реляционные базы данных.
И есть Flume – распределенный сервис для агрегирования больших объемов лог данных.
Здесь используется HBase для случайной записи и чтения данных, хранящихся в HDFS.
Oozie используется в качестве движка координации и рабочего процесса.
И Pig и Hive обеспечивают языки высокого уровня запросов данных.
И наконец здесь используется Zookeeper в качестве службы координации в основе этого стека.
И мы можем скачать и запустить виртуальную машину Cloudera, которая позволяет запускать все эти различные сервисы и узнавать, как они работают, без необходимости установки сервера.
Но сначала давайте поговорим о различных инструментах, которые мы будем использовать поверх платформы Hadoop.
С развитием вычислительной техники стало возможным управлять огромными объемами данных, которые раньше мы могли обрабатывать только на суперкомпьютерах.
Настоящий прорыв произошел, когда такие компании, как Yahoo, Google и Facebook пришли к пониманию, что им нужно что-то сделать, чтобы обрабатывать и монетизировать эти огромные объемы данных, которые они собирают.
В результате были созданы различные инструменты и собраны стеки Big Data.
И давайте начнем обсуждение этих инструментов с Apache Sqoop.
Sqoop означает SQL для Hadoop.
Это простой инструмент командной строки, который позволяет импортировать отдельные таблицы или целые базы данных в систему HDFS.
И этот инструмент генерирует классы Java, чтобы можно было взаимодействовать с данными, которые мы импортировали.
С этим инструментом Вы можете работать с данными базы данных SQL в среде Hadoop и использовать Map Reduce для запуска заданий с этими данными.
Следующий инструмент – это Hbase.
Hbase является ключевым компонентом стека Hadoop, так как он предназначен для приложений, которым требуется быстрый произвольный доступ к большому набору данных.
И Hbase основывается на Google Big Table и может обрабатывать большие таблицы данных, объединяющие миллиарды строк и миллионы столбцов.
Pig – это язык скриптов, это платформа высокого уровня для создания программ MapReduce с использованием Hadoop.
Этот язык называется Pig Latin, и он предназначен для задач анализа данных как потоков данных.
Pig самодостаточен, и вы можете выполнят все необходимые манипуляции в Hadoop, просто используя pig.
Кроме того, в pig, вы можете использовать код на разных языках, таких как JRuby, JPython и Java.
И наоборот, вы можете выполнять скрипты PIG на других языках.
Таким образом, в результате вы можете использовать PIG в качестве компонента для создания гораздо более крупных и более сложных приложений.
Программное обеспечение Apache Hive облегчает запросы и управление большими наборами данных, которые находятся в распределенном хранилище файлов.
Hive предоставляет механизм для проектирования структуры