Что такое 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. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше-

  1. Что такое кластер Hadoop?
  2. Что такое интеллектуальный анализ данных?
  3. Что такое визуализация данных
  4. Что такое моделирование данных?
  5. Полное руководство по инструментам Kafka