O scufundare profundă în porc



Această postare pe blog este o scufundare profundă în Pig și funcțiile sale. Veți găsi o demonstrație despre modul în care puteți lucra pe Hadoop folosind Pig fără dependență de Java.

Unul dintre cele mai mari motive pentru care popularitatea Hadoop a crescut în ultima vreme este faptul că funcții precum Pig și Hive rulează pe deasupra, permițând non-programatorilor cu funcționalități care anterior erau exclusive programatorilor Java. Aceste caracteristici au fost o consecință a cererii în creștere pentru profesioniștii Hadoop. Alte caracteristici utilizate de profesioniștii Hadoop din medii non-Java sunt Flume, Sqoop, HBase și Oozie.





Pentru a înțelege de ce nu aveți nevoie de Java pentru a învăța Hadoop, verificați acest blog .

1 Istoria porcului



Să înțelegem cum funcționează aceste funcții.

Știm cu toții că cunoașterea programării este o necesitate pentru scrierea codurilor MapReduce. Dar dacă am un instrument care poate face codificarea dacă aș furniza doar detaliile? Acolo porcul își manifestă puterea musculară. Pig folosește o platformă numită Pig Latin care abstractizează programarea din idiomul Java MapReduce într-o notație care face ca programarea MapReduce să fie de nivel înalt, similar cu cea a SQL pentru sistemele RDBMS. Codurile scrise în Pig Latin MapReduce sunt convertite automat în funcții MapReduce echivalente. Nu este minunat? Un alt fapt uluitor este că sunt necesare doar 10 linii de porc pentru a înlocui 200 de linii de Java.



10 linii de porc = 200 de linii de Java

Serviciile de integrare a serverului SQL sunt tutoriale pas cu pas

Acest lucru nu înseamnă doar că profesioniștii non-Java folosesc Hadoop, dar mărturisesc și faptul că subliniind că Pig este folosit de un număr egal de dezvoltatori tehnici.

În plus, dacă doriți să scrieți propriul cod MapReduce, puteți face acest lucru în oricare dintre limbile, cum ar fi Perl, Python, Ruby sau C. Unele operațiuni de bază pe care le putem efectua pe orice set de date folosind Pig sunt Grupare, Alăturare, Filtrare și Sortare . Aceste operațiuni pot fi efectuate pe date structurate, nestructurate și, de asemenea, semi-structurate. Acestea oferă o modalitate ad-hoc pentru crearea și executarea joburilor MapReduce pe seturi de date foarte mari.

În continuare, să înțelegem Hive. Este un cadru open source de stocare a datelor la scară peta-octet bazat pe Hadoop pentru rezumarea, interogarea și analiza datelor. Hive oferă o interfață de tip SQL pentru Hadoop. Puteți utiliza Hive pentru a citi și scrie fișiere pe Hadoop și pentru a rula rapoartele dvs. dintr-un instrument BI. Unele funcționalități tipice ale Hadoop sunt:

Permiteți-mi să vă arăt o demonstrație folosind setul de date Pig on Clickstream
Vom folosi aceste date Clickstream și vom efectua transformări, îmbinări și grupări.

ClickStream este o serie de clicuri de mouse efectuate de un utilizator în timp ce accesează Internetul, în special monitorizate pentru a evalua interesele unei persoane în scopuri de marketing. Este utilizat în principal de site-urile de vânzare cu amănuntul online, cum ar fi Flipkart și Amazon, care vă urmăresc activitățile pentru a genera recomandări. Setul de date Clickstream pe care l-am folosit are următoarele câmpuri:

1. Tipul de limbă acceptat de aplicația web

2. Tipul browserului

3. Tipul conexiunii

4. ID-ul țării

5. Ștampila de timp

6. URL

7. Starea utilizatorului

8. Tipul de utilizator

Va arăta astfel cu câmpurile corespunzătoare.

Mai jos este lista tipurilor de browsere care au fost utilizate de diverse persoane atunci când navigau pe un anumit site web. Printre liste se află browsere precum Internet Explorer, Google Chrome, Lynx și așa mai departe.

Tipul de conexiune la internet poate fi Lan / Modem / Wifi. Vedeți imaginea de mai jos pentru lista completă:

În imaginea următoare, veți găsi lista țărilor din care site-ul a atras audiență împreună cu ID-urile lor.

ce este funcția virtuală în java

Odată ce am adunat toate seturile de date, trebuie să lansăm shell-ul Pig’s Grunt, care este lansat pentru a rula comenzile Pig.

Primul lucru pe care trebuie să-l facem la lansarea Grunt shell este să încărcăm datele Clickstream în relația Pig. O relație nu este altceva decât un tabel. Mai jos este comanda pe care o folosim pentru a încărca un fișier care se află în HDFS pe relația Pig.

Putem verifica schema relației prin comanda descrie click_stream.

Acum trebuie să adăugăm fișierele de referință care vor conține detalii despre lista țărilor cu ID-urile lor și diferitele tipuri de browser împreună cu ID-urile lor.

Acum avem două fișiere de referință, dar trebuie să fie conectate pentru a forma o relație.
Executăm o comandă connection_ref pentru a indica tipul de conexiune.

Acum că avem o conexiune de lucru și o relație stabilită, vă vom arăta cum putem transforma aceste date.
Pentru fiecare înregistrare din Clickstream, vom genera o nouă înregistrare într-un format diferit, adică datele transformate. Noul format va include câmpuri precum TimeStamp, tip Browser, ID-uri de țară și câteva altele.

Putem efectua o operațiune de filtrare pentru a reduce Big Data. Diferitele tipuri de utilizatori sunt Administratori, Invitați sau Roboți. În demo-ul nostru, am filtrat lista pentru Oaspeți.

Dacă vă amintiți, ID-ul țării este prezent în Clickstream și am încărcat un fișier country_ref care conține numele țărilor împreună cu ID-urile sale. Astfel, putem efectua o operațiune de Alăturare între cele două fișiere și unim datele pentru a obține informații.

Dacă am alăturat datele, atunci putem afla diferitele țări din care se află utilizatorii prin grupare. Odată ce avem aceste date, putem efectua o operațiune de numărare pentru a identifica numărul de utilizatori dintr-o anumită țară.

Nu este o știință a rachetelor să obțină informații din Big Data. Acestea sunt doar câteva dintre numeroasele caracteristici pe care le-am implementat și cu instrumente precum Hive, Hbase, Oozie, Sqoop și Flume există o comoară de date încă de explorat. Așadar, cei dintre voi care vă împiedicați să învățați Hadoop, este timpul să vă schimbați.

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:

4 moduri de a folosi împreună R și Hadoop

Totul despre dezvoltatorul certificat Cloudera pentru Apache Hadoop