Operateri u svinji Apache: 1. dio - relacijski operateri



Ovaj post opisuje operatore u Apache Pig-u. Pogledajte ovaj post za Operatori u Apache Pig: 1. dio - Relacijski operateri.

Ovaj post govori o operaterima u Apache Pig.Apache Pig također vam omogućuje pisanje složenih transformacija podataka bez znanja Java, što ga čini vrlo važnim za .Kratko ćemo pogledati što su svinja i svinja latinica i različiti načini u kojima se njima može raditi, prije nego što krenemo prema operaterima.

Što je Apache Pig?

Apache Pig je proceduralni jezik na visokoj razini za ispitivanje velikih skupova podataka pomoću Hadoop-a i Map Reduce Platform. To je Java paket, gdje se skripte mogu izvršavati iz bilo koje implementacije jezika koja se izvodi na JVM-u. To se uvelike koristi u iterativnim procesima.





Apache Pig pojednostavljuje upotrebu Hadoop-a dopuštajući SQL-slične upite distribuiranom skupu podataka i omogućava stvaranje složenih zadataka za brzu i učinkovitu obradu velikih količina podataka. Najbolja značajka Praseta je u tome što podupire mnoge relacijske značajke poput Pridruživanja, Grupiranja i Zbrajanja.

Znam da Svinja zvuči puno više poput ETL alata i ima mnoge značajke zajedničke ETL alatima. Ali prednost Pig-a nad ETL alatima je u tome što može istodobno raditi na mnogim poslužiteljima.



Što je Apache Pig Latin?

Apache Pig stvara jednostavniju apstrakciju proceduralnog jezika preko Map Reducea kako bi izložio sučelje nalik strukturiranom jeziku upita (SQL) za Hadoop aplikacije nazvano Apache Pig Latin, pa umjesto pisanja zasebne aplikacije Map Reduce, možete napisati jednu skriptu u Apacheu Svinjski latinski koji se automatski paralelizira i raspoređuje po grozdu. Jednostavnim riječima, svinjski latinski, slijed je jednostavnih izjava koje uzimaju ulaz i daju izlaz. Ulazni i izlazni podaci sastoje se od vrećica, karata, korijena i skalara.

Načini izvršavanja svinja Apache:

Apache Pig ima dva načina izvršavanja:

  • Lokalni način

U ‘Lokalnom načinu’ izvorni podaci birali bi se iz lokalnog direktorija u vašem računalnom sustavu. Način MapReduce može se odrediti pomoću naredbe ‘pig –x local’.



Operateri u Apache Pig - 1

  • MapReduce način:

Da biste pokrenuli Pig u načinu MapReduce, potreban vam je pristup klasteru Hadoop i instalaciji HDFS-a. Način MapReduce može se odrediti pomoću naredbe 'pig'.

Apache svinjski operateri:

Apache Pig Operators je proceduralni jezik na visokoj razini za ispitivanje velikih skupova podataka pomoću Hadoopa i Map Reduce Platform. Izjava svinjskog latinskog jezika je operator koji uzima relaciju kao ulaz i proizvodi drugu relaciju kao izlaz. Ti su operateri glavni alati koje Svinja Latina pruža za rad s podacima. Omogućuju vam transformiranje sortiranjem, grupiranjem, spajanjem, projiciranjem i filtriranjem.

Stvorimo dvije datoteke za pokretanje naredbi:

Imamo dvije datoteke s imenom „prva“ i „druga“. Prva datoteka sadrži tri polja: korisnik, url i id.

Druga datoteka sadrži dva polja: url i rating. Ove dvije datoteke su CSV datoteke.

Operatori Apache Pig mogu se klasificirati kao: Relacijski i dijagnostički.

Relacijski operateri:

Relacijski operateri glavni su alati koje Pig Latin pruža za rad s podacima. Omogućuje vam transformiranje podataka sortiranjem, grupiranjem, spajanjem, projiciranjem i filtriranjem. Ovaj odjeljak pokriva osnovne relacijske operatore.

OPTEREĆENJE:

Operator LOAD koristi se za učitavanje podataka iz datotečnog sustava ili HDFS pohrane u vezu svinja.

