Csatlakozik a kaptárba Ismerje meg a csatlakozás típusait a parancsokkal és outputokkal

Tartalomjegyzék:

Anonim

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

Megjegyzés : A “tulajdonságok (“ skip.header.line.count ”=“ 1 ”)” kifejezést használom az adatok első sorának átugorására, amely számomra fejléc.

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 -

  1. Mi a kaptár?
  2. Kaptárparancsok
  3. Kaptárképzés (2 tanfolyam, 5+ projekt)
  4. Apache Pig vs Apache Hive - A 12 legfontosabb különbség
  5. A kaptár alternatívái jellemzői
  6. Az ORDER BY funkció használata a kaptárban
  7. A MySQL 6 legfontosabb csatlakozási típusa példákkal