Et dybt dyk i gris



Dette blogindlæg er et dybt dyk i svin og dets funktioner. Du finder en demo af, hvordan du kan arbejde på Hadoop ved hjælp af Pig uden afhængighed af Java.

En af de største grunde til, at populariteten af ​​Hadoop steg i himlen i nyere tid, er det faktum, at funktioner som Pig og Hive kører oven på det, hvilket tillader ikke-programmører med funktionalitet, der tidligere var eksklusiv for Java-programmører. Disse funktioner var en konsekvens af den voksende efterspørgsel efter Hadoop-professionelle. Andre funktioner, der bruges af Hadoop-professionelle fra ikke-Java-baggrunde, er Flume, Sqoop, HBase og Oozie.





For at forstå, hvorfor du ikke har brug for Java for at lære Hadoop, skal du tjekke ud denne blog .

1Svinhistorie



Lad os forstå, hvordan disse funktioner fungerer.

Vi ved alle, at programmeringskendskab er en nødvendighed for at skrive MapReduce-koder. Men hvad hvis jeg har et værktøj, der kan udføre kodningen, hvis jeg bare vil give detaljerne? Det er her, gris udviser sin muskelkraft. Pig bruger en platform kaldet Pig Latin, der abstraherer programmeringen fra Java MapReduce-idiomet til en notation, der gør MapReduce-programmering til et højt niveau svarende til SQL for RDBMS-systemer. Koderne skrevet i Pig Latin MapReduce konverteres automatisk til tilsvarende MapReduce-funktioner. Er det ikke fantastisk? En anden tankevækkende kendsgerning er, at kun 10 griser er nødvendige for at erstatte 200 linjer af Java.



10 linjer svin = 200 linjer Java

Dette betyder ikke kun, at ikke-Java-professionelle bruger Hadoop, men også vidner om, at Pig bruges af et lige antal tekniske udviklere.

Derudover, hvis du vil skrive din egen MapReduce-kode, kan du gøre det på et hvilket som helst af sprogene som Perl, Python, Ruby eller C. Nogle grundlæggende operationer, som vi kan udføre på ethvert datasæt ved hjælp af Pig, er Group, Join, Filter og Sort . Disse operationer kan udføres på strukturerede, ustrukturerede og også semistrukturerede data. De giver en ad hoc måde at oprette og udføre MapReduce-job på meget store datasæt på.

Lad os derefter forstå Hive. Det er en open source, datalagerramme for peta-byte-skala baseret på Hadoop til dataopsummering, forespørgsel og analyse. Hive giver et SQL-lignende interface til Hadoop. Du kan bruge Hive til at læse og skrive filer på Hadoop og køre dine rapporter fra et BI-værktøj. Nogle typiske funktioner i Hadoop er:

Lad mig vise dig en demo ved hjælp af Pig on Clickstream-datasæt
Vi bruger disse Clickstream-data og udfører transformationer, sammenføjninger og grupperinger.

ClickStream er en række museklik lavet af en bruger, mens han får adgang til Internettet, især som overvåget for at vurdere en persons interesser til markedsføringsformål. Det bruges hovedsageligt af online detailwebsites som Flipkart og Amazon, der sporer dine aktiviteter for at generere anbefalinger. Clickstream-datasættet, som vi har brugt, har følgende felter:

1. Sprogtype, der understøttes af webapplikationen

2. Browser type

Microsoft SQL tutorials til begyndere

3. Forbindelsestype

4. Land-id

5. Tidsstempel

hvad er anonym klasse i java

6. URL

7. Brugerstatus

8. Type bruger

Det vil se sådan ud med de relevante felter.

Nedenfor er listen over browsertyper, der er blevet brugt af forskellige mennesker, når de surfer på et bestemt websted. Blandt listen er browsere som Internet Explorer, Google Chrome, Lynx og så videre.

Internetforbindelsestype kan være Lan / Modem / Wifi. Se billedet nedenfor for den komplette liste:

I det næste billede finder du listen over lande, hvorfra webstedet har tiltrukket publikum sammen med deres id'er.

Når vi har samlet alle datasættene, er vi nødt til at starte Pigs Grunt-skal, som lanceres for at køre Pig-kommandoerne.

Den første ting, vi skal gøre for at starte Grunt shell, er at indlæse Clickstream-data i Pigs forhold. Et forhold er intet andet end et bord. Nedenfor er kommandoen, som vi bruger til at indlæse en fil, der er bosat i HDFS, på Pigs relation.

Vi kan verificere skemaet for forholdet ved hjælp af kommandoen, der beskriver click_stream.

Vi er nu nødt til at tilføje referencefiler, der indeholder detaljer om listen over lande med deres id'er og de forskellige browsertyper sammen med deres id'er.

Vi har nu to referencefiler, men de skal forbindes for at danne en relation.
Vi kører en forbindelse_ref-kommando for at angive typen af ​​forbindelse.

Nu hvor vi har en fungerende forbindelse og en etableret relation, viser vi dig, hvordan vi kan transformere disse data.
For hver post i Clickstream genererer vi en ny post i et andet format, dvs. de transformerede data. Det nye format inkluderer felter som TimeStamp, browsertype, land-id'er og et par mere.

Vi kan udføre en filterhandling for at trimme Big Data ned. De forskellige typer brugere er administratorer, gæster eller bots. I vores demo har jeg filtreret listen til gæsterne.

Hvis du husker, er land-id'et til stede i Clickstream, og vi indlæste en country_ref-fil, der indeholder navnene på landene sammen med dens id'er. Vi kan således udføre en tilslutningsoperation mellem de to filer og flette dataene for at få indsigt.

Hvis vi har tilsluttet os dataene, kan vi finde ud af de forskellige lande, hvorfra brugerne befinder sig, ved at gruppere dem. Når vi har disse data, kan vi udføre en Count-operation for at identificere antallet af brugere fra et bestemt land.

hvad der er uforanderligt objekt i java

Det er ingen raketvidenskab at udlede indsigt fra Big Data. Dette er blot nogle af de mange funktioner, som jeg har implementeret, og med værktøjer som Hive, Hbase, Oozie, Sqoop og Flume er der en skat af data, der endnu ikke skal udforskes. Så de af jer, der holder jer tilbage fra at lære Hadoop, det er tid til at ændre sig.

Har du et spørgsmål til os? Nævn dem i kommentarfeltet, så vender vi tilbage til dig.

Relaterede indlæg:

4 måder at bruge R og Hadoop sammen på

Alt om Cloudera-certificeret udvikler til Apache Hadoop