Duboko ronjenje u svinju

Ovaj post na blogu duboko je zaronio u Svinju i njegove funkcije. Pronaći ćete demo o tome kako možete raditi na Hadoopu koristeći Pig bez ovisnosti o Javi.

Jedan od najvećih razloga zašto je popularnost Hadoopa u posljednje vrijeme naglo porasla jest činjenica da se na njemu nalaze značajke poput Pig i Hive, što omogućava ne-programerima s funkcionalnošću koja je prije bila ekskluzivna za Java programere. Te su značajke posljedica sve veće potražnje za Hadoop profesionalcima. Ostale značajke koje koriste Hadoop profesionalci iz ne-Java pozadina su Flume, Sqoop, HBase i Oozie.





Da biste shvatili zašto vam Java nije potrebna za učenje Hadoopa, pogledajte ovaj blog .

1Povijest svinja



Razumijemo kako funkcioniraju ove značajke.

Svi znamo da je znanje programiranja nužno za pisanje MapReduce kodova. Ali što ako imam alat koji može kodirati ako bih samo pružio detalje? Tu Svinja pokazuje svoju mišićnu snagu. Pig koristi platformu nazvanu Pig Latin koja apstrahira programiranje iz idioma Java MapReduce u zapis koji čini MapReduce programiranje na visokoj razini, slično onom iz SQL-a za RDBMS sustave. Kodovi napisani svinjskim latiničnim MapReduce automatski se pretvaraju u ekvivalentne MapReduce funkcije. Nije li to strašno? Još jedna nevjerojatna činjenica je da je za zamjenu 200 linija Jave potrebno samo 10 svinjskih linija.



10 redaka svinje = 200 redaka Jave

kako napraviti povezani popis u c

To ne samo da znači da profesionalci koji nisu Java koriste Hadoop, već svjedoči i činjenicu da Pig koristi jednak broj tehničkih programera.

Uz to, ako želite napisati vlastiti MapReduce kôd, to možete učiniti na bilo kojem od jezika kao što su Perl, Python, Ruby ili C. Neke osnovne operacije koje možemo izvršiti na bilo kojem skupu podataka pomoću Praseta su Grupiranje, Pridruživanje, Filtriranje i Poredaj . Te se operacije mogu izvoditi na strukturiranim, nestrukturiranim i također polustrukturiranim podacima. Oni pružaju ad hoc način za stvaranje i izvršavanje MapReduce poslova na vrlo velikim skupovima podataka.

Dalje, shvatimo Hive. Riječ je o otvorenom izvoru, petabajtnog okvira za skladištenje podataka koji se temelji na Hadoopu za sažimanje podataka, upite i analizu. Hive nudi sučelje nalik SQL-u za Hadoop. Hive možete koristiti za čitanje i pisanje datoteka na Hadoopu i pokretanje izvješća iz BI alata. Neke tipične funkcionalnosti Hadoopa su:

Dopustite mi da vam pokažem demonstraciju pomoću skupa podataka Pig on Clickstream
Upotrijebit ćemo ove podatke o streamu klikova i izvršiti transformacije, spajanja i grupiranja.

ClickStream je niz klikova mišem koje je korisnik izvršio tijekom pristupa Internetu, posebno nadziran radi procjene interesa neke osobe u marketinške svrhe. Uglavnom ga koriste mrežne web stranice na malo poput Flipkarta i Amazona koje prate vaše aktivnosti kako bi generirale preporuke. Skup podataka Clickstream koji smo iskoristili ima sljedeća polja:

1. Vrsta jezika koju web aplikacija podržava

2. Tip preglednika

3. Vrsta veze

4. ID države

5. Vremenski žig

6. URL

7. Status korisnika

8. Vrsta korisnika

Izgledat će ovako s odgovarajućim poljima.

Ispod je popis vrsta preglednika koje su razni ljudi koristili prilikom surfanja na određenoj web stranici. Među popisima su preglednici poput Internet Explorera, Google Chromea, Lynxa i tako dalje.

Vrsta internetske veze može biti Lan / Modem / Wifi. Potpuni popis pogledajte na slici dolje:

Na sljedećoj slici pronaći ćete popis zemalja iz kojih je web mjesto privuklo publiku zajedno sa svojim osobnim iskaznicama.

kako napraviti dvostruki int u javi

Nakon što prikupimo sve skupove podataka, moramo pokrenuti Pig's Grunt ljusku koja se pokreće u svrhu pokretanja naredbi Pig.

Prva stvar koju moramo učiniti na pokretanju Grunt ljuske je učitavanje podataka Clickstream u svinjsku vezu. Relacija nije ništa drugo nego tablica. Ispod je naredba koju koristimo za učitavanje datoteke koja boravi u HDFS-u na svinjsku vezu.

Shemu relacije možemo provjeriti naredbom descrip click_stream.

Sada moramo dodati referentne datoteke koje će sadržavati detalje o popisu zemalja s njihovim ID-ovima i različitim vrstama preglednika zajedno s njihovim ID-ovima.

Sada imamo dvije referentne datoteke, ali ih treba povezati kako bi se stvorila relacija.
Izvodimo naredbu connection_ref da naznačimo vrstu veze.

Sad kad imamo radnu vezu i uspostavljenu vezu, pokazat ćemo vam kako možemo transformirati te podatke.
Za svaki zapis u Clickstreamu generirat ćemo novi zapis u drugom formatu, tj. Transformirane podatke. Novi format uključivat će polja poput TimeStamp, vrstu preglednika, ID-ove zemalja i još nekoliko njih.

Možemo izvesti operaciju filtra kako bismo smanjili velike podatke. Različite vrste korisnika su administratori, gosti ili botovi. U našoj demonstraciji filtrirao sam popis gostiju.

Ako se sjećate, ID države prisutan je u Clickstreamu i učitali smo datoteku country_ref koja sadrži imena zemalja zajedno s njezinim ID-ovima. Tako možemo izvršiti operaciju pridruživanja između dviju datoteka i spojiti podatke da bismo dobili uvide.

Ako smo se pridružili podacima, grupiranjem možemo saznati različite zemlje iz kojih su korisnici. Nakon što dobijemo ove podatke, možemo izvršiti operaciju brojanja kako bismo identificirali broj korisnika iz određene zemlje.

Nije raketna znanost dobivanje uvida iz velikih podataka. Ovo su samo neke od mnogih značajki koje sam implementirao, a s alatima poput Hive, Hbase, Oozie, Sqoop i Flume postoji bogatstvo podataka koje tek treba istražiti. Dakle, onima koji se suzdržavaju od učenja Hadoopa, vrijeme je da se promijenite.

Imate pitanje za nas? Molimo navedite ih u odjeljku za komentare i javit ćemo vam se.

Vezane objave:

4 načina zajedničke upotrebe R i Hadoop

Sve o Cloudera certificiranom programeru za Apache Hadoop