Dette indlæg handler om operatørerne i Apache Pig.Apache Pig giver dig også mulighed for at skrive komplekse datatransformationer uden kendskab til Java, hvilket gør det virkelig vigtigt for .Lad os se hurtigt på, hvad gris og svinelatin er, og de forskellige tilstande, hvori de kan betjenes, inden vi går videre til operatører.
Hvad er Apache Pig?
Apache Pig er et højt niveau processprog til forespørgsel på store datasæt ved hjælp af Hadoop og Map Reduce Platform. Det er en Java-pakke, hvor scripts kan udføres fra enhver sprogimplementering, der kører på JVM. Dette bruges meget i iterative processer.
Apache Pig forenkler brugen af Hadoop ved at tillade SQL-lignende forespørgsler til et distribueret datasæt og gør det muligt at oprette komplekse opgaver til at behandle store datamængder hurtigt og effektivt. Den bedste funktion i Pig er, at den bakker mange relationelle funktioner som Join, Group og Aggregate.
Jeg ved, at gris lyder meget mere som et ETL-værktøj, og det har mange funktioner, der er fælles for ETL-værktøjer. Men fordelen ved Pig over ETL-værktøjer er, at den kan køre på mange servere samtidigt.
Hvad er Apache Pig Latin?
Apache Pig skaber en enklere processuel sprogabstraktion over Map Reduce for at udsætte en mere Structured Query Language (SQL) -lignende grænseflade til Hadoop-applikationer kaldet Apache Pig Latin, så i stedet for at skrive en separat Map Reduce-applikation kan du skrive et enkelt script i Apache Griselatin, der automatisk paralleliseres og distribueres over en klynge. I enkle ord, Pig Latin, er en sekvens af enkle udsagn, der tager et input og producerer et output. Input- og outputdataene er sammensat af poser, kort, tupler og skalar.
Apache Pig Execution Modes:
Apache Pig har to udførelsestilstande:
Lokal tilstand
I 'Lokal tilstand' vælges kildedataene fra det lokale bibliotek i dit computersystem. MapReduce-tilstanden kan specificeres ved hjælp af kommandoen ‘pig –x local’.
hvad gør iterator i java
MapReduce Mode:
For at køre Pig i MapReduce-tilstand skal du have adgang til Hadoop-klynge og HDFS-installation. MapReduce-tilstanden kan specificeres ved hjælp af kommandoen ‘gris’.
Apache svinoperatører:
Apache Pig Operators er et processprog på højt niveau til forespørgsel på store datasæt ved hjælp af Hadoop og Map Reduce Platform. En Pig Latin-sætning er en operator, der tager en relation som input og producerer en anden relation som output. Disse operatører er de vigtigste værktøjer, som Pig Latin leverer til at betjene dataene. De giver dig mulighed for at transformere det ved at sortere, gruppere, deltage, projicere og filtrere.
Lad os oprette to filer til at køre kommandoerne:
Vi har to filer med navnet 'første' og 'anden.' Den første fil indeholder tre felter: bruger, url og id.
Den anden fil indeholder to felter: url & rating. Disse to filer er CSV-filer.
Apache Pig-operatørerne kan klassificeres som: Relationel og diagnostisk.
Relationelle operatører:
Relationsoperatører er de vigtigste værktøjer, Pig Latin giver til at betjene dataene. Det giver dig mulighed for at transformere dataene ved at sortere, gruppere, sammenføje, projicere og filtrere. Dette afsnit dækker de grundlæggende relationsoperatører.
BELASTNING:
LOAD-operatør bruges til at indlæse data fra filsystemet eller HDFS-lagring i en grisrelation.
I dette eksempel Load-operatøren indlæser data fra filen 'først' for at danne relation 'loading1'. Feltnavne er bruger, url, id.
FOR HVER:
Denne operatør genererer datatransformationer baseret på datakolonner. Det bruges til at tilføje eller fjerne felter fra en relation. Brug FOREACH-GENERATE-operationen til at arbejde med kolonner med data.
FOREACH Resultat:
FILTER:
Denne operatør vælger tupler fra en relation baseret på en tilstand.
I dette eksempel vi filtrerer posten fra 'loading1', når betingelsen 'id' er større end 8.
FILTER Resultat:
TILSLUTTE:
JOIN-operator bruges til at udføre en indre, equijoin-sammenføjning af to eller flere relationer baseret på fælles feltværdier. JOIN-operatøren udfører altid en indre sammenføjning. Indre sammenføjninger ignorerer nul-nøgler, så det giver mening at filtrere dem ud før sammenføjningen.
I dette eksempel slutte sig til de to relationer baseret på kolonnen 'url' fra 'loading1' og 'loading2'.
BLIV MEDLEM Resultat:
BESTIL AF:
Order By bruges til at sortere en relation baseret på et eller flere felter. Du kan sortere i stigende eller faldende rækkefølge ved hjælp af ASC- og DESC-nøgleord.
I nedenstående eksempel sorterer vi data i loading2 i stigende rækkefølge i klassifikationsfeltet.
BESTIL EFTER Resultat :
DISTINCT:
Distinct fjerner dobbelte tupler i en relation. Lad os tage en inputfil som nedenfor, som har amr, crap, 8 og amr, myblog, 10 to gange i filen. Når vi anvender forskellige på dataene i denne fil, fjernes duplikatposter.
DISTINCT Resultat:
BUTIK:
Store bruges til at gemme resultater i filsystemet.
Her sparer vi indlæsning3 data i en fil med navnet opbevaring på HDFS.
OPBEVARING Resultat:
GRUPPE:
GROUP-operatøren grupperer tuplerne med den samme gruppetast (nøglefelt). Nøglefeltet vil være en tuple, hvis gruppetasten har mere end et felt, ellers vil det være den samme type som gruppetasten. Resultatet af en GROUP-operation er en relation, der inkluderer en tuple pr. Gruppe.
I dette eksempel gruppe th
forholdet 'loading1' efter kolonne url.
GROUP-resultat:
COGROUP:
COGROUP er det samme som GROUP-operatør. For læsbarhed bruger programmører normalt GROUP, når kun en relation er involveret, og COGROUP, når flere relationer er involveret.
I dette eksempel grupperer du 'loading1' og 'loading2' efter url-feltet i begge relationer.
COGROUP Resultat:
KRYDS:
CROSS-operatøren bruges til at beregne krydsproduktet (kartesisk produkt) af to eller flere relationer.
Anvendelse af krydsprodukt ved loading1 og loading2.
Korsresultat:
BEGRÆNSE:
LIMIT operatør bruges til at begrænse antallet af output-tupler. Hvis det angivne antal output-tupler er lig med eller overstiger antallet af tupler i forholdet, vil output inkludere alle tupler i forholdet.
GRÆNSE Resultat:
DELE:
SPLIT-operatør bruges til at opdele indholdet af en relation i to eller flere relationer baseret på et eller andet udtryk. Afhængigt af de betingelser, der er angivet i udtrykket.
Opdel loading2 i to relationer x og y. x-forhold oprettet ved loading2 indeholder de felter, at klassificeringen er større end 8, og y-forholdet indeholder felter, der er mindre end eller lig med 8.
datadrevet ramme i eksempel på selen webdriver
Har du et spørgsmål til os? Nævn dem i kommentarfeltet, så vender vi tilbage til dig.
Relaterede indlæg:
Operatører i Apache Pig - Diagnostiske operatører
Trin til oprettelse af UDF i Apache Pig