Et dypt dykk i grisen



Dette blogginnlegget er et dypdykk i Pig og dets funksjoner. Du finner en demo av hvordan du kan jobbe på Hadoop ved hjelp av Pig uten avhengighet av Java.

En av de største grunnene til at populariteten til Hadoop steg i været i det siste, er det faktum at funksjoner som Pig og Hive kjører på toppen av det, slik at ikke-programmerere med funksjonalitet som tidligere var eksklusive for Java-programmerere. Disse funksjonene var en konsekvens av den økende etterspørselen etter Hadoop-profesjonelle. Andre funksjoner som brukes av Hadoop-fagpersoner fra ikke-Java-bakgrunn, er Flume, Sqoop, HBase og Oozie.





For å forstå hvorfor du ikke trenger Java for å lære Hadoop, sjekk ut denne bloggen .

1Svinhistorie



typer rammer i selen

La oss forstå hvordan disse funksjonene fungerer.

Vi vet alle at programmeringskunnskap er en nødvendighet for å skrive MapReduce-koder. Men hva om jeg har et verktøy som kan gjøre kodingen hvis jeg bare vil gi detaljene? Det er her Pig viser sin muskelkraft. Pig bruker en plattform som heter Pig Latin som trekker programmeringen fra Java MapReduce-idiomet inn i en notasjon som gjør MapReduce-programmering på høyt nivå, lik den for SQL for RDBMS-systemer. Kodene skrevet i Pig Latin MapReduce blir automatisk konvertert til tilsvarende MapReduce-funksjoner. Er ikke det kjempebra? Et annet tankevekkende faktum er at bare 10 linjer med gris er nødvendig for å erstatte 200 linjer med Java.



10 linjer gris = 200 linjer med Java

Dette betyr ikke bare at ikke-Java-profesjonelle bruker Hadoop, men vitner også om at Pig brukes av like mange tekniske utviklere.

I tillegg, hvis du vil skrive din egen MapReduce-kode, kan du gjøre det på hvilket som helst av språkene som Perl, Python, Ruby eller C. Noen grunnleggende operasjoner som vi kan utføre på ethvert datasett ved hjelp av Pig er Group, Join, Filter og Sort . Disse operasjonene kan utføres på strukturerte, ustrukturerte og også semistrukturerte data. De gir en ad-hoc måte å opprette og utføre MapReduce-jobber på veldig store datasett på.

Neste gang, la oss forstå Hive. Det er en åpen kildekode, peta-byte skala datalager ramme basert på Hadoop for data oppsummering, spørring og analyse. Hive gir et SQL-lignende grensesnitt for Hadoop. Du kan bruke Hive til å lese og skrive filer på Hadoop og kjøre rapportene dine fra et BI-verktøy. Noen typiske funksjoner av Hadoop er:

La meg vise deg en demo ved hjelp av Pig on Clickstream-datasettet
Vi bruker disse Clickstream-dataene og utfører transformasjoner, tilknytninger og grupperinger.

ClickStream er en serie museklikk som er gjort av en bruker mens de bruker Internett, spesielt som overvåkes for å vurdere en persons interesser for markedsføringsformål. Den brukes hovedsakelig av nettbutikker som Flipkart og Amazon som sporer aktivitetene dine for å generere anbefalinger. Clickstream-datasettet som vi har brukt, har følgende felt:

1. Språktype som støttes av webapplikasjonen

2. Nettlesertype

3. Tilkoblingstype

4. Land-ID

5. Tidsstempel

6. URL

7. Brukerstatus

8. Type bruker

Det vil se slik ut med de aktuelle feltene.

Nedenfor er listen over nettlesertyper som har blitt brukt av forskjellige mennesker når de surfer på et bestemt nettsted. Blant listen er nettlesere som Internet Explorer, Google Chrome, Lynx og så videre.

Internett-tilkoblingstype kan være Lan / Modem / Wifi. Se bildet nedenfor for den komplette listen:

I neste bilde finner du listen over land hvor nettstedet har tiltrukket publikum sammen med ID-ene.

Når vi har samlet alle datasettene, må vi starte Pig’s Grunt shell, som lanseres for å kjøre Pig-kommandoene.

Det første vi må gjøre for å lansere Grunt shell er å laste Clickstream-dataene inn i Pigs forhold. Et forhold er ikke annet enn et bord. Nedenfor er kommandoen vi bruker for å laste en fil som er bosatt i HDFS på Pigs forhold.

Vi kan verifisere skjemaet for relasjonen ved å bruke kommandoen click_stream.

Vi må nå legge til referansefilene som inneholder detaljer om listen over land med ID-er og forskjellige nettlesertyper sammen med ID-er.

Vi har nå to referansefiler, men de må kobles sammen for å danne en relasjon.
Vi kjører en connection_ref-kommando for å indikere typen tilkobling.

Nå som vi har en fungerende forbindelse og en etablert relasjon, vil vi vise deg hvordan vi kan transformere dataene.
For hver post i Clickstream vil vi generere en ny post i et annet format, dvs. de transformerte dataene. Det nye formatet vil inkludere felt som TimeStamp, nettlesertype, land-ID og noen flere.

Vi kan utføre en filteroperasjon for å trimme ned Big Data. De forskjellige typer brukere er administratorer, gjester eller roboter. I vår demo har jeg filtrert listen for gjestene.

Hvis du husker det, er land-ID-en til stede i Clickstream, og vi lastet inn en country_ref-fil som inneholder navnene på landene sammen med ID-ene. Vi kan dermed utføre en Join-operasjon mellom de to filene og slå sammen dataene for å få innsikt.

Hvis vi har sluttet oss til dataene, kan vi finne ut de forskjellige landene hvor brukerne er fra ved å gruppere. Når vi har disse dataene, kan vi utføre en Count-operasjon for å identifisere antall brukere fra et bestemt land.

Det er ingen rakettvitenskap å hente innsikt fra Big Data. Dette er bare noen av de mange funksjonene jeg har implementert, og med verktøy som Hive, Hbase, Oozie, Sqoop og Flume er det en skatte av data som ennå ikke skal utforskes. Så de av dere som holder deg tilbake fra å lære Hadoop, det er på tide å endre seg.

Har du et spørsmål til oss? Vennligst nevn dem i kommentarfeltet, så kommer vi tilbake til deg.

Relaterte innlegg:

4 måter å bruke R og Hadoop sammen

Alt om Cloudera-sertifisert utvikler for Apache Hadoop