Вступ до свинячих команд
Apache Pig - інструмент / платформа, яка використовується для аналізу великих наборів даних та виконання довгих серій операцій з передачею даних. Свиня використовується з Hadoop. Усі сценарії свиней внутрішньо перетворюються на завдання зменшення карт і потім виконуються. Він може обробляти структуровані, напівструктуровані та неструктуровані дані. Свині магазини, його результат в HDFS. У цій статті ми дізнаємось більше типів команд Pig.
Ось деякі характеристики Свині:
- Самооптимізація: свиня може оптимізувати завдання виконання, користувач має свободу зосередитися на семантиці.
- Простота програмування: Свиня надає мову / діалект високого рівня, відомий як латинська свиня, яку легко написати. Pig Latin надає безліч операторів, які програміст може використовувати для обробки даних. Програміст також має можливість писати власні функції.
- Розширюваний: Pig полегшує створення спеціальної функції, яку називають UDF (User-определенні функції), яка робить програмістів здатними швидко та легко досягти будь-якої потреби в обробці. Скрипт свиней працює на оболонці, відомий як грунт.
Чому свинячі команди?
Програмісти, які не дуже гарні з Java, зазвичай борються із написанням програм на Hadoop, тобто написанням завдань для зменшення карт. Для них, Pig Latin, що дуже схоже на мову SQL, є благом. Його багатозапитний підхід зменшує довжину коду.
Таким загальним є його стислий та ефективний спосіб програмування. Команди Pig можуть викликати код багатьма мовами, такими як JRuby, Jython та Java.
Архітектура команд свиней
Усі сценарії, написані на Pig-Latin над шрифтом оболонки, йдуть на аналізатор для перевірки синтаксису та інші різні перевірки також трапляються. Вихід аналізатора - DAG. Потім ця DAG передається оптимізатору, який потім виконує логічну оптимізацію, таку як проекція, і штовхає вниз. Тоді компілятор відповідає логічному плану завдань MapReduce. Нарешті, ці завдання MapReduce подаються до Hadoop у відсортованому порядку. Ці завдання виконуються та дають бажані результати.
Свино-латинська модель даних повністю вкладена, і вона дозволяє складні типи даних, такі як карта та кортеж.
Будь-яке одне значення латинської мови свиней (незалежно від типу даних) відоме як Atom.
Основні команди свиней
Давайте розглянемо деякі основні команди Pig, які наведені нижче: -
1. Fs: У цьому списку буде перераховано весь файл у форматі HDFS
grunt> fs –ls
2. Очистити: Це очистить інтерактивну оболонку Grunt.
грунт> ясно
3. Історія:
Ця команда показує виконані до цього часу команди.
grunt> історія
4. Читання даних: якщо припустити, що дані знаходяться у HDFS, і нам потрібно прочитати дані Pig.
grunt> college_students = ЗАВАНТАЖИТИ 'hdfs: // localhost: 9000 / pig_data / college_data.txt'
ВИКОРИСТАННЯ PigStorage (', ')
as (id: int, ім'я: chararray, прізвище: chararray, телефон: chararray,
місто: chararray);
PigStorage () - це функція, яка завантажує та зберігає дані як структуровані текстові файли.
5. Зберігання даних: Оператор магазину використовується для зберігання оброблених / завантажених даних.
grunt> STORE college_students INTO 'hdfs: // localhost: 9000 / pig_Output /' USING PigStorage (', ');
Тут "/ pig_Output /" - це каталог, де потрібно зберігати відношення.
6. Dump Operator: Ця команда використовується для відображення результатів на екрані. Зазвичай це допомагає при налагодженні.
grunt> Dump college_students;
7. Опишіть оператора: Це допомагає програмісту переглянути схему співвідношення.
grunt> опишіть коледжів студентів;
8. Поясніть: Ця команда допомагає переглянути логічні, фізичні та зменшити плани виконання карт.
grunt> пояснити колеґіуденти;
9. Проілюструйте оператор: це дає покрокове виконання висловлювань у Pig Commands.
grunt> ілюструвати коледжів студентів;
Проміжні команди свиней
1. Група: Ця команда Pig працює над групуванням даних за допомогою одного ключа.
grunt> group_data = GROUP College_students за іменем;
2. COGROUP: працює аналогічно оператору групи. Основна відмінність оператора Group & Cogroup полягає в тому, що оператор групи зазвичай використовується з одним відношенням, тоді як cogroup використовується з більш ніж одним відношенням.
3. Приєднуйтесь: використовується для поєднання двох або більше відносин.
Приклад: Для того, щоб виконати самостійне приєднання, скажімо, що відношення «клієнт» завантажується з команд HDFS tp pig у двох відносинах customer1 & customers2.
grunt> customers3 = ПРИЄДНАЙТЕ клієнтів1 BY id, customers2 BY id;
Приєднання може бути самостійним приєднанням, приєднанням із внутрішнім, зовнішнім приєднанням.
4. Хрест: Ця команда свині обчислює поперечний добуток двох або більше відносин.
grunt> cross_data = CROSS клієнти, замовлення;
5. Союз: Він об'єднує два відносини. Умовою злиття є те, що стовпці і домени відношення повинні бути однаковими.
grunt> студент = UNION student1, student2;
Розширені команди свиней
Давайте розглянемо деякі вдосконалені команди Pig, які наведені нижче:
1. Фільтр: Це допомагає відфільтрувати кортежі поза відношення, виходячи з певних умов.
filter_data = FILTER College_students BY city == 'Chennai';
2. Відмінність: це допомагає усунути зайві кортежі з відносини.
grunt> distct_data = DISTINCT College_students;
Ця фільтрація створить нову назву відношення "distct_data"
3. Foreach: Це допомагає генерувати перетворення даних на основі даних стовпців.
grunt> foreach_data = FOREACH student_details GENERATE id, вік, місто;
Це отримає значення id, віку та міста кожного студента із співвідношення student_details і, отже, збереже його в інше співвідношення з назвою foreach_data.
4. Упорядкувати по: Ця команда відображає результат у відсортованому порядку на основі одного або декількох полів.
grunt> order_by_data = ЗАМОВИТИ коледжів студентів за віком DESC;
Це сортуватиме відношення «коледжів» у порядку зменшення за віком.
5. Обмеження: Ця команда обмежується ні. кортежів із відношення.
grunt> limit_data = LIMIT student_details 4;
Поради та рекомендації
Нижче наведено різні поради та підказки команд Pig: -
1. Увімкніть стиснення на вході та виході:
встановити input.compression.enabled true;
встановити true.compression.enabled true;
Вищезазначені рядки коду повинні знаходитися на початку Сценарію, так що Команди Свині дозволять читати стислі файли або генерувати стислі файли як вихідні.
2. Приєднуйтесь до кількох відносин:
Для виконання лівого з'єднання скажімо три відносини (input1, input2, input3), потрібно вибрати SQL. Це тому, що зовнішнє з'єднання не підтримується Pig у більш ніж двох таблицях.
Замість цього ви виконайте зліва, щоб приєднатися в два етапи, як:
data1 = ПРИЄДНАЙТЕСЬ вхід1 ПО клавіші ВЛІВО, input2 BY Клавіша;
data2 = ПРИЄДНАЙТЕСЬ дані 1 BY Вхід1 :: клавіша ВЛІВО, введення3 клавіша BY ;
Це означає два завдання зменшити карту.
Щоб більш ефективно виконати вищезазначене завдання, можна вибрати «Cogroup». Cogroup може приєднатися до кількох відносин. Cogroup за замовчуванням приєднується до зовнішньої.
Висновок
Свиня - це процедурна мова, яка, як правило, використовується вченими даними для спеціальної обробки та швидкого прототипування. Це чудовий інструмент для обробки даних ETL та великих даних. Сценарії свиней можуть використовуватися іншими мовами і навпаки. Отже команди Pig можна використовувати для створення великих і складних додатків.
Рекомендовані статті
Це було керівництвом для команд Pig. Тут ми обговорили основні, а також вдосконалені команди Pig та деякі безпосередні команди Pig. Ви також можете переглянути наступну статтю, щоб дізнатися більше -
- Команди Adobe Photoshop
- Команди Табау
- Чит аркуш SQL (Команди, безкоштовні поради та підказки)
- Команди VBA - завершальні штрихи
- Різні операції, пов'язані з кортежами