Hive är ett datalagersystem som används för att analysera strukturerad data. Den är byggd på toppen av Hadoop. Den har utvecklats av Facebook.
Hive tillhandahåller funktionen att läsa, skriva och hantera stora datamängder som finns i distribuerad lagring. Den kör SQL-liknande frågor som kallas HQL (Hive query language) som konverteras internt till MapReduce-jobb.
Med hjälp av Hive kan vi hoppa över kravet på den traditionella metoden att skriva komplexa MapReduce-program. Hive stöder Data Definition Language (DDL), Data Manipulation Language (DML) och användardefinierade funktioner (UDF).
Funktioner i Hive
Det här är följande funktioner i Hive:
- Hive är snabb och skalbar.
- Den tillhandahåller SQL-liknande frågor (d.v.s. HQL) som implicit transformeras till MapReduce- eller Spark-jobb.
- Den kan analysera stora datamängder lagrade i HDFS.
- Det tillåter olika lagringstyper som vanlig text, RCFile och HBase.
- Den använder indexering för att påskynda frågor.
- Den kan arbeta på komprimerad data lagrad i Hadoop-ekosystemet.
- Den stöder användardefinierade funktioner (UDF) där användaren kan tillhandahålla dess funktionalitet.
Begränsningar av Hive
- Hive kan inte hantera realtidsdata.
- Det är inte utformat för onlinetransaktionsbehandling.
- Hive-frågor innehåller hög latens.
Skillnader mellan Hive och Pig
Bikupa | Gris |
---|---|
Hive används ofta av dataanalytiker. | Pig används ofta av programmerare. |
Den följer SQL-liknande frågor. | Det följer dataflödesspråket. |
Den kan hantera strukturerad data. | Den kan hantera semistrukturerad data. |
Det fungerar på serversidan av HDFS-klustret. | Det fungerar på klientsidan av HDFS-klustret. |
Hive är långsammare än Pig. | Pig är jämförelsevis snabbare än Hive. |