Що таке Hadoop Streaming?

Потокове передавання Hadoop - це утиліта, що постачається з розподілом Hadoop, яка може використовуватися для виконання програм для аналізу великих даних. Існує кілька мов, які можуть бути використані для цього, як Java, Scala, Unix, Perl, Python та багато інших. Утиліта допомагає нам створювати та запускати карту для зменшення завдань із будь-яким виконуваним сценарієм чи сценарієм, який є картографом та / або редуктором.

Визначення

Це розподіл Hadoop з корисністю. Утиліта допомагає нам створювати та запускати конкретні завдання MapReduce із виконуваним файлом або сценарієм у вигляді картографа та / або редуктора.

Розуміння

Є утиліти Java, які надаються дистрибуцією Hadoop, які називаються потоком Hadoop. Утиліта упакована у файл JAR. За допомогою утиліти ми можемо створювати та запускати завдання MapReduce за допомогою виконуваного сценарію. Крім того, ми можемо створити виконувані сценарії для запуску функцій Mapper і reducer. Виконані сценарії передаються в потокове Hadoop за допомогою команди. Після передачі сценаріїв в потокове Hadoop, утиліта потокового потоку Hadoop створює карту і зменшує завдання та подає їх у кластер. Ці роботи також можна контролювати за допомогою цієї утиліти.

Як це працює?

Сценарій, вказаний для mapper і reducer, працює як нижче-

Після повної ініціалізації сценарію 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 потрібно написати код mapper та reducer, тоді як виконувати ту саму роботу за допомогою програми Java MapReduce є складнішою і її потрібно спершу скомпілювати, потім тестувати, потім пакувати, після чого експортувати файл JAR, а потім запускати.

4. Швидше перетворення

Для перетворення даних з одного формату в інший за допомогою потокової передачі Hadoop потрібно дуже мало часу. Ми можемо використовувати їх для перетворення даних з текстового файлу в файл послідовностей, а потім знову з послідовного файлу в текстовий файл та багатьох інших. Цього можна досягти, використовуючи параметри введення та параметри вихідного формату в потоці Hadoop.

5. Тестування

Вхідні та вихідні дані можна швидко перевірити за допомогою потокової передачі Hadoop за допомогою Unix або Shell Script.

6. Вимога до бізнесу

Для простих бізнес-вимог, таких як прості операції фільтрації та операції агрегації, ми можемо використовувати це з Unix.

7. Продуктивність

Використовуючи потокове передавання Hadoop, ми можемо отримати кращі показники роботи під час роботи з потоковими даними. Існує також кілька недоліків потоку Hadoop, які усуваються за допомогою інших інструментів у пакеті Hadoop, таких як Kafka, flume, spark.

Навіщо нам потрібна потокова передача Hadoop?

Це допомагає в аналізі даних в режимі реального часу, що набагато швидше, використовуючи програмування MapReduce, що працює на багатовузловому кластері. Існують різні технології, такі як іскра Kafka та інші, які допомагають в поточному потоці Hadoop в режимі реального часу.

Як ця технологія допоможе вам у кар’єрному зростанні?

На сьогодні всі великі підприємства переїжджають до Hadoop для аналізу своїх даних, і для багатьох з них може знадобитися аналіз даних у реальному часі. Попит на використання даних у режимі реального часу та їх обробку в один і той же день у день та ця технологія створює багато можливостей для кар’єрного зростання.

Висновок

Він пропонує величезний спектр переваг для різної обробки даних у режимі реального часу з використанням потокових даних.

Рекомендовані статті

Це посібник з Hadoop Streaming. Тут ми обговорюємо визначення, поняття, переваги та недоліки Hadoop Streaming. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

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

Категорія: