Operátorok az Apache Pig-ben: 1. rész - Relációs operátorok



Ez a bejegyzés az Apache Pig operátorairól ír le. Vessen egy pillantást erre az Apache Pig operátorok: 1. rész - relációs operátorok című bejegyzésre.

Ez a bejegyzés az Apache Pig operátorairól szól.Az Apache Pig lehetővé teszi komplex adattranszformációk írását a Java ismerete nélkül is, ami igazán fontossá teszi a .Vizsgáljuk meg gyorsan, mi a Pig és Pig Latin, és a különböző módok, amelyekben működtethetők, mielőtt tovább mennénk az Operátorokhoz.

r programozási nyelvet használó vállalatok

Mi az Apache Pig?

Az Apache Pig egy magas szintű eljárási nyelv nagy adathalmazok lekérdezéséhez a Hadoop és a Map Reduce Platform segítségével. Ez egy Java csomag, ahol a parancsfájlok a JVM-en futó bármely nyelvű implementációból végrehajthatók. Ezt nagymértékben használják az iteratív folyamatokban.





Az Apache Pig leegyszerűsíti a Hadoop használatát azáltal, hogy SQL-szerű lekérdezéseket engedélyez egy elosztott adatkészlethez, és lehetővé teszi összetett feladatok létrehozását nagy mennyiségű adat gyors és hatékony feldolgozásához. A Pig legjobb tulajdonsága, hogy számos relációs funkciót támogat, mint például a Join, a Group és az Aggregate.

Tudom, hogy a Pig sokkal inkább ETL eszköznek hangzik, és sok olyan jellemzője van, mint az ETL eszközöknek. De a Pig előnye az ETL eszközökkel szemben, hogy sok szerveren futtatható egyszerre.



Mi az Apache Pig Latin?

Az Apache Pig egyszerűbb eljárási nyelv absztrakciót hoz létre a Map Reduce felett, hogy egy strukturáltabb Query Language (SQL) -szerű felület jelenjen meg az Apache Pig Latin nevű Hadoop alkalmazások számára. Tehát külön Map Reduce alkalmazás írása helyett egyetlen szkriptet írhat az Apache-ba Pig Latin, amely automatikusan párhuzamos és eloszlik egy fürtön. Egyszerű szavakkal, a Pig Latin egy egyszerű utasítássorozat, amely bevitelt és kimenetet eredményez. A bemeneti és kimeneti adatok zsákokból, térképekből, sorrendekből és skalárból állnak.

Apache Pig végrehajtási módok:

Az Apache Pignek két végrehajtási módja van:

  • Helyi mód

„Helyi módban” a forrásadatokat a számítógépes rendszer helyi könyvtárából kell kiválasztani. A MapReduce mód a ’pig –x local’ paranccsal határozható meg.



Operátorok az Apache Pig-ben - 1

  • MapReduce mód:

A Pig futtatásához MapReduce módban hozzáférnie kell a Hadoop-fürt és a HDFS telepítéséhez. A MapReduce mód a „pig” paranccsal határozható meg.

Apache Pig Operátorok:

Az Apache Pig Operators magas szintű eljárási nyelv a nagy adathalmazok lekérdezéséhez a Hadoop és a Map Reduce Platform segítségével. A Pig Latin utasítás olyan operátor, amely egy relációt vesz bemenetként, és egy másik relációt hoz létre kimenetként. Ezek az operátorok jelentik a Pig Latin által biztosított legfőbb eszközöket az adatok kezelésére. Lehetővé teszik átalakítását válogatás, csoportosítás, csatlakozás, kivetítés és szűrés útján.

Hozzunk létre két fájlt a parancsok futtatásához:

Két fájlunk van: „első” és „második”. Az első fájl három mezőt tartalmaz: user, url & id.

A második fájl két mezőt tartalmaz: URL és minősítés. Ez a két fájl CSV fájl.

Az Apache Pig operátorok a következőkbe sorolhatók: Relációs és diagnosztikai.

Kapcsolati operátorok:

A relációs operátorok jelentik a Pig Latin által biztosított legfőbb eszközt az adatok kezelésére. Lehetővé teszi az adatok átalakítását válogatás, csoportosítás, összekapcsolás, kivetítés és szűrés útján. Ez a szakasz az alapvető relációs operátorokat ismerteti.

BETÖLTÉS:

A LOAD operátort arra használják, hogy adatokat töltsön fel a fájlrendszerből vagy a HDFS-tárolóból egy Pig relációba.

