Ero pesän ja HBase: n välillä

Apache Hive ja HBase ovat Hadoop-pohjaisia ​​suuria tietotekniikoita. He molemmat käyttivät tietoja kyselyihin. Hive ja HBase toimivat Hadoopin päällä ja ne eroavat toisistaan ​​toiminnallisuudestaan. Hive on karttaa vähentävä SQL-murre, kun taas HBase tukee vain MapReducea. HBase tallentaa tietoja avain / arvo tai sarakeperheparien muodossa, kun taas Hive ei tallenna tietoja.

Head to Head erot pesän ja HBasen välillä (Infografia)

Alla on kahdeksan tärkeintä eroa vastaan ​​Hive ja HBase

Keskeiset erot pesän ja HBaasin välillä

  • Hbase on ACID-yhteensopiva, kun taas Hive ei.
  • Hive tukee osiointi- ja suodatusehtoja päivämäärämuodon perusteella, kun taas HBase tukee automatisoitua osiointia.
  • Hive ei tue päivityslausekkeita, kun taas HBase tukee niitä.
  • Hbase on nopeampi verrattuna pesään tietojen noutamisessa.
  • Hiveä käytetään prosessoidun datan prosessointiin, kun taas HBase, koska se ei ole skeemavapaa, pystyy käsittelemään kaikenlaista dataa.
  • Hbase on erittäin (vaakasuunnassa) skaalautuva verrattuna Hiveen.
  • Hive analysoi HDFS: n tiedot SQL-kyselyjen tuella ja sitten muuntaa ne mapiksi ja vähentää työpaikkoja. Hbase-ohjelmassa, koska se on reaaliaikainen suoratoisto, se suorittaa operaatiot tietokantaan suoraan osioimalla taulukoihin ja sarakeperheisiin.
  • tullessaan tietokyselyyn, pesä käyttää Hive-nimelliskuoria, joka antaa komentoja, kun taas HBase, koska se on tietokanta, käytämme komentoa tietojen käsittelyyn HBase-tietokannassa.
  • Käytäksesi pesän kuorea käytämme komentoa pesä. Antamisen jälkeen se näyttää pesältä. .HBase-sovelluksessa annamme yksinkertaisesti käytön nimellä HBase.

Hive vs HBase -vertailutaulukko

Vertailun perusteet

PesäHbase
TietokantatyyppiSe ei ole tietokantaSe tukee NoSQL-tietokantaa
Käsittelyn tyyppiSe tukee eräkäsittelyä eli OLAP: taSe tukee reaaliaikaista tiedonsiirtoa eli OLTP: tä
TietokantamalliPesä tukee olla mallimalliaHbase on kaavamaton
ViivePesällä on pieni viiveHbase-latenssi on korkea
KustannusSe on kalliimpaa verrattuna HBaseenSe on kustannustehokas
milloin käyttääPesää voidaan käyttää, kun emme halua kirjoittaa monimutkaista MapReduce-koodiaHBase-tietokantaa voidaan käyttää, kun haluamme saada satunnaisen pääsyn lukemaan ja kirjoittamaan suurta määrää dataa
Käytä koteloitaSitä tulisi käyttää tietyn ajanjakson aikana tallennettujen tietojen analysointiinSitä tulisi käyttää tietojen reaaliaikaisen käsittelyn analysointiin.
esimerkitHubspot on esimerkki HivelleFacebook on paras esimerkki Hbase-palvelulle

Eroa koodauksessa pesän ja HBaasin välillä

Keskustelemme nyt Hiveen ja HBase: n peruseroista koodauksessa.

Vertailun perusteet

PesäHbase
Tietokannan luominenLuo tietokanta (jos sitä ei ole) tietokannan nimi;Koska Hbase on tietokanta, meidän ei tarvitse luoda erityistä tietokantaa
Pudota tietokantaDROP-TIETOKANTA (JOS TÄYTETYT) TIETOKANNAN NIMI (RAJOITETTU TAI KASKAADI);NA
Taulukon luominenLuo (väliaikainen tai ulkoinen) taulukko (jos sitä ei ole) PÖYTÄNIMI

((sarakkeen nimen datatyyppi (kommentti-sarake-kommentti), ….)) (Kommenttitaulukko_kommentti) (Rivimuoto rivimuoto) (Tallennettuna tiedostomuodona)
Luo '', ''
Taulukon muuttaminenVaihda taulukon nimi nimeä uusi nimi

Vaihtoehtoisen taulukon nimi DROP (COLUMN) -sarakkeen nimi

Vaihtoehtoinen taulukko name ADD COLUMNS (col-spec (, col-spec ..))

ALTERTABLE name CHANGE sarakkeen nimi uusi nimi uusi tyyppi

Vaihtoehtoisen taulukon nimi Vaihda sarakkeet (col-spec (, col-spec ..))

