Operatori în Apache Pig: Partea 1 - Operatori relaționali



Această postare descrie despre Operatorii din Apache Pig. Aruncați o privire la acest post pentru Operatori în Apache Pig: Partea 1 - Operatori relaționali.

Această postare este despre operatorii din Apache Pig.Apache Pig vă permite, de asemenea, să scrieți transformări complexe de date fără cunoștințele Java, ceea ce îl face cu adevărat important pentru .Să aruncăm o privire rapidă despre ce este Porcul și Porcul Latin și diferitele moduri în care pot fi operate, înainte de a ne îndrepta către Operatori.

Ce este Apache Pig?

Apache Pig este un limbaj procedural la nivel înalt pentru interogarea seturilor de date mari folosind Hadoop și platforma Map Reduce. Este un pachet Java, unde scripturile pot fi executate din orice implementare de limbă care rulează pe JVM. Acest lucru este foarte utilizat în procesele iterative.





Apache Pig simplifică utilizarea Hadoop, permițând interogări de tip SQL către un set de date distribuite și face posibilă crearea de sarcini complexe pentru a procesa volume mari de date rapid și eficient. Cea mai bună caracteristică a Pig este că sprijină multe caracteristici relaționale, precum Join, Group și Aggregate.

Știu că Pig pare mult mai mult ca un instrument ETL și are multe caracteristici comune cu instrumentele ETL. Dar avantajul Pig față de instrumentele ETL este că poate rula simultan pe mai multe servere.



Ce este Apache Pig Latin?

Apache Pig creează o abstracție de limbaj procedural mai simplă peste Map Reduce pentru a expune o interfață mai structurată (SQL) pentru aplicațiile Hadoop numită Apache Pig Latin, Deci, în loc să scrieți o aplicație Map Reduce separată, puteți scrie un singur script în Apache Porc latin care este automat paralelizat și distribuit pe un cluster. În cuvinte simple, Pig Latin, este o succesiune de afirmații simple care iau o intrare și produce o ieșire. Datele de intrare și ieșire sunt compuse din saci, hărți, tupluri și scalare.

Moduri de executare Apache Pig:

Apache Pig are două moduri de execuție:

  • Mod local

În „Mod local”, datele sursă vor fi preluate din directorul local din sistemul computerului. Modul MapReduce poate fi specificat folosind comanda „porc –x local”.



Operatori în Apache Pig - 1

  • Mod MapReduce:

Pentru a rula Pig în modul MapReduce, aveți nevoie de acces la clusterul Hadoop și la instalarea HDFS. Modul MapReduce poate fi specificat folosind comanda „porc”.

Operatori de porci Apache:

Operatorii Apache Pig sunt un limbaj procedural la nivel înalt pentru interogarea unor seturi mari de date folosind Hadoop și platforma Map Reduce. O declarație Pig Latin este un operator care ia o relație ca intrare și produce o altă relație ca ieșire. Acești operatori sunt principalele instrumente pe care Pig Latin le oferă pentru a opera datele. Acestea vă permit să o transformați prin sortare, grupare, alăturare, proiectare și filtrare.

Să creăm două fișiere pentru a rula comenzile:

Avem două fișiere cu numele „primul” și „al doilea.” Primul fișier conține trei câmpuri: utilizator, adresă URL și id.

Al doilea fișier conține două câmpuri: URL și rating. Aceste două fișiere sunt fișiere CSV.

Operatorii Apache Pig pot fi clasificați ca: Relațional și diagnostic.

Operatori relaționali:

Operatorii relaționali sunt principalele instrumente pe care Pig Latin le oferă pentru a opera datele. Vă permite să transformați datele prin sortare, grupare, alăturare, proiectare și filtrare. Această secțiune acoperă operatorii relaționali de bază.

SARCINĂ:

Operatorul LOAD este folosit pentru a încărca date din sistemul de fișiere sau din stocarea HDFS într-o relație Pig.

În acest exemplu, operatorul de încărcare încarcă date din fișierul „primul” pentru a forma relația „încărcare1”. Numele câmpului sunt user, url, id.

PENTRU FIECARE:

