Hive je sistem skladišča podatkov, ki se uporablja za analizo strukturiranih podatkov. Zgrajen je na vrhu Hadoopa. Razvil ga je Facebook.
Hive nudi funkcionalnost branja, pisanja in upravljanja velikih naborov podatkov, ki se nahajajo v porazdeljenem pomnilniku. Izvaja SQL podobne poizvedbe, imenovane HQL (Hive query language), ki se interno pretvorijo v opravila MapReduce.
Z uporabo Hive lahko preskočimo zahtevo tradicionalnega pristopa pisanja kompleksnih programov MapReduce. Hive podpira Data Definition Language (DDL), Data Manipulation Language (DML) in User Defined Functions (UDF).
Značilnosti Hive
To so naslednje funkcije Hive:
- Hive je hiter in razširljiv.
- Zagotavlja poizvedbe, podobne SQL (tj. HQL), ki se implicitno pretvorijo v opravila MapReduce ali Spark.
- Sposoben je analizirati velike nabore podatkov, shranjene v HDFS.
- Omogoča različne vrste shranjevanja, kot so golo besedilo, RCFile in HBase.
- Za pospešitev poizvedb uporablja indeksiranje.
- Lahko deluje na stisnjenih podatkih, shranjenih v ekosistemu Hadoop.
- Podpira uporabniško definirane funkcije (UDF-je), kjer lahko uporabnik zagotovi svojo funkcionalnost.
Omejitve Hive
- Hive ne more obdelovati podatkov v realnem času.
- Ni zasnovan za spletno obdelavo transakcij.
- Poizvedbe v panju vsebujejo visoko zakasnitev.
Razlike med panjem in prašičem
Panj | prašič |
---|---|
Hive običajno uporabljajo analitiki podatkov. | Pig običajno uporabljajo programerji. |
Sledi poizvedbam, podobnim SQL. | Sledi jeziku pretoka podatkov. |
Lahko obdeluje strukturirane podatke. | Lahko obdeluje polstrukturirane podatke. |
Deluje na strežniški strani gruče HDFS. | Deluje na strani odjemalca gruče HDFS. |
Panj je počasnejši od Prašiča. | Prašič je sorazmerno hitrejši od panja. |