Skillnaden mellan Hive och HBase

Apache Hive och HBase är Hadoop-baserade big data-teknologier. De brukade båda fråga data. Hive och HBase kör ovanpå Hadoop och de skiljer sig åt i sin funktionalitet. Hive är kartreducerad baserad SQL-dialekt medan HBase endast stöder MapReduce. HBase lagrar data i form av nyckel / värde eller kolumnfamiljpar medan Hive inte lagrar data.

Head to Head skillnader mellan Hive vs HBase (Infographics)

Nedan visas topp 8 skillnaden mellan Hive vs HBase

Viktiga skillnader mellan Hive vs HBase

  • Hbase är en ACID-kompatibel medan Hive inte är det.
  • Hive stöder partitionering och filterkriterier baserat på datumformatet medan HBase stöder automatiserad partitionering.
  • Hive stöder inte uppdateringsförklaringar medan HBase stöder dem.
  • Hbase är snabbare jämfört med Hive för att hämta data.
  • Hive används för att bearbeta strukturerade data medan HBase, eftersom den är schemafri, kan behandla alla typer av data.
  • Hbase är mycket (horisontellt) skalbar i jämförelse med Hive.
  • Hive analyserar data på HDFS med stöd av SQL Queries och sedan konverterar de det till en karta och minskar jobb medan i Hbase eftersom det är realtidsströmning utför det direkt sina operationer i databasen genom att partitionera till tabeller och kolumnfamiljer.
  • när man kommer till frågan om datakupan använder ett skal som kallas Hive shell för att utfärda kommandona medan HBase eftersom det är databas kommer vi att använda ett kommando för att bearbeta data i HBase.
  • För att gå till Hive-skalet kommer vi att använda kommandokupan. Efter att ha gett detta kommer det att se ut som bikupa>. I HBase ger vi helt enkelt som Använd HBase.

Hive vs HBase jämförelsetabell

Grund för jämförelse

BikupaHbase
DatabastypDet är inte en databasDet stöder NoSQL-databas
Typ av behandlingDet stöder batchbehandling dvs. OLAPDet stöder dataströmning i realtid, dvs OLTP
DatabasmodellHive stöder att ha schemamodellHbase är schemafri
LatensHive har låg latensHbase har hög latens
KostaDet är dyrare jämfört med HBaseDet är kostnadseffektivt
när du ska användaHive kan användas när vi inte vill skriva komplex MapReduce-kodHBase kan användas när vi vill ha slumpmässig åtkomst för att läsa och skriva en stor mängd data
Använd fallDet bör användas för att analysera data som lagras under en tidsperiodDet bör användas för att analysera data i realtid.
exempelHubspot är ett exempel för HiveFacebook är det bästa exemplet för Hbase

Skillnader i kodning mellan Hive vs HBase

Låt oss nu diskutera de grundläggande skillnaderna mellan Hive och HBase i kodning.

Grund för jämförelse

BikupaHbase
Skapa en databasSKAPA DATABASERING (OM INTE EXISTERAR) DATABASE-NAME;Eftersom Hbase är en databas behöver vi inte skapa en specifik databas
För att släppa en databasDROP DATABASE (IF EXISTS) DATABASE-NAME (RESTRICT ELLER CASCADE);NA
Skapa en tabellSKAPA (TIDIGA ELLER YTTERLIGT) BORD (OM INTE EXISTERA) TABELLNAMN

((kolumnnamn data_typ (Kommentar kolumn-kommentar), ….)) (Kommentar tabell_komment) (ROW FORMAT radformat) (lagras som filformat)
SKAPA '', ''
Att ändra ett bordALTER TABELL namn RENAME TO new-name

ALTER TABELL namn DROP (COLUMN) kolumnnamn

ALTER TABELL namn ADD COLUMNS (col-spec (, col-spec ..))

ALTER TABLE name CHANGE kolumnnamn new-name new-type

ALTER TABELL namn Byt ut kolumner (col-spec (, col-spec ..))

ALTER 'TABELL-NAME', NAME => 'COLUMN-NAME', VERSIONS =>
Inaktivera en tabellNAinaktivera 'TABLE-NAME' -> för att inaktivera angivet tabellnamn

disable_all 'r *' -> för att inaktivera alla tabeller som matchar det vanliga uttrycket

Aktivera en tabellNAaktivera 'TABLE-NAME'
Att släppa ett bordDROPTA TABELL OM EXISTERER tabellnamnOm vi ​​vill släppa ett bord måste vi först inaktivera det

inaktivera "tabellnamn"

släpp "tabellnamn"

På liknande sätt kan vi använda disable_all och drop_all för att ta bort tabellerna som matchar det angivna reguljära uttrycket.

För att lista databaservisa databaser;NA
För att lista tabeller i databasenvisa tabeller;lista
För att beskriva schema för en tabellbeskriva tabellnamn;beskriv "tabellnamn"

Integration av Hive vs HBase

  • Installera och konfigurera Hive.
  • Installera och konfigurera HBase.
  • För integration av både Hive och HBase använder vi STORAGE HANDLERS i Hive.
  • Storage Handlers är en kombination av SERDE, InputFormat, OutputFormat som accepterar alla externa enheter som en tabell i Hive.
  • Så den här funktionen hjälper en användare att utfärda SQL-frågor, oavsett om tabellen finns i Hadoop eller i NOSQL-baserad databas som HBase, MongoDB, Cassandra, Amazon DynamoDB.
  • Nu kommer vi att undersöka ett exempel för att ansluta Hive med HBase med HiveStorageHandler:
  • Först måste vi skapa Hbase-tabellen med kommandot.

skapa 'Student', 'personalinfo', 'dept info'

-> Personalinfo och avd. Info skapar två olika kolumnfamiljer i Studenttabellen.

  • Vi måste infoga en del data i Studenttabellen. Till exempel, som nämns nedan.

sätta 'student', 'sid01 ′, ' personalinfo: namn ', ' Ram '
sätta 'student', 'sid01 ′, ' personalinfo: mailid ', ' '
sätta 'student', 'sid01 ′, ' deptinfo: deptname ', ' Java '
sätta 'Student', 'sid01 ′, ' deptinfo: joinyear ', ' 1994 ′

-> På liknande sätt kan vi skapa data för sid02, sid03 …

  • Nu måste vi skapa Hive-tabell som pekar på HBas-tabellen.
  • För varje kolumn i Hbase kommer vi att skapa en specifik tabell för den kolumnen i Hive. I detta fall kommer vi att skapa två tabeller i Hive

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'

-> På liknande sätt måste vi skapa information om tabellen för avdelningsinfo i bikupan.

  • Nu kan vi skriva SQL-fråga i en bikupa som nämns nedan.

select * from student_hbase;

På detta sätt kan vi integrera Hive med HBase.

Slutsats - Hive vs HBase

Som diskuterats är de båda olika tekniker som ger olika funktioner där Hive fungerar med SQL-språk och det kan också kallas som HQL och HBase använder nyckelvärdespar för att analysera data. Hive och HBase fungerar bättre om de kombineras eftersom Hive har låg latens och kan bearbeta en enorm mängd data men inte kan upprätthålla uppdaterade data och HBase stöder inte analys av data utan stöder uppdateringar på radnivå för en stor mängd av data.

Rekommenderad artikel

Detta har varit en guide till Hive vs HBase, deras betydelse, jämförelse mellan huvud och huvud, viktiga skillnader, jämförelsetabell och slutsats. Du kan också titta på följande artiklar för att lära dig mer -

  1. Apache Pig vs Apache Hive - Topp 12 användbara skillnader
  2. Ta reda på de 7 bästa skillnaderna mellan Hadoop vs HBase
  3. Topp 12 jämförelse av Apache Hive vs Apache HBase (Infographics)
  4. Hadoop vs Hive - Ta reda på de bästa skillnaderna

Kategori: