Bevezetés a kaptárhoz való csatlakozásba
A csatlakozások arra szolgálnak, hogy különféle táblázatok felhasználásával különféle kimeneteket szerezzenek, egyesített oszlopok alapján kombinálva. Most, hogy a táblák kaptárban legyenek, létre kell hoznunk a táblákat és az egyes táblákba be kell tölteni az adatokat. Két táblát (vevő és termék) használunk itt a cél megértéséhez.
Különböző parancsok
Az alábbiakban az alábbi táblázatokban szereplő adatok létrehozására és betöltésére szolgáló parancsok találhatók:
Ügyféltáblázat : 6 sor
Parancs létrehozása
Hozzon létre külső táblát, ha nem létezik ügyfél (azonosító karakterlánc, név karakterlánc, városi karakterlánc)
sor formátum elválasztva
mezők, amelyek ''
hely '/user/hive/warehouse/test.db/customer'
tblproperties (“skip.header.line.count” = ”1”);
Betöltési parancs
Helyezzen be adatokat az '/home/cloudera/Customer_Neha.txt' elérési útban a tábla ügyfélbe;
Vevőtáblázat
A terméktáblázathoz : 6 sor
Parancs létrehozása
Készítsen külső táblát, ha nem létezik termék (Cust_Id karakterlánc,
Termék karakterlánc, ár karakterlánc)
sor formátum elválasztva
mezők, amelyek ''
hely '/user/hive/warehouse/test.db/product'
tblproperties (“skip.header.line.count” = ”1”);
Betöltés parancs
Töltse be az „/home/cloudera/Product_Neha.txt” helyi útvonalat az asztali termékbe;
Terméktáblázat-adatok
A táblázati séma ellenőrzéséhez használja a „desc table name;” parancsot.
Most vannak adatok táblázatokban, Játsszunk vele ????
Csatlakozás típusai a kaptárban
Csatlakozás: Ez adja meg a táblázat adatainak kereszttermékét outputként . Mint láthatja, minden sorban 6 sor van. Tehát a Join kimenete 36 sor lesz. A térképezők száma-1. Azonban nem alkalmazzák az operátor csökkentését.
Parancs
Kimenet:
1. Teljes csatlakozás
A Teljes csatlakozás mérkőzés nélküli feltétel mellett mindkét asztal keresztirányú lesz.
Térképezők száma-2
Az 1 reduktor száma
Ez elérhető a „Csatlakozás” használatával is, de kevesebb mapper és reduktorral.
Teljes csatlakozás a mérkőzés feltételeivel
Az összes sort mindkét táblázat összevonja. Ha a sorok nem egyeznek egy másik táblázatban, akkor a NULL feltöltésre kerül a kimenetben (Figyelem: Id-100, 106). Nincs sor kihagyva.
Térképezők száma-2
Az 1 reduktor száma
Parancs
Kimenet:
2. Belső csatlakozás
Ha a belső illesztést bekapcsoló záradék nélkül használja, akkor a kereszttermék lesz a kimenet. Ugyanakkor az egyes oszlopokat kell használnunk, amelyek alapján az összekapcsolás végrehajtható. A vevőtábla Id oszlopa és a terméktáblázat Cust_id oszlopa az én konkrét oszlopok. A kimenet tartalmazza azokat a sorokat, ahol az Id és a Cust_Id egyezik. Megfigyelheti, az Id-106 és a Cust_Id-100 sorok kihagyásra kerülnek a kimenetben, mivel nincsenek egy másik táblázatban.
Parancs
Kimenet:
3. Balra csatlakozás
A bal oldali asztal összes sorát összeillesztjük a jobb oldali asztal megfelelő soraival. Ha a jobb oldali táblában olyan sorok vannak, amelyek azonosítója nem létezik a bal oldali táblában, akkor ezeket a sorokat átugorja (Figyelje meg a Cust_Id-100 kimenetet). Ha a jobb oldali táblázatban nem szerepelnek olyan sorok, amelyeknek azonosítói vannak, amelyek ott vannak a bal oldali táblában, akkor a NULL kitöltésre kerül a kimenetben (Figyelem: Id-106 a kimeneten).
A Mapper-1 száma
A reduktor száma 0
Parancs
Kimenet:
4. Jobb csatlakozás
A jobb oldali táblázat összes sora illeszkedik a bal oldali tábla sorokhoz. Ha a bal oldali asztalnak nincs sorja, akkor a NULL kerül kitöltésre (Figyelem: Id 100). A bal oldali táblázat sorai átugoródnak, ha az egyezés nem található a jobb oldali táblában (Figyelem: 106. azonosító).
A Mapper-1 száma
A reduktor száma 0
Parancs
Kimenet:
Összegzés - csatlakozás a kaptárba
A „csatlakozás”, ahogy a szó azt sugallja, két vagy több táblát is összekapcsolhat az adatbázisban. Hasonló az SQL csatlakozásaihoz. A csatlakozások arra szolgálnak, hogy különféle táblázatok segítségével különféle kimeneteket szerezzenek, egyes oszlopok alapján kombinálva. A követelmény alapján el lehet dönteni, melyik csatlakozás fog működni az Ön számára. Például, ha ellenőrizni szeretné, hogy a bal oldali táblában milyen ID-ek vannak jelen, de nem a jobb táblában, akkor egyszerűen használhatja a bal oldali csatlakozást. A kaptárcsatlakozásokban az összetettségtől függően különféle optimalizálások végezhetők. Néhány példa a repartíciós illesztések, replikációs illesztések és félig illesztések.
Ajánlott cikkek
Ez egy útmutató a Joins in Hive-hez. Itt tárgyaljuk azokat a csatlakozásokat, mint a teljes csatlakozás, a belső csatlakozás, a bal oldali csatlakozás és a jobb csatlakozás a kaptárhoz, valamint a parancs és a kimenet. A következő cikkeket is megnézheti további információkért -
- Mi a kaptár?
- Kaptárparancsok
- Kaptárképzés (2 tanfolyam, 5+ projekt)
- Apache Pig vs Apache Hive - A 12 legfontosabb különbség
- A kaptár alternatívái jellemzői
- Az ORDER BY funkció használata a kaptárban
- A MySQL 6 legfontosabb csatlakozási típusa példákkal