Kartta Side Join Vs. Liittyä seuraan



Tämä viesti käsittelee Hadoop-kartan puolella liittymistä Vs. liittyä seuraan. Opi myös, mikä on kartan pienennys, liittyminen pöydään, liittymispuoli, kartan puolen liittämisen käytön edut pesässä

Tässä blogissa keskustelemme Kartan puoleinen liittyminen ja sen edut normaaliin liitostoimintaan verrattuna Pesä .Tämä on tärkeä käsite, joka sinun on opittava toteuttamaan .Mutta ennen kuin tiedämme tästä, meidän pitäisi ensin ymmärtää käsite 'Liittyä seuraan' ja mitä tapahtuu sisäisesti, kun suoritamme liittymisen Pesä .

Liittyä seuraan on lauseke, joka yhdistää kahden taulukon (tai tietojoukkojen) tietueet.
Oletetaan, että meillä on kaksi taulukkoa A ja B. Kun suoritamme liitostoiminnon niille, se palauttaa tietueet, jotka ovat kaikkien sarakkeiden o f A ja B yhdistelmä.





Nyt ymmärretään normaalin liittymisen toimivuus esimerkillä ..

Aina kun sovellamme liittymistoimintoa, työ osoitetaan kartan pienennystehtävälle, joka koostuu kahdesta vaiheesta - a ’Kartan vaihe ”Ja Vähennä vaihetta ”. Karttaajan tehtävä karttavaiheessa on 'lukea' tiedot liitetaulukoista ja 'palata' 'Liittymisavain' ja 'Liittymisarvo' pariksi välitiedostoksi. Lisäksi sekoitusvaiheessa tämä välitiedosto lajitellaan ja yhdistetään. Pelkistimen tehtävä pelkistysvaiheen aikana on ottaa tämä lajiteltu tulos syötteeksi ja suorittaa liittymisen tehtävä.



  • Kartanpuoleinen liittyminen on samanlainen kuin liitos, mutta kaikki tehtävät suorittaa kartoittaja yksin.

    miten tulostaa taulukon php
  • Kartanpuoleinen liittyminen sopii lähinnä pieniin pöytiin tehtävän optimoimiseksi.



Kuinka kartanpuoleinen liitos optimoi tehtävän?

Oletetaan, että meillä on kaksi taulukkoa, joista yksi on pieni taulukko. Kun lähetämme kartan pienennystehtävän, ennen alkuperäistä liittymistä Map Reduce -tehtävään luodaan paikallinen kartan pienennystehtävä, joka lukee pienen pöydän tiedot HDFS: ltä ja tallentaa sen muistin hash-taulukkoon. Luettuaan se sarjoittaa muistin hash-taulukon hash-taulukotiedostoksi.

Seuraavassa vaiheessa kun alkuperäinen liittymiskartan vähennystoiminto on käynnissä, se siirtää hajautustaulukotiedoston tiedot Hadoopin jaettuun välimuistiin, joka täyttää nämä tiedostot kunkin kartoittajan paikalliselle levylle. Joten kaikki kartoittajat voivat ladata tämän pysyvän hajautustaulukotiedoston takaisin muistiin ja tehdä liitostyöt kuten aiemmin. Optimoidun karttaliitoksen toteutusvirta on esitetty alla olevassa kuvassa. Optimoinnin jälkeen pieni taulukko on luettava vain kerran. Jos samassa koneessa on käynnissä useita kartoittajia, jaetun välimuistin täytyy työntää vain yksi kopio hajataulukotiedostosta tähän koneeseen.

Karttapuolen liittämisen edut:

  • Kartanpuoleinen liitos auttaa minimoimaan kustannukset, joita aiheutuu lajittelusta ja yhdistämisestä sekoittaa ja vähentää Tasot.
  • Kartanpuoleinen liittyminen auttaa myös parantamaan tehtävän suorituskykyä vähentämällä tehtävän suorittamiseen kuluvaa aikaa.

Karttapuolen liittämisen haitat:

  • Kartanpuoleinen liitos on riittävä vain, kun yksi taulukon puoleisen liitoksen toiminnoista on tarpeeksi pieni, jotta se mahtuu muistiin. Siksi ei ole sopivaa suorittaa kartanpuoleista liittämistä taulukoihin, jotka ovat molemmissa valtavia tietoja.

Yksinkertainen esimerkki kartan vähennysten liittymisestä:

Luodaan kaksi taulukkoa:

  • Emp : sisältää työntekijän tiedot, kuten työntekijän nimen, työntekijän tunnuksen ja osaston, johon hän kuuluu.

  • Osasto: sisältää tiedot, kuten osaston nimi, osaston tunnus ja niin edelleen.

Luo kaksi syötetiedostoa seuraavan kuvan mukaisesti ladataksesi tiedot luotuihin taulukoihin.

työntekijä.txt

java-luvun numeroiden summa silmukkaa varten

osasto. txt

Lataa nyt tiedot taulukoihin.

Suoritetaan Kartan puoli Liittyä seuraan poimitaan luettelo osastoista, joissa kukin työntekijä työskentelee.

Tässä toisen pöydän osasto on pieni pöytä. Muista, että osastojen määrä on aina pienempi kuin organisaation työntekijöiden määrä.

Suoritetaan nyt sama tehtävä normaalin pienennyspuolen liitoksen avulla.

Kun suoritat molemmat liitokset, voit löytää kaksi eroa:

  • Kartan vähennysliittymä on suorittanut työn lyhyemmässä ajassa verrattuna normaaliin liittymiseen kuluneeseen aikaan.

    abstraktin menetelmän toteuttaminen java
  • Kartan vähennysliitos on saanut työnsä päätökseen ilman vähennysventtiilin apua, kun taas normaali liitos suoritti tämän työn yhden vähennysventtiilin avulla.

Siten, Kartanpuoleinen liittyminen on paras panoksesi, kun yksi pöydistä on tarpeeksi pieni, jotta se mahtuu muistiin työn suorittamiseksi lyhyessä ajassa.

Sisään Reaaliaikainen ympäristö , sinulla on tietojoukot, joissa on valtava määrä tietoa. Joten analyysin suorittaminen ja tietojen noutaminen vie aikaa, jos jokin tietojoukoista on kooltaan pienempi. Niissä tapauksissa Kartan puoleinen liitos auttaa suorittamaan työn lyhyemmässä ajassa.

Hadoopin hallitsemiseksi ei ole koskaan ollut parempaa aikaa! Aloita nyt Edurekan erityisesti kuratoimalla Big Data and Hadoop -kurssilla.

Viitteet:
https://www.facebook.com/notes/facebook-engineering/join-optimization-in-apache-hive/470667928919

Aiheeseen liittyvät julkaisut:

7 tapaa, jolla Big Data Training voi muuttaa organisaatiotasi