Johdatus pesän liittoihin
Liitoksia käytetään hakemaan erilaisia tulosteita käyttämällä useita taulukoita yhdistämällä ne tiettyjen sarakkeiden perusteella. Nyt, jotta taulukot olisivat pesässä, meidän on luotava taulukot ja ladattava tiedot jokaisessa taulukossa. Käytämme täällä kahta taulukkoa (asiakas ja tuote) tarkoituksen ymmärtämiseksi.
Eri komennot
Alla on komennot tietojen luomiseen ja lataamiseen näihin taulukoihin:
Asiakaspöytä : 6 riviä
Luo komento
Luo ulkoinen taulukko, jos asiakasta ei ole (tunnusmerkkijono, nimimerkkijono, kaupunkijono)
rivimuoto rajoitettu
kentät, jotka päättyi ''
sijainti '/user/hive/warehouse/test.db/customer'
tbl-ominaisuudet (“skip.header.line.count” = ”1”);
Lataa komento
Lataa tiedot paikallisesti polulle '/home/cloudera/Customer_Neha.txt' taulukkoasiakkaaseen;
Asiakastiedot
Tuotelistausta varten : 6 riviä
Luo komento
Luo ulkoinen taulukko, jos tuotetta ei ole (Cust_Id-merkkijono,
Tuotteen merkkijono, Hinta merkkijono)
rivimuoto rajoitettu
kentät, jotka päättyi ''
sijainti '/user/hive/warehouse/test.db/product'
tbl-ominaisuudet (“skip.header.line.count” = ”1”);
Lataa komento
Lataa datapaikallinen polku '/home/cloudera/Product_Neha.txt' taulukkotuotteeseen;
Tuoteluettelotiedot
Tarkista taulukkomallin komento “desc table name;”
Nyt meillä on tietoja taulukoissa, pelataan sen kanssa ????
Tyypit liitoksen Hive
Liity - Tämä antaa molempien taulukon tietojen poikkituotteen tulosteena. Kuten huomaat, jokaisessa taulukossa on 6 riviä. Joten Join-tulosteen määrä on 36 riviä. Karttaajien lukumäärä-1. Kuitenkaan ei vähennetä käyttäjän on käytetty.
Komento
lähtö:
1. Täysi liittyminen
Täysi liittyminen ilman otteluehtoa antaa kummankin pöydän ristituotteen.
Karttaajien lukumäärä-2
Pelkistimen-1 lukumäärä
Tämä voidaan saavuttaa myös käyttämällä "Liity" -toimintoa, mutta vähemmän karttaajien ja vähennysten määrää.
Täysin liittyä ottelun ehdolla
Kaikki rivit yhdistetään molemmista taulukoista. Jos rivejä ei ole sovitettu toiseen taulukkoon, NULL-arvo täytetään ulostulossa (Huomaa Id-100, 106). Mitään rivejä ei ohiteta.
Karttaajien lukumäärä-2
Pelkistimen-1 lukumäärä
Komento
lähtö:
2. Sisäinen liittyminen
Jos sisäistä liitosta käytetään ilman ”päällä” -lauseketta, se antaa lähtökohtana ristikkäistuotteen. Meidän on kuitenkin käytettävä tiettyjä sarakkeita, joiden perusteella yhdistäminen voidaan suorittaa. Asiakastaulukon Id-sarake ja tuoteluettelon Cust_id-sarake ovat omat sarakkeeni. Tuloste sisältää rivit, joissa Id ja Cust_Id vastaavat. Voit tarkkailla, rivit, joilla on ID-106 ja Cust_Id-100, ohitetaan tulostuksessa, koska niitä ei ole toisessa taulukossa.
Komento
lähtö:
3. Vasen liittyä
Kaikki vasemman taulukon rivit yhdistetään vastaavien rivien kanssa oikealta taulukolta. Jos oikeanpuoleisessa taulukossa on rivejä, joiden tunnuksia ei ole vasemmassa taulukossa, nuo rivit ohitetaan (Tarkkaile lähtöarvona Cust_Id-100). Jos oikeassa taulukossa ei ole rivejä, joiden tunnusmerkkejä on vasemmanpuoleisessa taulukossa, NULL asetetaan lähtössä (huomioi Id-106 tulostuksessa).
Mapper-1 lukumäärä
Pelkistimen lukumäärä-0
Komento
lähtö:
4. Oikea liittyminen
Kaikki oikean taulukon rivit vastaavat vasemmanpuoleisia taulukkorivejä. Jos vasemmassa taulukossa ei ole riviä, NULL-luku täytetään (Huomaa tunnus 100). Vasemmanpuoleisen taulukon rivit ohitetaan, jos vastaavaa ei löydy oikeasta taulukosta (Huomaa tunnus 106).
Mapper-1 lukumäärä
Pelkistimen lukumäärä-0
Komento
lähtö:
Johtopäätös - liittyminen pesään
Liity, kuten sana ehdottaa, voi liittyä kahteen tai useampaan tietokannan taulukkoon. Se on samanlainen kuin liittyminen SQL: ään. Liitoksia käytetään hakemaan erilaisia tulosteita käyttämällä useita taulukoita yhdistämällä ne tiettyjen sarakkeiden perusteella. Vaatimuksen perusteella voidaan päättää, mikä liittyminen toimii sinulle. Esimerkiksi, jos haluat tarkistaa, mitkä tunnukset ovat läsnä vasemmassa taulukossa, mutta eivät oikeassa taulukossa, voit käyttää vasenta liittymistä. Pesiyhteyksissä voidaan suorittaa erilaisia optimointeja monimutkaisuudesta riippuen. Jotkut esimerkit ovat uudelleenjakoyhteyksiä, toisinnusliitoksia ja puoliliitoksia.
Suositellut artikkelit
Tämä on opas Joins in Hive -sivustolle. Tässä keskustellaan liitosten tyypeistä, kuten täysi liittyminen, sisäinen liittyminen, vasen liittyminen ja oikea liittyminen pesään sekä sen komento ja lähtö. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja-
- Mikä on pesä?
- Pesän komennot
- Pesänkoulutus (2 kurssia, 5+ hanketta)
- Apache Pig vs Apache Hive - 12 suosituinta eroa
- Pesän vaihtoehtojen ominaisuudet
- ORDER BY -toiminnon käyttö pesässä
- MySQL: n kuusi suosittua liittymistyyppiä ja esimerkkejä