Вступ до свинячих команд

Apache Pig - інструмент / платформа, яка використовується для аналізу великих наборів даних та виконання довгих серій операцій з передачею даних. Свиня використовується з Hadoop. Усі сценарії свиней внутрішньо перетворюються на завдання зменшення карт і потім виконуються. Він може обробляти структуровані, напівструктуровані та неструктуровані дані. Свині магазини, його результат в HDFS. У цій статті ми дізнаємось більше типів команд Pig.

Ось деякі характеристики Свині:

  1. Самооптимізація: свиня може оптимізувати завдання виконання, користувач має свободу зосередитися на семантиці.
  2. Простота програмування: Свиня надає мову / діалект високого рівня, відомий як латинська свиня, яку легко написати. Pig Latin надає безліч операторів, які програміст може використовувати для обробки даних. Програміст також має можливість писати власні функції.
  3. Розширюваний: 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. Ви також можете переглянути наступну статтю, щоб дізнатися більше -

  1. Команди Adobe Photoshop
  2. Команди Табау
  3. Чит аркуш SQL (Команди, безкоштовні поради та підказки)
  4. Команди VBA - завершальні штрихи
  5. Різні операції, пов'язані з кортежами

Категорія: