Вступ до компонентів Hadoop

Компоненти Hadoop - це в основному HDFS, зменшення карт, пряжа. Сьогодні ми живемо в цифрову епоху, коли швидкість виробництва даних дуже висока, приблизно ми виробляємо 2, 5 квінтільйона даних на день. Хоча накопичувальна здатність дисків зростає, але швидкість пошуку для цього обсягу даних не зросла. Для подолання цього нам потрібно читати дані паралельно, щоб досягти цього в Hadoop, у нас є HDFS (розподілена файлова система Hadoop), де набори даних зберігаються як блоки в HDFS (детальніше див. Розділ HDFS) для паралельного зчитування даних та досягнення більша швидкість обробки. Обробка даних проводиться для отримання або прогнозування якоїсь змістовної інформації або для отримання певних тенденцій чи зразків. Процес MapReduce використовується для отримання необхідної інформації. Карта та зменшення - це дві різні фази обробки даних.

Основні компоненти Hadoop

Основні компоненти Hadoop описані нижче:

1. Розподілена файлова система Hadoop (HDFS)

HDFS є шаром для зберігання даних Big Data - це кластер багатьох машин, збережені дані можуть бути використані для обробки за допомогою Hadoop. Після того, як дані будуть перенесені на HDFS, ми можемо обробляти їх у будь-який час, до моменту, коли ми обробляємо дані, залишатимуться у форматі HDFS, поки ми не видалимо файли вручну. HDFS зберігає дані як блок, мінімальний розмір блоку - 128 Мб в Hadoop 2.x, а для 1.x - 64 Мб. HDFS копіює блоки доступних даних, якщо дані зберігаються на одній машині, а якщо машина не працює, дані не втрачаються, але щоб їх уникнути, дані реплікуються на різних машинах. Коефіцієнт реплікації за замовчуванням дорівнює 3, і ми можемо змінити в HDFS-site.xml або за допомогою команди Hadoop fs -strep -w 3 / dir шляхом реплікації у нас є блоки на різних машинах для високої доступності.
HDFS - це архітектура головного підлеглого, це ім'я NameNode як головне, а вузол даних - підлеглий. NameNode - це машина, на якій зберігаються всі метадані всіх блоків, що зберігаються в DataNode.

2. Пряжа

YARN була представлена ​​в Hadoop 2.x, до цього Hadoop мав JobTracker для управління ресурсами. Job Tracker був господарем, і він був Track Task як раб. Jock Tracker був тим, хто доглядав за плануванням робочих місць та розподілом ресурсів. Функція відстеження завдань використовувалась для догляду за картою та зменшення завдань, а статус періодично оновлювався в службі відстеження роботи. З це тип менеджера ресурсів, він мав обмеження масштабованості, а одночасне виконання завдань також мало обмеження. Ці питання були вирішені в YARN, і він подбав про розподіл ресурсів та планування робочих місць на кластері. Виконання карти Зменшіть потреби в робочих місцях у кластері, щоб отримати ресурси, виділені для роботи. Пряжа визначає, яка робота виконується і на якій машині вона виконується. У ньому є вся інформація про наявні ядра та пам'ять в кластері, він відстежує споживання пам'яті в кластері. Він взаємодіє з NameNode щодо даних, де він знаходиться, щоб прийняти рішення про розподіл ресурсів.

3. MapReduce

Екосистема Hadoop - це економічно ефективний, масштабований та гнучкий спосіб роботи з такими великими наборами даних. Hadoop - це структура, яка використовує конкретну модель програмування, яку називають MapReduce, для розбиття завдань обчислення на блоки, які можна розподілити навколо кластеру товарних машин за допомогою розподіленої файлової системи Hadoop (HDFS).

MapReduce - це два різних завдання: Map and Reduce, Map передує фазі редуктора. Як видно з назви, фаза Map відображає дані в пари ключових значень, як ми всі знаємо, Hadoop використовує ключові значення для обробки. Фаза редуктора - це фаза, на якій ми маємо реалізувати фактичну логіку. Крім цих двох фаз, він також реалізує фазу переміщення та сортування.

1. Картограф

Mapper - клас, в якому вхідний файл перетворюється в пару ключів і значень для подальшої обробки. Під час зчитування даних він зчитується в ключових значеннях лише там, де ключовим є бітове зміщення і значенням є весь запис.

Наприклад, у нас є файл Diary.txt у тому, що у нас є два рядки, тобто два записи.

Це чудовий день, який нам тут слід насолоджуватися, зсув для 't' дорівнює 0, а для 'w' - 33 (білі пробіли також вважаються символом), тож картограф буде читати дані як пара ключових значень, як (ключ, значення), (0, це прекрасний день), (33, нам слід насолоджуватися)

2. Редуктор

Редуктор - клас, який приймає ключі та значення з виводу фази відображувачів. Клавіші та значення, генеровані від картографа, приймаються як вхідні дані в редуктор для подальшої обробки. Редуктор приймає дані від декількох відображувачів. Редуктор агрегує ці проміжні дані до зменшеної кількості ключів і значень, що є кінцевим результатом, ми це побачимо на прикладі.

3. Водій

Окрім класу mapper та reducer, нам потрібен ще один клас - це Driver class. Цей код необхідний для MapReduce, оскільки це міст між рамкою та реалізованою логікою. Він визначає конфігурацію, шлях вхідних даних, шлях зберігання вихідних даних, а головне, які класифікатори і редуктори потрібно реалізувати, а також багато інших конфігурацій, встановлених у цьому класі. наприклад, у класі драйверів ми можемо вказати роздільник для вихідного файлу, як показано в класі драйверів нижче прикладу.

Приклад

Враховуйте, що у нас є набір даних туристичного агентства, тепер нам потрібно обчислити з даних, скільки людей обирають подорожувати до певного пункту призначення. Для цього нам потрібно взяти пункт призначення як ключовий, і для підрахунку ми приймемо значення як 1. Отже, на фазі картографування ми будемо відображати місце призначення до значення 1. Тепер у перетасовки та сортування фази за картографом, вона буде відображати всі значення в конкретний ключ. Наприклад, якщо у нас є місце призначення як MAA, ми склали карту 1, і після перемішування та сортування ми отримаємо 2 випадки, ми отримаємо MAA, (1, 1), де (1, 1) - значення. Тепер на фазі скорочення у нас вже є логіка, реалізована у фазі скорочення, щоб додати значення, щоб отримати загальний підрахунок квитка, заброньованого в пункт призначення. Це потік MapReduce.

Нижче наведено скріншот реалізованої програми для наведеного вище прикладу.

1. Клас водія

2. Клас Mapper

3. Клас редуктора

Виконання Hadoop

Для виконання Hadoop спочатку нам потрібно створити jar, а потім ми можемо виконати, використовуючи нижче команду Hadoop jar eample.jar /input.txt /output.txt

Висновок

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

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

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

  1. Вступ до архітектури JDBC
  2. Що таке кластер Hadoop?
  3. Що таке MapReduce в Hadoop?
  4. Що таке великі дані та Hadoop
  5. Команди Hadoop fs

Категорія: