Hive je sustav skladištenja podataka koji se koristi za analizu strukturiranih podataka. Izgrađen je na vrhu Hadoopa. Razvio ju je Facebook.
Hive pruža funkcionalnost čitanja, pisanja i upravljanja velikim skupovima podataka koji se nalaze u distribuiranoj pohrani. Pokreće SQL upite poput HQL (Hive query language) koji se interno pretvaraju u MapReduce poslove.
Koristeći Hive, možemo preskočiti zahtjev tradicionalnog pristupa pisanja složenih MapReduce programa. Hive podržava Data Definition Language (DDL), Data Manipulation Language (DML) i User Defined Functions (UDF).
Značajke Hive
Ovo su sljedeće značajke Hivea:
- Hive je brz i skalabilan.
- Omogućuje upite slične SQL-u (tj. HQL) koji se implicitno pretvaraju u MapReduce ili Spark poslove.
- Sposoban je analizirati velike skupove podataka pohranjene u HDFS-u.
- Omogućuje različite vrste pohrane kao što su običan tekst, RCFile i HBase.
- Koristi indeksiranje za ubrzavanje upita.
- Može raditi na komprimiranim podacima pohranjenim u Hadoop ekosustavu.
- Podržava korisnički definirane funkcije (UDF-ove) gdje korisnik može pružiti njegovu funkcionalnost.
Ograničenja Hive-a
- Hive ne može rukovati podacima u stvarnom vremenu.
- Nije dizajniran za online obradu transakcija.
- Hive upiti sadrže veliku latenciju.
Razlike između košnice i svinje
Košnica | Svinja |
---|---|
Hive obično koriste analitičari podataka. | Svinju obično koriste programeri. |
Slijedi upite slične SQL-u. | Slijedi jezik protoka podataka. |
Može rukovati strukturiranim podacima. | Može obraditi polustrukturirane podatke. |
Radi na strani poslužitelja HDFS klastera. | Radi na strani klijenta HDFS klastera. |
Košnica je sporija od svinje. | Svinja je relativno brža od košnice. |