Оператори в Apache Pig: Част 1- Релационни оператори



Тази публикация описва за операторите в Apache Pig. Погледнете тази публикация за Оператори в Apache Pig: Част 1 - Релационни оператори.

Тази публикация е за операторите в Apache Pig.Apache Pig също ви позволява да пишете сложни трансформации на данни без знанието на Java, което го прави наистина важен за .Нека да разгледаме набързо какво е Pig и Pig Latin и различните режими, в които те могат да се експлоатират, преди да се насочим към Оператори.

можете ли да разширите и внедрите в java

Какво е Apache Pig?

Apache Pig е процедурен език на високо ниво за заявки на големи масиви от данни с помощта на Hadoop и Map Reduce Platform. Това е Java пакет, където скриптовете могат да се изпълняват от всяка езикова реализация, работеща на JVM. Това се използва много в итеративни процеси.





Apache Pig опростява използването на Hadoop, като позволява подобни на SQL заявки към разпределен набор от данни и дава възможност за създаване на сложни задачи за бързо и ефективно обработване на големи обеми данни. Най-добрата характеристика на Pig е, че тя подкрепя много релационни функции като Join, Group и Aggregate.

Знам, че Pig звучи много повече като ETL инструмент и има много функции, общи за ETL инструментите. Но предимството на Pig пред ETL инструментите е, че може да работи едновременно на много сървъри.



Какво е Apache Pig Latin?

Apache Pig създава по-проста абстракция на процедурен език над Map Reduce, за да изложи по-подобен на структуриран език за заявки (SQL) интерфейс за приложения на Hadoop, наречен Apache Pig Latin, така че вместо да пишете отделно приложение за намаляване на Map, можете да напишете един скрипт в Apache Pig Latin, който автоматично се паралелизира и разпределя в клъстер. С прости думи, Pig Latin, е последователност от прости изявления, взимащи вход и произвеждащи изход. Входните и изходните данни се състоят от торби, карти, кортежи и скалари.

Режими на изпълнение на Apache Pig:

Apache Pig има два режима на изпълнение:

  • Местен режим

В „Локален режим“ изходните данни ще бъдат избрани от локалната директория във вашата компютърна система. Режимът MapReduce може да бъде зададен с помощта на командата ‘pig –x local’.



Оператори в Apache Pig - 1

  • Режим MapReduce:

За да стартирате Pig в режим MapReduce, ви е необходим достъп до клъстера Hadoop и инсталирането на HDFS. Режимът MapReduce може да бъде зададен с помощта на командата ‘pig’.

Оператори на Apache Pig:

Apache Pig Operators е процедурен език на високо ниво за заявки на големи масиви от данни с помощта на Hadoop и Map Reduce Platform. Оператор Pig Latin е оператор, който приема отношение като вход и създава друго отношение като изход. Тези оператори са основните инструменти, които Pig Latin предоставя за работа с данните. Те ви позволяват да го трансформирате чрез сортиране, групиране, присъединяване, проектиране и филтриране.

Нека създадем два файла за изпълнение на командите:

Имаме два файла с име „first“ и „second.“ Първият файл съдържа три полета: user, url & id.

Вторият файл съдържа две полета: url & rating. Тези два файла са CSV файлове.

Операторите на Apache Pig могат да бъдат класифицирани като: Релационна и диагностична.

Релационни оператори:

Релационните оператори са основните инструменти, които Pig Latin предоставя за работа с данните. Тя ви позволява да трансформирате данните чрез сортиране, групиране, присъединяване, проектиране и филтриране. Този раздел обхваща основните релационни оператори.

ТОВАР:

Операторът LOAD се използва за зареждане на данни от файловата система или HDFS съхранение в Pig връзка.

В този пример операторът за зареждане зарежда данни от файл „първи“, за да формира отношение „зареждане1“. Имената на полетата са user, url, id.

ЗА ВСЕКИ:

Този оператор генерира трансформации на данни въз основа на колони с данни. Използва се за добавяне или премахване на полета от връзка. Използвайте операцията FOREACH-GENERATE, за да работите с колони с данни.

FOREACH резултат:

ФИЛТЪР:

Този оператор избира кортежи от релация въз основа на условие.

В този пример филтрираме записа от ‘loading1’, когато условието ‘id’ е по-голямо от 8.

ФИЛТЪР Резултат:

ПРИСЪЕДИНЯВАНЕ:

Операторът JOIN се използва за извършване на вътрешно присъединяване на две или повече връзки въз основа на общи стойности на полето. Операторът JOIN винаги изпълнява вътрешно присъединяване. Вътрешните обединения игнорират нулеви ключове, така че има смисъл да ги филтрирате преди обединяването.

В този пример присъединете двете отношения на базата на колоната ‘url’ от ‘loading1’ и ‘loading2’.

ПРИСЪЕДИНЕТЕ РЕЗУЛТАТ:

ПОДРЕДЕНИ ПО:

Order By се използва за сортиране на връзка на базата на едно или повече полета. Можете да правите сортиране във възходящ или низходящ ред, като използвате ключови думи ASC и DESC.

В долния пример ние сортираме данни в loading2 във възходящ ред в полето за оценки.

ПОРЪЧКА ПО РЕЗУЛТАТ :

РАЗЛИЧЕН:

Distinct премахва дублиращи се кортежи в релация.Позволява да вземем входен файл, както е показано по-долу, който има amr, глупости, 8 и amr, myblog, 10 два пъти във файла. Когато прилагаме различни данни в този файл, дублиращите се записи се премахват.

РАЗЛИЧЕН резултат:

МАГАЗИН:

Store се използва за запазване на резултатите във файловата система.

Тук спестяваме зареждане3 данни във файл с име съхранение на HDFS.

Резултат от МАГАЗИНА:

ГРУПА:

Операторът GROUP групира заедно кортежите с един и същи клавиш за група (ключово поле). Ключовото поле ще бъде кортеж, ако груповият ключ има повече от едно поле, в противен случай ще бъде от същия тип като този на груповия ключ. Резултатът от операция GROUP е връзка, която включва по един кортеж на група.

В този пример група th

e връзка „зареждане1“ по url на колона.

Резултат от ГРУПА:

СЪЮЗ:

COGROUP е същото като оператора GROUP. За четливост програмистите обикновено използват GROUP, когато е включена само една връзка и COGROUP, когато са включени множество връзки.

В този пример групирайте полето ‘loading1’ и ‘loading2’ по url и в двете отношения.

Резултат от COGROUP:

КРЪСТ:

Операторът CROSS се използва за изчисляване на кръстосания продукт (декартов продукт) на две или повече отношения.

Прилагане на кръстосан продукт при зареждане1 и зареждане2.

КРОСС резултат:

ГРАНИЦА:

Операторът LIMIT се използва за ограничаване на броя на изходните кортежи. Ако посоченият брой изходни кортежи е равен или надвишава броя на кортежите в релацията, изходът ще включва всички кортежи в релацията.

Ограничен резултат:

СПЛИТ:

Операторът SPLIT се използва за разделяне на съдържанието на релацията в две или повече релации въз основа на някакъв израз. В зависимост от условията, посочени в израза.

Разделете зареждането2 на две отношения x и y. x релацията, създадена чрез зареждане2, съдържа полетата, при които рейтингът е по-голям от 8, а y релацията съдържа полета, чиято оценка е по-малка или равна на 8.

Имате въпрос към нас? Моля, споменете ги в раздела за коментари и ние ще се свържем с вас.

Подобни публикации:

Оператори в Apache Pig - Диагностични оператори

Стъпки за създаване на UDF в Apache Pig