Первоначально написано по адресу: https://jayachandrika.com
Давайте рассмотрим Hadoop (нажмите, чтобы пропустить эту тему):
- Hadoop: Что за него шумом?
- Экосистема Hadoop
- HDFS: Дистрибьютированная файловая система Hadoop
- Пряжа: пока Еще один переговорщик ресурса
- MapReduce: Mappers и Reducers
- Свинья: быстрая и легкая альтернатива MapReduce
- Тез
- Улей
- Амбари: UI
- Мезос: альтернатива пряже
Искра: королева шахматной доски Hadoop
Hbase
Apache Storm
Оози
Zookeeper
Приема данных: SQOOP + FLUME + KAFKA
Внешние данные о внешних данных: MySQL, Cassandra, Mongodb
Двигатели запросов: тренировка + Hue + Phoenix + Presto + Zeplin
Платформа:
Hortonworks Sandbox
Hadoop: Что за него шумом?
Hadoop is an open source software platform with utilities or tools, for distributed storage and distributed processing on very large files and datasets, performed on several computer
Я согласен, если это еще не имеет полного смысла. Давайте разберем это.
Пример: Допустим, мы получили информацию о сотрудниках миллионов людей, работающих в Google, Amazon, Facebook, и мы должны объединить всю их информацию и переделать список в уменьшении порядка заработной платы.
Чтобы загрузить такие большие данные в один обычный компьютер и выполнить операции на нем, заставив компьютер для обработки каждого сотрудника, заставит компьютер, чтобы вырваться, как ракета SpaceX, либо потратить время на то, чтобы обработать это следующее поколение нужно увидеть выход!
Если мы распределили эти данные нескольким компьютерам, каждый компьютер обрабатывает небольшой кусочек, он дает быстрый выход без перегрузки обработки огромных данных.
Это то, что делает Hadoop,
Распределенное хранилище -Огромные данные распространяются на несколько компьютеров и хранятся там.
Распределенная обработка -Установите один дорогостоящий компьютер с высокой мощностью обработки, несколько нормальных компьютеров могут обрабатывать большие данные.
Короче говоря, Hadoop имеет инструменты для хранения, обрабатывая эти большие данные, давая нам ожидаемые результаты.
Посмотрим, как именно большие данные обрабатываются в Hadoop!
Экосистема Hadoop
У Hadoop есть много компонентов, у каждого есть своя цель и функции. ( Как у каждого героя в конечном счете есть собственный фильм .)
HDFS, пряжа и MapReduce принадлежат к экосистеме Core Hadoop, в то время как другие были добавлены позже, чтобы решить конкретные проблемы. Давайте рассмотрим каждого из них, один за другим.
Допустим, у нас есть огромные куски картофеля (большие данные), и мы хотим сделать картофель фри, чипсы и самородки.
Чтобы сделать их, мы делим картофель на 3 блока картофеля на картофель фри, картофель для чипсов и самородков, Что такое
HDFS
Делил большую часть данных и распространяется на несколько компьютеров.Все ресурсы или ингредиенты, необходимые для каждого блюда, выделяются соответственно, аналогично
Пряжа
который управляет ресурсами, необходимыми для каждого куска или кластера.Мы превращаем эту картофель в желаемое блюдо, которое такое же, как
Mapreducers
которые эффективно преобразуют данные и собирают данные, дающие нам желаемый результат.
Давайте рассмотрим более подробно о каждом компоненте.
HDFS: Дистрибьютированная файловая система Hadoop
Как говорится, он распределяет большой файл на многих компьютерах следующим образом:
Большой файл преобразуется в блоки (каждый размер блока до 128 МБ)
Блоки хранятся на многих компьютерах.
Избыточность : Чтобы обрабатывать сбой одного компьютера, на каждом компьютере хранится более одной копии каждого блока. Так что, если кто -то не удастся, будут иметь другие компьютеры, сбой данных компьютера.
Пряжа: пока Еще один переговорщик ресурса
- Это сердцебиение системы Hadoop, все Обработка данных происходит здесь.
- Он предоставляет вычислительные ресурсы, такие как процессоры, память и т. Д. Для выполнения приложений.
- Он выполняет планирование работы и управляет ресурсами, подобными тому, для чего доступны узлы, которые должны быть разрешены выполнять задачи и т. Д.
- Обычно рекомендуется не кодировать прямо против пряжи напрямую. Вместо этого используйте один из инструментов более высокого уровня, например, улей, чтобы упростить вашу жизнь.
В некотором смысле, например, как операционная система выделяет ресурсы компьютеру, пряжу распределяет ресурсы
в Hadoop.
MapReduce: Mappers и Reducers
Таким образом, мы получили данные в HDFS, ресурсы, выделенные от пряжи. Теперь, как сделать наши желаемые результаты от этого? Мы кодируем, используя MapReduce.
MapReduce имеет две функции: Mappers и Reducers. Здесь программирование Python или Java используется для кодирования этих функций. В целом, модель программирования для обработки и вычисления по всем данным.
- Мапперы разделили данные и отображают их в соответствии с желаемым выводом.
- Редакторы берут вывод картинов и заполняют или объединяют данные, чтобы получить результат.
По мере появления входных данных Mapper преобразует данные один за другим и организует в соответствии с выходом, который мы желаем.
Редактор уменьшает выходной сигнал до агрегированной формы, которая нам требуется в качестве вывода.
Свинья: быстрая и легкая альтернатива MapReduce
- Свинья латинская,
Язык сценариев
, использует SQL, подобный синтаксису, формирование отношений, выбор данных, фильтрацию, преобразование его и т. Д. СодержитПользовательские функции
Чтобы помочь нам создать наши собственные функции. - Не все бизнес -задачи могут быть решены путем преобразования в формы Mappers и Reducers. Таким образом, свиньи латинской, сидя на вершине MapReduce, преобразует наш латинский сценарий в карту в карту.
Скрипт свиньи можно управлять любым из 3 ниже:
- Grunt (интерпретатор командной строки)
- Скрипт (поместите скрипт в файл и запустите его)
- Амбари (непосредственно из вида свиньи)
Тез
Мы могли бы задаться вопросом, может ли использование свиньи на MapReduce увеличить задержку. Тес присутствует между ними, чтобы оптимизировать и сделать его в 10 раз быстрее.
Это делает Hive, свинью и карту быстрее, оптимизируя физическое использование данных и использование ресурсов.
Используя DAG (направленные ациклические графики), он видит рабочий процесс рабочих мест и находит оптимальный способ, который облегчает нашу работу.
Предположим: у нас есть три способа, 1-2-3, 4-9-8, 2-7-9, и нам нужно найти самый маленький путь, мы выбираем 1-2-3. Даг работает несколько похожим образом.
- Выход обрабатывается снова и снова через DAG, давая нам оптимальное решение.
Улей
- Это требует
SQL Запросы
в качестве ввода из командной строки и преобразует их в задания MapReduce и автоматически выполняет задание. - Мы можем сохранить результат запроса в
Просмотр
Выполните запрос на весь кластер иОпределите наши собственные функции
Анкет Хотя свинья и улья могут быть похожими, Hive используется для полностью структурированных данных, тогда как компонент свиньи Hadoop используется для полуструктурированных данных.
Свинья относительно быстрее, чем улей.
Улей медленный и не полезен для транзакций в реальном времени, в отличие от свиньи и искры.
Это может дать ощущение реляционной базы данных, но не может удалить, вставить и т. Д., Поскольку нет таблиц, соединений, первичных ключей, а данные — просто плоский текст,
де-нормализован
Анкет
Как вы можете наблюдать, используемые запросы такие же, как и запросы SQL.
Амбари: UI
- Это в значительной степени веб -интерфейс для графического взаимодействия с кластером и его использованием.
- Это дает нам высокий уровень вашего кластера, что работает, какую систему вы используете, какие ресурсы доступны/используются.
- Он показывает статистику о кластере, таких как использование ЦП, использование памяти, использование сети, нагрузку кластера и т. Д.
- Все услуги, такие как HDF, пряжа и т. Д., Можно использовать на кластере с использованием Ambari.
- Даже Hadoop может быть установлен с использованием Ambari.
Мезос: альтернатива пряже
- Это похоже на пряжу, но тогда разница в том, что мезо, более общая.
Проще говоря, пряжа работает только на компонентах Hadoop, таких как MapReduce и т. Д., В то время как мезо, которые могут разоблачить ресурсы для Hadoop, таких как веб -серверы.
Пряжа предназначена для аналитических и длинных процессов, где Mesos предназначена как для длинных, так и для коротких процессов.
Искра: королева шахматной доски Hadoop
- Spark Engine довольно быстрый, в 100 раз быстрее, чем MapReduce и используется для крупномасштабной обработки данных.
- Как улей -> он может обрабатывать запросы SQL, как Apache Storm -> он обрабатывает потоковую передачу в реальном времени, поэтому мы называем это королевой.
Обработка в искру происходит таким образом:
Программа драйвера
, содержащий скрипт для контроля того, что происходит в работе.Диспетчер кластеров
, который может быть пряжей, мезос или собственным менеджером Spark Cluster.Исполнитель
, он содержит кэш, приоритетный решение на основе памяти, в отличие от других решений на основе дисков.
Икра имеет много компонентов:
- Потоковая закраска: обрабатывает данные в реальном времени.
- Spark SQL: SQL Interface, принимает запросы SQL.
- Mllib: Операции машинного обучения могут быть выполнены без карьеров и редукторов для решения проблемы.
- Graphx: Все проблемы, связанные с графом и аналитика, выполняются с использованием этого.
- Spark Core: Он предоставляет распределение распределенной задачи, планирование и базовые функции ввода -вывода.
Spark использует специализированную фундаментальную структуру данных, известную как RDD (устойчивые распределенные наборы данных)
.Его Объект, представляющий набор данных, и мы можем выполнять операции на этом объекте, как в Java.
Hbase
- Это в основном масштабируемое
База данных NOSQL
Анкет - Столовое хранилище данных, довольно быстро и находит его полезным для высоких скоростей транзакций данных.
- Операции CRUD (создавать, читать, обновить и удалять) используются здесь.
Apache Storm
- Процессы непрерывны
Данные потоковой передачи в реальном времени
Как от датчиков или блогов и т. Д. - Даже потоковая передача Spark делает это, но больше с пакетными интервалами, но Storm обрабатывает события данных.
- В носик — это термин, используемый для источников потоковых данных, то есть они производят. Болты — это термин, используемый для тех, которые преобразуют или собирают эти потоковые данные.
- Обычно кафка (которая отправляет данные в кластер) и шторм используются в качестве пары.
Оози
Запускает и планирует различные задания/задачи на Hadoop.
Инструкции приведены через XML -файл.
Работник зоопарка
- Координирует все на кластере. Например, это главный узел, задача, назначенная для каждого узла работника, который узел встал, а какой — и какие рабочие узлы доступны и т. Д.
- Если умирает мастер -узел, он выбирает, кем должен быть следующий мастер.
Пример : Это явление можно наблюдать в группах WhatsApp или в видеокамерах, где, если хост покидает группу, кто -то еще назначен в качестве следующего хоста.
Outside Hadoop EcoSystem, we can have databases to store the data and Query Engines to get input data to the cluster. Lets have a look at them!
Приема данных: SQOOP + FLUME + KAFKA
SQOOP : SQOOP-это инструмент приложения интерфейса командной строки для передачи данных между серверами реляционной базы данных и Hadoop.
- Это просто способ связать базу данных Hadoop с реляционной базой данных.
Flume : Еще один способ отправки данных в кластер, и он действует как буфер между появившимися данными и хранением, так что кластер не будет снижаться с подавляющими данными, поступающими в режиме реального времени.
Кафка : Это скорее общая модель издателя/подписчика, где Издатели
Отправить/производить данные как Темы
которые подписаны Потребители
Анкет
- Собирает любые данные с ПК, веб -серверов и т. Д. И транслируют их в кластер Hadoop.
Внешние данные о внешних данных: MySQL, Cassandra, Mongodb
MySQL: Типичный SQL
Основанная реляционная база данных.
Кассандра: Это Nosql
столбчатая база данных без единой точки отказа. Это способствует доступности и частичной терпимости в теореме CAP.
Mongodb: A Nosql
База данных, которая использует модель документа. Он используется, когда мы имеем дело с огромными данными, и это довольно гибко.
Двигатели запросов: тренировка + Hue + Phoenix + Presto + Zeplin
Все это интерактивные двигатели запроса для извлечения необходимых данных из баз данных, таких как HBASE, Cassandra и т. Д.
Тренировка
Давайте используем запросы SQL, даже когда базы данных под ним (HBASE, Cassandra, MongoDB и т. Д.) — это не реляционные базы данных.Феникс
похож на бурину с запросами SQL, но с кислотными свойствами (атомичность, консистенция, изоляция и долговечность). Это быстро, но работает только Hbase.Presto
похож на тренировку и в отличие от тренировки, он подключается к Cassandra и выполняет запрос по всему кластеру.Оттенок
(Hadoop пользовательский опыт), облачный редактор SQL, используется для запроса и в качестве пользовательского интерфейса в Cloudera, как Ambari to Hortonworks.Zeppelin
Имеет пользовательский интерфейс ноутбука для визуализации данных, аналогичных ноутбукам Jupyter для Tensorflow и Share, взаимодействуйте с кодом.
Возможно, было бы чрезмерно видеть, как многие компоненты выполняют ту же работу. В конечном счете, основанная на задаче и типе базы данных (будь то его реляционные или не связанные с страшными данными и т. Д.) И другие факторы, нам необходимо определить правильный компонент и использовать его, и он поставляется со знанием компонентов, практики и опыта.
Надеюсь, вам было весело изучать Hadoop, я, например, поделился этим !!
Первоначально написано по адресу: https://jayachandrika.com
Теперь вы можете следить за нами, чтобы исследовать более интересные темы, в Instagram AT: @code_voyager
Приятно, что вы здесь, давайте вернемся к следующему посту и изучим больше!
Хорошего дня!
Оригинал: «https://dev.to/chandrika56/hello-hadoop-learn-hadoop-in-just-a-few-minutes-easily-1687»