Что такое Hadoop Streaming?
Потоковая передача Hadoop - это утилита, поставляемая с дистрибутивом Hadoop, которая может использоваться для запуска программ для анализа больших данных. Существует несколько языков, которые можно использовать для этого, например, Java, Scala, Unix, Perl, Python и многие другие. Утилита помогает нам в создании и запуске карт сокращения заданий с любым исполняемым файлом или сценарием, являющимся средством отображения и / или преобразования.
Определение
Это дистрибутив Hadoop с утилитой. Утилита помогает нам создавать и запускать конкретные задания MapReduce с помощью исполняемого файла или сценария в качестве средства отображения и / или восстановления.
понимание
Существуют утилиты Java, предоставляемые дистрибутивом Hadoop, которые называются потоковой передачей Hadoop. Утилита упакована в файл JAR. Используя утилиту, мы можем создавать и запускать задания MapReduce с помощью исполняемого скрипта. Кроме того, мы можем создавать исполняемые скрипты для запуска функций картографирования и редуктора. Исполняемые сценарии передаются в потоковую передачу Hadoop с помощью команды. После того, как сценарии передаются в потоковую передачу Hadoop, потоковая утилита Hadoop создает карту, сокращает количество заданий и отправляет их в кластер. Эти задания также можно отслеживать с помощью этой утилиты.
Как это работает?
Сценарий, указанный для картографа и редуктора, работает следующим образом:
После полной инициализации сценария mapper будет запущен экземпляр сценария с разными идентификаторами процесса. Задача mapper во время работы берет строки ввода и передает их на стандартный ввод. В то же время выходные данные из стандартного вывода процесса собираются картографом. Он преобразует каждую строку в пару ключ-значение. Набор пар ключ-значение затем собирается в качестве выходных данных преобразователя. Пара ключ-значение выбирается на основе первого символа табуляции. Часть строки до начальной вкладки выбрана в качестве ключа, а остальная часть строки выбрана в качестве ценной части. В случае, если вкладка отсутствует в строке, итоговая строка выбирается в качестве ключевой, и для этой строки отсутствует часть значения. Это может быть скорректировано в соответствии с потребностями бизнеса.
Цель использования потоковой передачи Hadoop
Он используется для приема данных в реальном времени, которые могут использоваться в различных приложениях реального времени. Существуют различные приложения в реальном времени, такие как просмотр портфелей акций, анализ рынка акций, составление отчетов о погоде, оповещения о дорожном движении, которые выполняются с использованием потоковой передачи Hadoop.
Работа Hadoop Streaming
Ниже приведен простой пример того, как работает потоковая передача Hadoop:
$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/hadoop-streaming.jar \
-input myInputDirs \
-output myOutputDir \
-mapper org.apache.hadoop.mapred.lib.IdentityMapper \
-reducer /bin/wc
Команда ввода используется для предоставления каталога ввода, а команда вывода используется для предоставления каталога вывода. Команда mapper используется для указания исполняемого класса mapper, в то время как команда reducer используется для указания класса исполняемого редуктора.
Преимущества Hadoop Streaming
Ниже приведены преимущества потоковой передачи Hadoop:
1. Доступность
Это не требует какого-либо дополнительного отдельного программного обеспечения для установки и управления. Есть и другие инструменты, такие как свинья, улей которой можно установить, мне нужно управлять отдельно.
2. Обучение
Не требует изучения новых технологий. Потоковая передача Hadoop может быть использована с минимальными навыками Unix для анализа данных.
3. Сократить время разработки
Он требует написания кода мапперов и редукторов при разработке потоковых приложений в Unix, тогда как выполнение той же работы с использованием приложения Java MapReduce более сложное, и его необходимо сначала скомпилировать, затем протестировать, затем упаковать, затем экспортировать файл JAR и затем запустить.
4. Более быстрое преобразование
Преобразование данных из одного формата в другой с использованием потоковой передачи Hadoop занимает очень мало времени. Мы можем использовать его для преобразования данных из текстового файла в файл последовательности, а затем снова из файла последовательности в текстовый файл и многих других. Этого можно достичь с помощью параметров формата ввода и формата вывода в потоковой передаче Hadoop.
5. Тестирование
Входные и выходные данные можно быстро проверить с помощью потоковой передачи Hadoop с Unix или Shell Script.
6. Требования к бизнесу
Для простых бизнес-требований, таких как простые операции фильтрации и простые операции агрегирования, мы можем использовать это с Unix.
7. Производительность
Используя потоковую передачу Hadoop, мы можем повысить производительность при работе с потоковыми данными. Есть также несколько недостатков потоковой передачи Hadoop, которые устраняются с помощью других инструментов в пакете Hadoop, таких как Kafka, flume, spark.
Зачем нам нужен Hadoop Streaming?
Это помогает в анализе данных в реальном времени, что намного быстрее, используя программирование MapReduce, работающее на многоузловом кластере. Существуют различные технологии, такие как spark Kafka и другие, которые помогают в потоковом режиме Hadoop в реальном времени.
Как эта технология поможет вам в карьерном росте?
В настоящее время все крупные предприятия переходят на Hadoop для анализа данных, и многим из них может потребоваться анализ данных в реальном времени. Потребность в использовании данных в реальном времени и обработке в тот же день изо дня в день, и эта технология создает широкие возможности для индивидуального карьерного роста.
Вывод
Он предлагает огромный спектр преимуществ для различной обработки данных в реальном времени с использованием потоковых данных.
Рекомендуемые статьи
Это руководство по Hadoop Streaming. Здесь мы обсудим определение, концепцию, преимущества и недостатки потоковой передачи Hadoop. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше-
- Что такое кластер Hadoop?
- Что такое интеллектуальный анализ данных?
- Что такое визуализация данных
- Что такое моделирование данных?
- Полное руководство по инструментам Kafka