Acest operator generează transformări de date pe baza coloanelor de date. Se folosește pentru a adăuga sau a elimina câmpuri dintr-o relație. Utilizați operația FOREACH-GENERATE pentru a lucra cu coloane de date.

sortarea unei matrice în programul c ++

Rezultatul FOREACH:

FILTRU:

Acest operator selectează tupluri dintr-o relație pe baza unei condiții.

În acest exemplu, filtrăm înregistrarea din „încărcare1” atunci când condiția „id” este mai mare de 8.

FILTRU Rezultat:

A TE ALATURA:

Operatorul JOIN este utilizat pentru a efectua o îmbinare interioară, echijoin a două sau mai multe relații bazate pe valori de câmp comune. Operatorul JOIN efectuează întotdeauna o îmbinare interioară. Îmbinările interioare ignoră cheile nule, deci are sens să le filtrăm înainte de îmbinare.

În acest exemplu, alăturați-vă celor două relații bazate pe coloana „url” din „încărcare1” și „încărcare2”.

ÎNSCRIEȚI-VĂ Rezultat:

COMANDA DE:

Order By este folosit pentru a sorta o relație pe baza unuia sau mai multor câmpuri. Puteți face sortare în ordine crescătoare sau descendentă utilizând cuvinte cheie ASC și DESC.

În exemplul de mai jos, sortăm datele în încărcare2 în ordine crescătoare pe câmpul de evaluare.

COMANDA DE Rezultat :

DISTINCT:

Distinct elimină tuplurile duplicate într-o relație. Să luăm un fișier de intrare ca mai jos, care are amr, porcărie, 8 și amr, myblog, 10 de două ori în fișier. Când aplicăm în mod distinct datele din acest fișier, intrările duplicate sunt eliminate.

DISTINCT Rezultat:

MAGAZIN:

Magazin este utilizat pentru a salva rezultatele în sistemul de fișiere.

Aici salvăm încărcare3 date într-un fișier numit depozitare pe HDFS.

cum funcționează castingul în java

MAGAZIN Rezultat:

GRUP:

Operatorul GROUP grupează tuplurile cu aceeași cheie de grup (câmpul cheie). Câmpul cheie va fi un tuplu dacă cheia de grup are mai multe câmpuri, altfel va fi de același tip cu cel al cheii de grup. Rezultatul unei operații de GRUP este o relație care include un tuplu per grup.

În acest exemplu, grupa th

Relația „încărcare1” după adresa URL a coloanei.

GRUP Rezultat:

java converti de la dublu la int

COGROUP:

COGROUP este același cu operatorul GROUP. Pentru lizibilitate, programatorii folosesc de obicei GROUP atunci când este implicată o singură relație și COGROUP când sunt implicate relații multiple.

În acest exemplu, grupați câmpul „încărcare1” și „încărcare2” după adresa URL în ambele relații.

COGROUP Rezultat:

CRUCE:

Operatorul CROSS este utilizat pentru a calcula produsul încrucișat (produs cartezian) a două sau mai multe relații.

Aplicarea produselor încrucișate la încărcare1 și încărcare2.

Rezultat CROSS:

LIMITĂ:

Operatorul LIMIT este utilizat pentru a limita numărul de tupluri de ieșire. Dacă numărul specificat de tupluri de ieșire este egal sau depășește numărul de tupluri din relație, rezultatul va include toate tuplurile din relație.

LIMIT Rezultat:

DESPICĂ:

Operatorul SPLIT este folosit pentru partiționarea conținutului unei relații în două sau mai multe relații bazate pe o anumită expresie. În funcție de condițiile enunțate în expresie.

Împarte încărcătura2 în două relații x și y. relația x creată prin încărcare2 conține câmpurile cu care ratingul este mai mare de 8, iar relația y conține câmpuri cu ratingul mai mic sau egal cu 8.

Ai o întrebare pentru noi? Vă rugăm să le menționați în secțiunea de comentarii și vă vom răspunde.

Postări asemănatoare:

Operatori în Apache Pig - Operatori de diagnosticare

Pași pentru a crea UDF în Apache Pig