U ovom primjeru, operator učitavanja učitava podatke iz datoteke 'prvi' u obrazac relacije 'učitavanje1'. Nazivi polja su user, url, id.

ZA SVAKOGA:

Ovaj operator generira transformacije podataka na temelju stupaca podataka. Koristi se za dodavanje ili uklanjanje polja iz relacije. Koristite operaciju FOREACH-GENERATE za rad sa stupcima podataka.

FOREACH rezultat:

FILTAR:

Ovaj operator odabire korice iz relacije na temelju uvjeta.

U ovom primjeru, filtriramo zapis iz 'loading1' kada je uvjet 'id' veći od 8.

Rezultat FILTERA:

PRIDRUŽITI:

Operator JOIN koristi se za izvođenje unutarnjeg, izjednačenog spajanja dviju ili više relacija na temelju zajedničkih vrijednosti polja. Operator JOIN uvijek izvodi unutarnje spajanje. Unutarnja spajanja zanemaruju null ključeve, pa ih ima smisla filtrirati prije spajanja.

U ovom primjeru, spojite dvije relacije na temelju stupca 'url' iz 'loading1' i 'loading2'.

pretvoriti niz u datum Java -

PRIDRUŽI SE Rezultat:

NARUČITE PO:

Poredak koristi se za sortiranje relacije na temelju jednog ili više polja. Sortiranje možete izvršiti u uzlaznom ili silaznom redoslijedu pomoću ASC i DESC ključnih riječi.

U donjem primjeru sortiramo podatke u loading2 u rastućem redoslijedu na polju ocjena.

NARUČI PO REZULTATU :

RAZLIKUJTE:

Distinct uklanja dvostruke korice u relaciji. Uzmimo ulaznu datoteku kao u nastavku, koja ima amr, sranje, 8 i amr, myblog, 10 dva puta u spisu. Kada primijenimo različite podatke na ovoj datoteci, uklanjaju se duplicirani unosi.

RAZLIČITI Rezultat:

TRGOVINA:

Trgovina služi za spremanje rezultata u datotečni sustav.

Ovdje štedimo utovar3 podatke u datoteku s imenom spremanje na HDFS-u.

REZULTAT TRGOVINE:

SKUPINA:

Operator GROUP grupira korpe s istim ključem grupe (polje ključa). Polje ključa bit će skup, ako ključ grupe ima više od jednog polja, inače će biti istog tipa kao i ključ grupe. Rezultat operacije GROUP relacija je koja uključuje jedan tuple po grupi.

U ovom primjeru, grupa th

e relacija 'učitavanje1' prema url-u stupca.

REZULTAT GRUPE:

COGROUP:

COGROUP je isto što i GROUP operator. Radi čitljivosti programeri obično koriste GROUP kada je uključena samo jedna relacija i COGROUP kada je uključena višestruka relacija.

U ovom primjeru grupirajte polja 'loading1' i 'loading2' po url u obje relacije.

Rezultat udruživanja:

KRIŽ:

Operator CROSS koristi se za izračunavanje umnoška (kartezijski proizvod) dviju ili više relacija.

Primjena unakrsnog proizvoda na utovar1 i utovar2.

KRIŽNI rezultat:

OGRANIČITI:

Operator LIMIT koristi se za ograničavanje broja izlaznih korpica. Ako je navedeni broj izlaznih korpica jednak ili veći od broja korpica u relaciji, izlaz će uključivati ​​sve korpe u relaciji.

REZULTAT OGRANIČENJA:

sortiranje niza u programu c ++

PODJELA:

SPLIT operator koristi se za razdvajanje sadržaja relacije na dvije ili više relacija na temelju nekog izraza. Ovisno o uvjetima navedenim u izrazu.

Podijelite utovar2 na dva odnosa x i y. x relacija stvorena učitavanjem2 sadrži polja koja su ocijenjena većim od 8, a y relacija sadrže polja čija je ocjena manja ili jednaka 8.

Imate pitanje za nas? Molimo navedite ih u odjeljku za komentare i javit ćemo vam se.

Vezane objave:

Operateri u Apache Pig - Dijagnostički operatori

Koraci za stvaranje UDF-a u Apache Pig