Dette innlegget handler om operatørene i Apache Pig.Apache Pig lar deg også skrive komplekse datatransformasjoner uten kunnskap om Java, noe som gjør det veldig viktig for .La oss se raskt på hva gris og griselatin er og de forskjellige modusene de kan brukes på, før vi går videre til operatører.
Hva er Apache Pig?
Apache Pig er et høyt nivå prosessuelt språk for spørring av store datasett ved hjelp av Hadoop og Map Reduce Platform. Det er en Java-pakke der skriptene kan kjøres fra hvilken som helst språkimplementering som kjører på JVM. Dette brukes i stor grad i iterative prosesser.
Apache Pig forenkler bruken av Hadoop ved å tillate SQL-lignende spørsmål til et distribuert datasett og gjør det mulig å lage komplekse oppgaver for å behandle store datamengder raskt og effektivt. Den beste funksjonen til Pig er at den støtter mange relasjonsfunksjoner som Join, Group og Aggregate.
Jeg vet at gris høres mye mer ut som et ETL-verktøy, og det har mange funksjoner som er vanlige med ETL-verktøy. Men fordelen med Pig over ETL-verktøy er at den kan kjøres på mange servere samtidig.
Hva er Apache Pig Latin?
Apache Pig lager et enklere prosessuelt språkabstraksjon over Map Reduce for å avsløre et mer Structured Query Language (SQL) -lignende grensesnitt for Hadoop-applikasjoner kalt Apache Pig Latin, så i stedet for å skrive et eget Map Reduce-program, kan du skrive et enkelt skript i Apache Griselatin som automatisk blir parallellisert og distribuert over en klynge. I enkle ord, Pig Latin, er en sekvens av enkle utsagn som tar en innspill og produserer en utgang. Inndata og utdata er sammensatt av poser, kart, tupler og skalar.
Apache Pig Execution Modes:
Apache Pig har to kjøringsmoduser:
Lokal modus
I 'Lokal modus' vil kildedata bli plukket fra den lokale katalogen i datasystemet ditt. MapReduce-modus kan spesifiseres ved hjelp av 'pig –x local' -kommandoen.
MapReduce-modus:
For å kjøre Pig i MapReduce-modus, trenger du tilgang til Hadoop-klynge og HDFS-installasjon. MapReduce-modus kan spesifiseres ved hjelp av kommandoen ‘gris’.
Apache grisoperatører:
Apache Pig Operators er et høyt prosessuelt språk for spørring av store datasett ved hjelp av Hadoop og Map Reduce Platform. En Pig Latin-setning er en operatør som tar en relasjon som input og produserer en annen relasjon som output. Disse operatørene er de viktigste verktøyene Pig Latin gir for å operere dataene. De lar deg transformere den ved å sortere, gruppere, bli med, projisere og filtrere.
La oss lage to filer for å kjøre kommandoene:
Vi har to filer med navnet 'første' og 'andre.' Den første filen inneholder tre felt: bruker, url og id.
Den andre filen inneholder to felt: url & rating. Disse to filene er CSV-filer.
Apache Pig-operatørene kan klassifiseres som: Relasjonell og diagnostisk.
Relasjonsoperatører:
Relasjonsoperatører er de viktigste verktøyene Pig Latin gir for å operere dataene. Den lar deg transformere dataene ved å sortere, gruppere, bli med, projisere og filtrere. Denne delen dekker de grunnleggende relasjonsoperatørene.
LASTE:
LOAD-operatør brukes til å laste inn data fra filsystemet eller HDFS-lagring i en grisrelasjon.
I dette eksemplet, Lastoperatøren laster inn data fra filen 'først' for å danne relasjon 'lasting1'. Feltnavnene er bruker, url, id.
FOR HVER:
Denne operatøren genererer datatransformasjoner basert på kolonner med data. Den brukes til å legge til eller fjerne felt fra en relasjon. Bruk FOREACH-GENERATE-operasjonen til å jobbe med datakolonner.
Resultat for alle:
FILTER:
Denne operatøren velger tupler fra en relasjon basert på en tilstand.
I dette eksemplet, vi filtrerer posten fra 'loading1' når tilstanden 'id' er større enn 8.
hvordan du gjør databasetesting
FILTER Resultat:
BLI MED:
JOIN-operatør brukes til å utføre en indre sammenføyning av to eller flere relasjoner basert på vanlige feltverdier. JOIN-operatøren utfører alltid en indre sammenføyning. Indre sammenføyninger ignorerer nullnøkler, så det er fornuftig å filtrere dem ut før du blir med.
I dette eksemplet, bli med på de to relasjonene basert på kolonnen ‘url’ fra ‘loading1’ og ‘loading2’.
BLI MED Resultat:
REKKEFØLGE ETTER:
Order By brukes til å sortere en relasjon basert på ett eller flere felt. Du kan sortere i stigende eller synkende rekkefølge ved hjelp av ASC- og DESC-nøkkelord.
I eksemplet nedenfor sorterer vi data i loading2 i stigende rekkefølge i rangeringer-feltet.
BESTIL EFTER Resultat :
TYDELIG:
Distinct fjerner dupliserte tupler i en relasjon. La oss ta en inndatafil som nedenfor, som har amr, dritt, 8 og amr, myblog, 10 to ganger i filen. Når vi bruker forskjellig på dataene i denne filen, blir dupliserte oppføringer fjernet.
DISTINCT Resultat:
BUTIKK:
Store brukes til å lagre resultater i filsystemet.
Her sparer vi lasting3 data i en fil som heter lagring på HDFS.
BUTIKK Resultat:
GRUPPE:
GROUP-operatøren grupperer tuplene med samme gruppetast (nøkkelfelt). Nøkkelfeltet vil være en tupel hvis gruppetasten har mer enn ett felt, ellers vil det være av samme type som gruppetasten. Resultatet av en GROUP-operasjon er en sammenheng som inkluderer en tuple per gruppe.
I dette eksemplet, gruppe th
relasjonen ‘loading1’ etter kolonne-url.
GRUPPERESULTAT:
COGROUP:
COGROUP er det samme som GROUP-operatør. For lesbarhet bruker programmerere vanligvis GROUP når bare en relasjon er involvert, og COGROUP når flere relasjoner er involvert.
I dette eksemplet grupperer du 'loading1' og 'loading2' etter url-feltet i begge relasjoner.
COGROUP Resultat:
KRYSS:
CROSS-operatøren brukes til å beregne kryssproduktet (kartesisk produkt) av to eller flere forhold.
Påføring av kryssprodukt ved lasting1 og lasting2.
Korsresultat:
GRENSE:
LIMIT-operatør brukes til å begrense antall utgangstuppler. Hvis det spesifiserte antall utgangs-tupler er lik eller overstiger antall tupler i forholdet, vil utgangen inkludere alle tuplene i forholdet.
GRENSE Resultat:
DELE:
SPLIT-operatør brukes til å dele innholdet i en relasjon i to eller flere relasjoner basert på noe uttrykk. Avhengig av forholdene som er oppgitt i uttrykket.
Del loading2 i to relasjoner x og y. x-relasjon opprettet ved lasting2 inneholder feltene som er større enn 8, og y-forhold inneholder felt som er mindre enn eller lik 8.
Har du et spørsmål til oss? Vennligst nevn dem i kommentarfeltet, så kommer vi tilbake til deg.
Relaterte innlegg:
Operatører i Apache Pig - Diagnostiske operatører
Fremgangsmåte for å lage UDF i Apache Pig