VAIHDA 'PÖYTÄ-NIMI', NIMI => 'PÄÄNNIMI', VERSIOT =>
Pöydän poistaminen käytöstäNApoista 'TABLE-NAME' -> käytöstä määritetyn taulukon nimen poistamiseksi käytöstä

Disable_all 'r *' -> poistaaksesi kaikki taulukot, jotka vastaavat säännöllistä lauseketta

Pöydän ottaminen käyttöönNAota käyttöön PÖYTÄ-NIMI
Pudota taulukkoPudota taulukko, jos olemassa taulukon nimiJos haluamme pudottaa taulukon, meidän on ensin poistettava se käytöstä

poista 'taulukon nimi' käytöstä

pudota 'taulukon nimi'

Samoin voimme käyttää Disable_all ja drop_all poistaaksesi taulukot, jotka vastaavat määritettyä säännöllistä lauseketta.

Tietokantojen luettelointiNäytä tietokannat;NA
Taulukoiden luettelointi tietokannastaNäytä pöydät;lista
Kuvata taulukon kaaviokuvaile taulukon nimeä;kuvaa 'taulukon nimi'

Integrointi pesän ja HBase

  • Asenna ja määritä Hive.
  • Asenna ja määritä HBase.
  • Sekä pesän että HBase: n integroimiseksi käytämme STEAGE HANDLERSia Hivessä.
  • Storage Handlers on SERDE: n, InputFormatin ja OutputFormatin yhdistelmä, joka hyväksyy kaikki ulkoiset kokonaisuudet taulukkona Hivessä.
  • Joten tämä ominaisuus auttaa käyttäjää antamaan SQL-kyselyitä riippumatta siitä, onko taulukko Hadoopissa vai NOSQL-pohjaisessa tietokannassa, kuten HBase, MongoDB, Cassandra, Amazon DynamoDB.
  • Nyt tarkastelemme yhtä esimerkkiä pesän yhdistämisestä HBaseen HiveStorageHandlerin avulla:
  • Ensinnäkin meidän on luotava Hbase-taulukko komennon avulla.

luo 'Opiskelija', 'henkilökohtainen tieto', 'osastoinfo'

-> Henkilökohtaiset tiedot ja osastotiedot luovat kaksi erilaista sarakeperhettä Opiskelija-taulukkoon.

  • Meidän on lisättävä joitain tietoja Opiskelijoiden taulukkoon. Esimerkki, kuten alla mainitaan.

laita 'opiskelija', 'sid01', 'henkilökohtainen tieto: nimi', 'Ram'
laita 'opiskelija', 'sid01', 'henkilökohtainen tieto: mailid', ' '
laita 'opiskelija', 'sid01', 'deptinfo: deptname', 'Java'
laita 'Opiskelija', 'sid01', 'deptinfo: joinyear', '1994'

-> Samoin voimme luoda tietoja sid02: lle, sid03: lle …

  • Nyt meidän on luotava Hive-taulukko osoittava Hive-taulukko.
  • Jokaiselle Hbase-sarakkeelle luomme yhden erityisen taulukon sarakkeelle Hivessä. Tässä tapauksessa luomme 2 taulukkoa Hivessä.

create external table student_hbase(sid String, name String, mailid String)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler with serdeproperties("hbase.columns.mapping"=":key, personalinfo:name, personalinfo:mailid")
tblproperties("hbase.table.name"="student");
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'

-> Samoin meidän on luotava pesässä yksityiskohtainen tietotaulukko.

  • Nyt voimme kirjoittaa SQL-kyselyn pesässä, kuten alla on mainittu.

select * from student_hbase;

Tällä tavoin voimme integroida Hive HBaseen.

Johtopäätös - pesää vastaan ​​HBase

Kuten keskusteltiin, ne molemmat ovat erilaisia ​​tekniikoita, jotka tarjoavat erilaisia ​​toimintoja, joissa Hive toimii käyttämällä SQL-kieltä, ja sitä voidaan kutsua myös nimellä HQL ja HBase käyttämään avain-arvopareja tietojen analysoimiseksi. Hive ja HBase toimivat paremmin, jos ne yhdistetään, koska pesällä on pieni viive ja ne voivat käsitellä valtavan määrän tietoja, mutta eivät pysty ylläpitämään ajantasaista tietoa. HBase ei tue tietojen analysointia, mutta tukee rivitason päivityksiä suurella määrällä datasta.

Suositeltava artikkeli

Tämä on opas kohtiin Hive vs HBase, niiden merkitys, Head to Head -vertailu, keskeiset erot, vertailutaulukko ja johtopäätökset. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. Apache Pig vs Apache Hive - 12 suosituinta eroa
  2. Selvitä 7 parasta eroa Hadoopin ja HBasen välillä
  3. Apache Hive: n 12 parasta vertailua Apache HBase -sovellukseen (Infographics)
  4. Hadoop vs. pesää - selvitä parhaat erot

Luokka: