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.
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