Введення в інструменти Hadoop
Інструменти Hadoop - це структура, яка використовується для обробки великої кількості даних. Ці дані поширюються на кластер і виконуються розподілені обчислення. Дані зберігаються у блоках розміром 128Mb і для обробки та досягнення результату використовується потужність зменшення карт. Традиційно Map та Reduce були написані на Java, але важко було перетнути майстерність ресурсів, що працюють у сховищах даних, оскільки вони не мали в цьому досвіду. SQL добре відомий і простий у використанні, тому, знайшовши спосіб написати SQL, як запит, який перетворюється на Map and Reduce, це було засновано Facebook і пізніше подаровано Apache, цей інструмент відомий як вулик. Yahoo також придумав інструмент під назвою Pig, який при виконанні перетворюється на зменшення карт. Аналогічно, у нас є Sqoop та flume для руху даних та інструментів для ін'єкцій. HBase - це інструмент системи управління базами даних.
Особливості інструментів Hadoop
- Вулик
- Свиня
- Sqoop
- HBase
- Зоопарк
- Флюм
Тепер ми побачимо функції з коротким поясненням.
1. Вулик
Вулик Apache був заснований Facebook, а згодом пожертвований фондом Apache, який є інфраструктурою сховища даних, він полегшує написання SQL, як Query під назвою HQL або HiveQL. Ці запити внутрішньо перетворюються на завдання зменшення карт, а обробка виконується з використанням розподілених обчислень Hadoop. Він може обробляти дані, які перебувають у форматі HDFS, S3 та всі сховища, сумісні з Hadoop. Ми можемо використовувати засоби, які надає Map Reduce, коли нам щось важко реалізувати у вулику, використовуючи функції, визначені користувачем. Це дозволяє користувачеві зареєструвати UDF та використовувати його у робочих місцях.
Особливості вулика
- Hive може обробляти багато типів форматів файлів, таких як файл послідовності, файл ORC, TextFile тощо.
- Для швидшого виконання доступні розділення, розбиття та індексація.
- Стислі дані також можна завантажувати в таблицю вуликів.
- Керовані або Внутрішні таблиці та зовнішні таблиці - важливі особливості вулика.
2. Свиня
Yahoo розробив свиню Apache, щоб мати додатковий інструмент для зміцнення Hadoop, використовуючи спеціальний спосіб впровадження зменшення карт. У Pig є двигун під назвою Pig Engine, який перетворює сценарії в зменшення карти. Pig - це сценарна мова, сценарії, написані для Pig, знаходяться в PigLatin, подібно до Hive тут, також ми можемо мати UDF для підвищення функціональності. Завдання в Pig оптимізуються автоматично, тому програмістам не потрібно про це турбуватися. Свиня обробляє як структуровані, так і неструктуровані дані.
Особливості Свині
- Користувачі можуть мати власні функції робити спеціальний тип обробки даних.
- Писати коди в Pig легко порівняно, також довжина коду менше.
- Система може автоматично оптимізувати виконання.
3. Sqoop
Sqoop використовується для передачі даних з HDFS в RDBMS і навпаки. Ми можемо перетягувати дані до HDFS з RDBMS, Hive тощо. Ми можемо обробляти та експортувати їх у RDBMS. Ми можемо додавати дані багато разів у таблицю, також ми можемо створити завдання Sqoop та виконати його «n» кількість разів.
Особливості Sqoop
- Sqoop може імпортувати всі таблиці одразу в HDFS.
- Ми можемо вбудувати SQL-запити, а також умови імпорту даних.
- Ми можемо імпортувати дані у вулик, якщо в таблиці є HDFS.
- Кількість відображувачів можна керувати, тобто паралельне виконання може бути кероване, вказавши кількість відображувачів.
4. HBase
Система управління базами даних поверх HDFS називається HBase. HBase - це база даних NoSQL, розроблена поверх HDFS. HBase не є реляційною базою даних, вона не підтримує структуровані мови запитів. HBase використовує розподілену обробку HDFS. У ньому можуть бути великі таблиці з мільйонами і мільйонами записів.
Особливості HBase
- HBase забезпечує масштабованість як лінійної, так і модульної.
- API в JAVA можна використовувати для доступу клієнта.
- HBase забезпечує оболонку для виконання запитів.
5. Зоопарк
Apache Zookeeper - це сервіс централізованої підтримки конфігурації, він веде облік інформації, імен, також надає розподілену синхронізацію та групові послуги. Zookeeper - це централізоване сховище, яке використовується розподіленими програмами для розміщення та отримання даних про нього. Це також допомагає в управлінні вузлами, тобто приєднати або залишити вузол у кластері. Він забезпечує дуже надійний реєстр даних, коли мало вузлів вниз.
Особливості Zookeeper
- Продуктивність може бути збільшена шляхом розподілу завдань, які досягаються додаванням більшої кількості машин.
- Він приховує складність розподілу і зображує себе як єдину машину.
- Збій декількох систем не впливає на всю систему, але недолік цього може призвести до часткової втрати даних.
- Це забезпечує атомність, тобто транзакція є успішною або невдалою, але не в недосконалому стані.
6. Флюм
Apache Flume - це інструмент, який забезпечує прийом даних, який може збирати, агрегувати та транспортувати величезну кількість даних з різних джерел до HDFS, HBase тощо. Flume дуже надійний і може бути налаштований. Він був розроблений для передачі потокових даних з веб-сервера або даних про події в HDFS, наприклад, він може передавати дані Twitter з HDFS. Flume може зберігати дані в будь-якому з централізованих сховищ даних, таких як HBase / HDFS. Якщо виникла ситуація, коли дані виробляються з більшою швидкістю порівняно зі швидкістю, яку можна записати, тоді флюм виступає посередником і забезпечує стабільний потік даних.
Особливості Flume
- Він може передавати дані веб-серверів разом із даними про події, такими як дані із соціальних медіа.
- Трансакції потоку каналів базуються, тобто зберігаються два повідомлення, одне - для відправки, а одне - для отримання.
- Горизонтальне масштабування можливе в навороті.
- Це дуже вірно толерантно, оскільки контекстуальна маршрутизація присутня у флюмі.
Висновок - Інструменти Hadoop
Тут у цій статті ми дізналися про декілька інструментів Hadoop та про те, наскільки вони корисні у світі даних. Ми бачили вулик та свиню, які використовуються для запиту та аналізу даних, зсуву для переміщення даних та руху для передачі потокових даних у HDFS.
Рекомендовані статті
Це керівництво по інструментам Hadoop. Тут ми обговорюємо різні інструменти Hadoop з їх особливостями. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -
- Альтернативи Hadoop
- База даних Hadoop
- Функції струнних SQL
- Що таке великі дані