Ebben a példában a Load operátor az 'first' fájlból tölti be az adatokat a 'loading1' relációba. A mezőnevek: user, url, id.

AZ EGYES:

Ez az operátor adattranszformációkat generál az adatoszlopok alapján. Mezők hozzáadására vagy eltávolítására szolgál egy relációból. Használja a FOREACH-GENERATE műveletet az adatok oszlopainak kezeléséhez.

FOREACH Eredmény:

SZŰRŐ:

Ez az operátor feltétel alapján választja ki a relációkat a relációkból.

Ebben a példában akkor szűrjük a rekordot a „loading1” -ből, ha az „id” feltétel nagyobb, mint 8.

SZŰRŐ Eredmény:

CSATLAKOZIK:

A JOIN operátor két vagy több reláció belső, equijoin összekapcsolásának végrehajtására szolgál, közös mezők értékei alapján. A JOIN operátor mindig belső illesztést hajt végre. A belső csatlakozások figyelmen kívül hagyják a nullkulcsokat, ezért célszerű azokat a csatlakozás előtt kiszűrni.

Ebben a példában egyesítse a két kapcsolatot az „url” oszlop alapján a „loading1” és a „loading2” oszlopokból.

CSATLAKOZÁS Eredmény:

RENDEZÉS:

A Rendezés szerint reláció rendezésére szolgál egy vagy több mező alapján. Az ASC és a DESC kulcsszavak segítségével növekvő vagy csökkenő sorrendben rendezheti.

Az alábbi példában az adatok besorolását a loading2-ben növekvő sorrendben végezzük az értékelések mezőben.

RENDELÉS Eredmény szerint :

KÜLÖNBÖZŐ:

A Distinct eltávolítja a párhuzamos sorrendeket egy relációban. Vegyünk egy bemeneti fájlt az alábbiak szerint, amelynek van amr, vacak, 8 és amr, myblog, 10 kétszer az aktában. Amikor a fájlban lévő adatokra külön alkalmazzuk, az ismétlődő bejegyzéseket eltávolítjuk.

DISTINCT Eredmény:

BOLT:

A Store az eredmények fájlrendszerbe történő mentésére szolgál.

Itt spórolunk betöltés3 nevű fájlba tárolás a HDFS-en.

BOLT Eredmény:

CSOPORT:

A GROUP operátor ugyanazon csoportkulccsal (kulcsmezővel) csoportosítja a tömböket. A kulcsmező kettős lesz, ha a csoportkulcsnak több mezője van, ellenkező esetben ugyanolyan típusú lesz, mint a csoportkulcsé. A GROUP művelet eredménye egy reláció, amely csoportonként egy duplát tartalmaz.

Ebben a példában csoport th

A ’loading1’ reláció az oszlop URL-jével.

CSOPORT Eredmény:

COGROUP:

A COGROUP megegyezik a GROUP operátorral. Az olvashatóság érdekében a programozók általában a GROUP-ot használják, ha csak egy relációról van szó, és a COGROUP-ról, ha több reláció is részt vesz.

Ebben a példában mindkét relációban csoportosítsa a ’loading1’ és a ’loading2’ URL-címmel mezőt.

COGROUP Eredmény:

KERESZT:

A CROSS operátor két vagy több összefüggés kereszttermékének (derékszögű szorzat) kiszámítására szolgál.

Kereszttermék alkalmazása a loading1 és loading2-re.

CROSS Eredmény:

HATÁR:

A LIMIT operátor a kimeneti sorok számának korlátozására szolgál. Ha a kimeneti sorok megadott száma megegyezik vagy meghaladja a reláció sorainak számát, akkor a kimenet a reláció összes sorát tartalmazza.

LIMIT Eredmény:

HASÍTOTT:

Az SPLIT operátor a reláció tartalmát két vagy több relációra osztja fel valamilyen kifejezés alapján. A kifejezésben megadott feltételektől függően.

Ossza fel a load2-et két relációra x és y. A2 betöltés által létrehozott x reláció azokat a mezőket tartalmazza, amelyek értékelése nagyobb, mint 8, az y reláció pedig olyan mezőket, amelyek értékelése kisebb vagy egyenlő, mint 8.

Van egy kérdésünk? Kérjük, említse meg őket a megjegyzések részben, és mi kapcsolatba lépünk Önnel.

Kapcsolódó hozzászólások:

Operátorok az Apache Pig programban - diagnosztikai operátorok

UDF létrehozásának lépései az Apache Pig alkalmazásban