Een diepe duik in het varken



Deze blogpost gaat dieper in op Pig en zijn functies. U vindt een demo van hoe u aan Hadoop kunt werken met Pig zonder afhankelijkheid van Java.

Een van de grootste redenen waarom de populariteit van Hadoop de laatste tijd enorm is gestegen, is het feit dat functies zoals Pig en Hive er bovenop draaien, waardoor niet-programmeurs functionaliteit kunnen krijgen die voorheen exclusief was voor Java-programmeurs. Deze features waren een gevolg van de groeiende vraag naar Hadoop-professionals. Andere functies die worden gebruikt door Hadoop-professionals met een niet-Java-achtergrond zijn Flume, Sqoop, HBase en Oozie.





Om te begrijpen waarom je Java niet nodig hebt om Hadoop te leren, ga je naar deze blog .

1 Varkensgeschiedenis



Laten we eens kijken hoe deze functies werken.

We weten allemaal dat programmeerkennis een noodzaak is voor het schrijven van MapReduce-codes. Maar wat als ik een tool heb die de codering kan doen als ik alleen de details zou verstrekken? Dat is waar Pig zijn spierkracht toont. Pig gebruikt een platform genaamd Pig Latin dat de programmering van het Java MapReduce-idioom abstraheert in een notatie die MapReduce op hoog niveau programmeert, vergelijkbaar met dat van SQL voor RDBMS-systemen. De codes die in Pig Latin MapReduce zijn geschreven, worden automatisch geconverteerd naar gelijkwaardige MapReduce-functies. Is dat niet geweldig? Een ander verbluffend feit is dat er slechts 10 Lines of Pig nodig zijn om 200 Lines of Java te vervangen.



10 regels Pig = 200 regels Java

Dit betekent niet alleen dat niet-Java-professionals Hadoop gebruiken, maar getuigt ook van het onderstreepte feit dat Pig wordt gebruikt door een gelijk aantal technische ontwikkelaars.

Als u bovendien uw eigen MapReduce-code wilt schrijven, kunt u dat doen in een van de talen zoals Perl, Python, Ruby of C.Sommige basisbewerkingen die we kunnen uitvoeren op elke Dataset met Pig zijn Group, Join, Filter en Sort . Deze bewerkingen kunnen worden uitgevoerd op gestructureerde, niet-gestructureerde en ook semi-gestructureerde gegevens. Ze bieden een ad-hoc manier voor het maken en uitvoeren van MapReduce-taken op zeer grote gegevenssets.

Laten we vervolgens Hive begrijpen. Het is een open source, peta-byte-schaal datawarehousing-framework op basis van Hadoop voor het samenvatten, opvragen en analyseren van gegevens. Hive biedt een SQL-achtige interface voor Hadoop. U kunt Hive gebruiken om bestanden op Hadoop te lezen en te schrijven en uw rapporten uit te voeren vanuit een BI-tool. Enkele typische functionaliteit van Hadoop zijn:

Ik zal je een demo laten zien met de Pig on Clickstream-dataset
We zullen deze Clickstream-gegevens gebruiken en transformaties, samenvoegingen en groeperingen uitvoeren.

hoe je een dashboard maakt in power bi

ClickStream is een reeks muisklikken die door een gebruiker wordt gemaakt terwijl hij verbinding maakt met internet, vooral als deze wordt gecontroleerd om iemands interesses te beoordelen voor marketingdoeleinden. Het wordt voornamelijk gebruikt door online retailwebsites zoals Flipkart en Amazon, die uw activiteiten volgen om aanbevelingen te genereren. De Clickstream-dataset waarvan we gebruik hebben gemaakt heeft de volgende velden:

1. Type taal ondersteund door de webapplicatie

2. Browsertype

3. Verbindingstype

4. Land-ID

5. Tijdstempel

wat is een token java

6. URL

7. Gebruikersstatus

8. Type gebruiker

Het zal er zo uitzien met de juiste velden.

Hieronder vindt u de lijst met browsertypes die door verschillende mensen zijn gebruikt bij het surfen op een bepaalde website. Onder de lijst bevinden zich browsers zoals Internet Explorer, Google Chrome, Lynx enzovoort.

Het type internetverbinding kan Lan / Modem / Wifi zijn. Zie onderstaande afbeelding voor de volledige lijst:

In de volgende afbeelding vindt u de lijst met landen waar de website publiek heeft aangetrokken, samen met hun ID's.

Zodra we alle datasets hebben verzameld, moeten we de Pig's Grunt-shell starten, die wordt gestart om de Pig-opdrachten uit te voeren.

Het eerste dat we moeten doen bij het starten van Grunt-shell, is de Clickstream-gegevens in de relatie van Pig te laden. Een relatie is niets anders dan een tafel. Hieronder staat de opdracht die we gebruiken om een ​​bestand dat zich in HDFS bevindt in de relatie van Pig te laden.

We kunnen het schema van de relatie verifiëren met het commando description click_stream.

We moeten nu de referentiebestanden toevoegen die details bevatten over de lijst met landen met hun ID's en de verschillende browsertypes samen met hun ID's.

We hebben nu twee referentiebestanden, maar deze moeten worden verbonden om een ​​relatie te vormen.
We voeren een connection_ref commando uit om het type verbinding aan te geven.

inkoopmanagement in projectmanagement

Nu we een werkende verbinding en een gevestigde relatie hebben, laten we u zien hoe we die gegevens kunnen transformeren.
Voor elk record in Clickstream genereren we een nieuw record in een ander formaat, dat wil zeggen de getransformeerde gegevens. Het nieuwe formaat bevat velden zoals TimeStamp, Browsertype, Land-ID's en nog een paar meer.

We kunnen een filterbewerking uitvoeren om de Big Data te verkleinen. De verschillende soorten gebruikers zijn beheerders, gasten of bots. In onze demo heb ik de lijst voor de gasten gefilterd.

Als u het zich herinnert, is de land-ID aanwezig in de Clickstream en hebben we een country_ref-bestand geladen met de namen van de landen en de bijbehorende ID's. We kunnen dus een Join-bewerking uitvoeren tussen de twee bestanden en de gegevens samenvoegen om inzichten te verkrijgen.

Als we de gegevens hebben samengevoegd, kunnen we de verschillende landen achterhalen waar de gebruikers zich bevinden door te groeperen. Zodra we deze gegevens hebben, kunnen we een telbewerking uitvoeren om het aantal gebruikers uit een bepaald land te identificeren.

Het is geen rocket science om inzichten uit Big Data te halen. Dit zijn slechts enkele van de vele functies die ik heb geïmplementeerd en met tools als Hive, Hbase, Oozie, Sqoop en Flume is er een schat aan gegevens die nog moet worden onderzocht. Dus degenen onder jullie die zichzelf ervan weerhouden Hadoop te leren, is het tijd om te veranderen.

Heeft u een vraag voor ons? Vermeld ze in het opmerkingengedeelte en we nemen contact met u op.

Gerelateerde berichten:

4 manieren om R en Hadoop samen te gebruiken

Alles over Cloudera Certified Developer voor Apache Hadoop