Ett djupt dyk i gris



Detta blogginlägg är ett djupt dyk i gris och dess funktioner. Du hittar en demo av hur du kan arbeta på Hadoop med Pig utan beroende av Java.

En av de största anledningarna till att Hadoops popularitet skjutit i höjden under senare tid är det faktum att funktioner som Pig och Hive körs på toppen av det som tillåter icke-programmerare med funktionalitet som tidigare var exklusiv för Java-programmerare. Dessa funktioner var en följd av den växande efterfrågan på Hadoop-proffs. Andra funktioner som används av Hadoop-proffs från icke-Java-bakgrunder är Flume, Sqoop, HBase och Oozie.





För att förstå varför du inte behöver Java för att lära dig Hadoop, kolla in den här bloggen .

1Pig History



Låt oss förstå hur dessa funktioner fungerar.

Vi vet alla att programmeringskunskap är en nödvändighet för att skriva MapReduce-koder. Men tänk om jag har ett verktyg som kan göra kodningen om jag bara skulle ge detaljerna? Det är där Pig uppvisar sin muskelkraft. Pig använder en plattform som kallas Pig Latin som abstrakterar programmeringen från Java MapReduce-idiomet till en notation som gör MapReduce-programmering på hög nivå, liknande den för SQL för RDBMS-system. Koderna skrivna i Pig Latin MapReduce konverteras automatiskt till motsvarande MapReduce-funktioner. Är det inte fantastiskt? Ett annat faktum är att endast 10 grisrader behövs för att ersätta 200 rader av Java.



10 rader gris = 200 rader Java

Detta betyder inte bara att icke-Java-proffs använder Hadoop utan också vittnar om att Pig används av lika många tekniska utvecklare.

Dessutom, om du vill skriva din egen MapReduce-kod kan du göra det på något av språken som Perl, Python, Ruby eller C. . Dessa operationer kan utföras på strukturerad, ostrukturerad och även halvstrukturerad data. De ger ett ad hoc-sätt för att skapa och utföra MapReduce-jobb på mycket stora datamängder.

Låt oss sedan förstå Hive. Det är en öppen källkod, datalagringsram för peta-byte-skala baserad på Hadoop för sammanfattning, fråga och analys av data. Hive tillhandahåller ett SQL-liknande gränssnitt för Hadoop. Du kan använda Hive för att läsa och skriva filer på Hadoop och köra dina rapporter från ett BI-verktyg. Några typiska funktioner för Hadoop är:

Låt mig visa dig en demo med Pig on Clickstream-datauppsättningen
Vi kommer att använda denna Clickstream-data och utföra Transformations, Joins and Groupings.

hur man använder splitmetoden i java

ClickStream är en serie musklick som görs av en användare vid åtkomst till Internet, särskilt som övervakas för att bedöma en persons intressen för marknadsföringsändamål. Det används huvudsakligen av online-detaljhandelswebbplatser som Flipkart och Amazon som spårar dina aktiviteter för att generera rekommendationer. Clickstream-datauppsättningen som vi har använt har följande fält:

1. Typ av språk som stöds av webbapplikationen

2. Webbläsartyp

3. Anslutningstyp

4. Lands-ID

5. Tidsstämpel

6. URL

7. Användarstatus

8. Typ av användare

Det kommer att se ut så här med lämpliga fält.

Nedan är listan över webbläsartyper som har använts av olika personer när de surfar på en viss webbplats. Bland listan finns webbläsare som Internet Explorer, Google Chrome, Lynx och så vidare.

Internetanslutningstyp kan vara Lan / Modem / Wifi. Se bilden nedan för en fullständig lista:

I nästa bild hittar du listan över länder från vilka webbplatsen har lockat publik tillsammans med deras ID.

När vi väl har samlat alla datauppsättningar måste vi starta Pigs Grunt-skal, som lanseras för att köra Pig-kommandona.

Det första vi måste göra för att lansera Grunt-skal är att ladda Clickstream-data i Pigs relation. En relation är inget annat än ett bord. Nedan följer kommandot som vi använder för att ladda en fil som finns i HDFS till Pigs relation.

Vi kan verifiera schemat för relationen med kommandot beskriva click_stream.

Vi måste nu lägga till referensfilerna som kommer att innehålla detaljer om listan över länder med deras ID och de olika webbläsartyperna tillsammans med deras ID.

Vi har nu två referensfiler, men de måste anslutas för att bilda en relation.
Vi kör ett connection_ref-kommando för att ange typen av anslutning.

Nu när vi har en fungerande anslutning och en etablerad relation, visar vi dig hur vi kan omvandla den informationen.
För varje post i Clickstream kommer vi att generera en ny post i olika format, det vill säga transformerade data. Det nya formatet inkluderar fält som TimeStamp, webbläsartyp, land-ID och några fler.

skillnaden mellan aws och azure

Vi kan utföra en filteroperation för att klippa ner Big Data. De olika typerna av användare är administratörer, gäster eller bots. I vår demo har jag filtrerat listan för gästerna.

Om du kommer ihåg finns land-id i Clickstream och vi laddade en country_ref-fil som innehåller namnen på länderna tillsammans med dess ID. Vi kan därmed utföra en anslutningsoperation mellan de två filerna och slå samman data för att få insikter.

Om vi ​​har gått med i uppgifterna kan vi ta reda på de olika länderna varifrån användarna befinner sig genom gruppering. När vi har dessa uppgifter kan vi utföra en räkneoperation för att identifiera antalet användare från ett visst land.

Det är ingen raketvetenskap att få insikter från Big Data. Det här är bara några av de många funktioner som jag har implementerat och med verktyg som Hive, Hbase, Oozie, Sqoop och Flume finns det en skatt av data som ännu inte ska undersökas. Så de av er som håller er tillbaka från att lära sig Hadoop, det är dags att förändras.

Har du en fråga till oss? Vänligen nämna dem i kommentarfältet så återkommer vi till dig.

Relaterade inlägg:

4 sätt att använda R och Hadoop tillsammans

Allt om Cloudera-certifierad utvecklare för Apache Hadoop