Introducere în unirea în stup
Unirile sunt utilizate pentru a prelua diverse ieșiri folosind mai multe tabele, combinându-le pe baza unor coloane particulare. Acum, pentru ca tabelele să fie în stup, ni se cere să creăm tabele și să încărcăm datele în fiecare tabel. Vom folosi aici două tabele (client și produs) pentru înțelegerea scopului.
Comenzi diferite
Mai jos sunt comenzile pentru crearea și încărcarea datelor din aceste tabele:
Pentru tabelul clienților : 6 rânduri
Creați comandă
Creați un tabel extern dacă nu există client (șir de id, șir de nume, șir de oraș)
format del rând delimitat
câmpuri terminate de ''
locație '/ user/hive/warehouse/test.db/customer'
tblproperties ("skip.header.line.count" = "1");
Comanda de încărcare
Încărcați datele locale în calea „/home/cloudera/Customer_Neha.txt” în clientul de tabel;
Date tabel client
Pentru tabelul produsului : 6 rânduri
Creați comandă
Creați un tabel extern dacă nu există produs (șirul Cust_Id,
Șir de produse, șir de preț)
format del rând delimitat
câmpuri terminate de ''
locație '/user/hive/warehouse/test.db/product'
tblproperties ("skip.header.line.count" = "1");
Comanda de încărcare
Încărcați calea locală de date „/home/cloudera/Product_Neha.txt” în produsul de masă;
Date tabel de produse
Pentru a verifica schema tabelelor, utilizați comanda „desc table name;”
Acum, avem date în tabele, Hai să ne jucăm cu acesta ????
Tipuri de uniri în stup
Join- Acest lucru va oferi produsul încrucișat atât a datelor tabelului, cât și a rezultatului. După cum vedeți, avem 6 rânduri în fiecare tabel. Deci, ieșirea pentru Join va fi de 36 de rânduri. Numărul de mapatori-1. Cu toate acestea, nu se utilizează nici o reducere la operator.
Comanda
ieşire:
1. Alătură-te complet
Unirea completă fără condiție de meci va oferi produsul încrucișat al ambelor tabele.
Numărul de hărți-2
Numărul reductorului-1
Acest lucru poate fi obținut folosind „Join”, dar cu un număr mai mic de mapper și reductor.
Alătură-te complet cu condiția meciului
Toate rândurile vor fi unite din ambele tabele. Dacă rândurile nu sunt potrivite într-un alt tabel, atunci NULL va fi populat la ieșire (Observați Id-100, 106). Niciun rând nu este omis.
Numărul de hărți-2
Numărul reductorului-1
Comanda
ieşire:
2. Alăturați-vă la interior
Dacă îmbinarea interioară este folosită fără clauza „on”, acesta va da produsul încrucișat ca ieșire. Cu toate acestea, trebuie să folosim coloane specifice pe baza cărora poate fi efectuată unirea. Coloana ID din tabela de clienți și coloana Cust_id din tabelul de produse sunt coloanele mele specifice. Ieșirea conține rândurile în care se potrivesc Id și Cust_Id. Puteți observa, rândurile cu Id-106 și Cust_Id-100 sunt ignorate la ieșire, deoarece nu sunt prezente într-un alt tabel.
Comanda
ieşire:
3. Alăturați-vă stânga
Toate rândurile din tabelul din stânga sunt unite cu rânduri potrivite din tabelul din dreapta. Dacă tabelul din dreapta are rânduri cu ID-uri care nu sunt prezente în tabelul din stânga, atunci aceste rânduri vor fi omise (Observați Cust_Id-100 la ieșire). Dacă tabelul din dreapta nu are rânduri cu ID-uri care sunt acolo în tabelul din stânga, NULL va fi populat la ieșire (Observați Id-106 la ieșire).
Numărul de Mapper-1
Număr reductor-0
Comanda
ieşire:
4. Alăturați-vă drept
Toate rândurile din tabelul din dreapta sunt potrivite cu rândurile din tabelul din stânga. Dacă tabelul din stânga nu are niciun rând, atunci NULL va fi populat (Observați Id 100). Rândurile din tabelul din stânga vor fi omise dacă acel meci nu se găsește în tabelul din dreapta (Observați ID 106).
Numărul de Mapper-1
Număr reductor-0
Comanda
ieşire:
Concluzie - Se alătură în stup
„Alăturați-vă” așa cum sugerează cuvântul, se pot alătura două sau mai multe tabele din baza de date. Este similar cu unirile în SQL. Unirile sunt utilizate pentru a prelua diverse ieșiri folosind mai multe tabele, combinându-le pe baza unor coloane particulare. Pe baza cerinței, se poate decide ce aderare va funcționa pentru dvs. De exemplu, dacă doriți să verificați care sunt id-urile prezente în tabelul din stânga, dar nu în tabelul din dreapta, puteți utiliza pur și simplu stânga. Pot fi efectuate diferite optimizări în îmbinările stupului, în funcție de complexitate. Unele dintre exemple sunt uniri de repartiție, uniri de replicare și uniri semi.
Articole recomandate
Acesta este un ghid pentru unirea în stup. Aici vom discuta despre tipurile de uniri, cum ar fi unirea completă, unirea interioară, unirea stângă și unirea dreaptă în stup, împreună cu comanda și ieșirea sa. De asemenea, puteți consulta următoarele articole pentru a afla mai multe-
- Ce este un stup?
- Comenzile stupului
- Instruire stup (2 cursuri, 5+ proiecte)
- Apache Pig vs Apache Hive - Top 12 diferențe utile
- Caracteristici ale alternativelor stupului
- Utilizarea funcției ORDER BY în stup
- Top 6 tipuri de uniri în MySQL cu exemple