Hive er et data warehouse system, som bruges til at analysere strukturerede data. Det er bygget på toppen af Hadoop. Det er udviklet af Facebook.
Hive giver funktionaliteten til at læse, skrive og administrere store datasæt, der ligger i distribueret lager. Det kører SQL-lignende forespørgsler kaldet HQL (Hive-forespørgselssprog), som bliver internt konverteret til MapReduce-job.
Ved at bruge Hive kan vi springe over kravet om den traditionelle tilgang til at skrive komplekse MapReduce-programmer. Hive understøtter Data Definition Language (DDL), Data Manipulation Language (DML) og brugerdefinerede funktioner (UDF).
Funktioner af Hive
Disse er følgende funktioner i Hive:
int til streng java
- Hive er hurtig og skalerbar.
- Det giver SQL-lignende forespørgsler (dvs. HQL), der implicit transformeres til MapReduce- eller Spark-job.
- Det er i stand til at analysere store datasæt gemt i HDFS.
- Det tillader forskellige lagringstyper såsom almindelig tekst, RCFile og HBase.
- Den bruger indeksering til at fremskynde forespørgsler.
- Det kan fungere på komprimerede data, der er lagret i Hadoop-økosystemet.
- Det understøtter brugerdefinerede funktioner (UDF'er), hvor brugeren kan levere sin funktionalitet.
Begrænsninger af Hive
- Hive er ikke i stand til at håndtere realtidsdata.
- Det er ikke designet til online transaktionsbehandling.
- Hive-forespørgsler indeholder høj latenstid.
Forskelle mellem Hive og Pig
Hive | Svin |
---|---|
Hive bruges ofte af dataanalytikere. | Gris er almindeligt brugt af programmører. |
Det følger SQL-lignende forespørgsler. | Det følger dataflowsproget. |
Den kan håndtere strukturerede data. | Den kan håndtere semistrukturerede data. |
Det virker på serversiden af HDFS-klyngen. | Det virker på klientsiden af HDFS-klyngen. |
Hive er langsommere end Pig. | Gris er forholdsvis hurtigere end Hive. |