Video: Howto install Hive on Ubuntu 2024
Hive is een batchgeoriënteerde, datawarehousing-laag die is gebouwd op de kernelementen van Hadoop (HDFS en MapReduce) en is erg handig in big data. Het biedt gebruikers die SQL kennen met een eenvoudige SQL-Lite-implementatie genaamd HiveQL zonder in te boeten op toegang via mappers en verloopstukken. Met Hive kunt u het beste uit twee werelden halen: SQL-achtige toegang tot gestructureerde gegevens en geavanceerde big data-analyse met MapReduce.
Anders dan de meeste data warehouses, is Hive niet ontworpen voor snelle antwoorden op vragen. Query's kunnen zelfs enkele minuten of zelfs uren duren, afhankelijk van de complexiteit. Dientengevolge kan Hive het best worden gebruikt voor datamining en diepere analyses waarvoor geen realtime gedrag vereist is. Omdat het afhankelijk is van de Hadoop-foundation, is het erg uitbreidbaar, schaalbaar en veerkrachtig, iets dat het gemiddelde datawarehouse niet is.
Hive gebruikt drie mechanismen voor gegevensorganisatie:
-
Tafels: Bijenkorftabellen zijn hetzelfde als RDBMS-tabellen bestaande uit rijen en kolommen. Omdat Hive is gelaagd op de Hadoop HDFS, worden tabellen toegewezen aan mappen in het bestandssysteem. Bovendien ondersteunt Hive tabellen die zijn opgeslagen in andere systeemeigen bestandssystemen.
-
Partities: Een Hive-tabel kan een of meer partities ondersteunen. Deze partities worden toegewezen aan submappen in het onderliggende bestandssysteem en vertegenwoordigen de gegevensdistributie in de hele tabel. Als een tabel bijvoorbeeld autos, met een sleutelwaarde 12345 en een makerwaarde Ford, wordt genoemd, is het pad naar de partitie / hivewh / auto's / kv = 12345 / Ford.
-
Emmers: Op hun beurt kunnen gegevens worden verdeeld in buckets. Emmers worden opgeslagen als bestanden in de partitiemap in het onderliggende bestandssysteem. De buckets zijn gebaseerd op de hash van een kolom in de tabel. In het voorgaande voorbeeld hebt u mogelijk een bucket met de naam Focus, die alle kenmerken van een Ford Focus-auto bevat.
Metagegevens over de bijenkorf worden extern opgeslagen in de "metastore. "De metastore is een relationele database met de gedetailleerde beschrijvingen van het Hive-schema, inclusief kolomtypen, eigenaars, sleutel- en waardegegevens, tabelstatistieken, enzovoort. De metastore is in staat om catalogusgegevens te synchroniseren met andere metadatadiensten in het Hadoop-ecosysteem.
Hive ondersteunt een SQL-achtige taal met de naam HiveQL. HiveQL ondersteunt veel van de SQL-primitieven, zoals select, join, aggregate, union all, enzovoort. Het ondersteunt ook multitable query's en invoegingen door de invoergegevens te delen binnen een enkele HiveQL-instructie. HiveQL kan worden uitgebreid om door de gebruiker gedefinieerde aggregatie, kolomtransformatie en ingesloten MapReduce-scripts te ondersteunen.