Wat is een bijenkorf?

Apache Hive is een datawarehouse-systeem dat is ontworpen bovenop het open source Hadoop-platform en wordt gebruikt voor het samenvatten van gegevens, het doorzoeken van grote gegevens, gegevensanalyse, enz.

De bijenkorf is ontwikkeld door Facebook en in een later tijdstip overgenomen door Apache Software Foundation, die deze verder heeft ontwikkeld als een open source onder de naam Apache Hive.

Definitie:

Het is geen relationele database en daarom niet geschikt voor online transactieverwerking en realtime vragen met updates op rijniveau. Hive is ontworpen voor online analytische verwerking of OLAP. Het biedt ook een querytaal met de naam HiveQL. Het is schaalbaar, snel en uitbreidbaar. Het converteert de queries die er bijna uitzien als SQL in MapReduce-taken voor eenvoudige uitvoering en verwerking van een grote hoeveelheid gegevens. Apache-bijenkorf is een van de Hadoop-componenten die normaal door gegevensanalisten worden gebruikt, terwijl Apache Pig ook voor dezelfde taak wordt gebruikt, maar het wordt meer gebruikt door onderzoekers en programmeurs. Apache-bijenkorf is een open source datawarehousing-systeem en wordt gebruikt om grote datasets in Hadoop-opslag op te vragen en te analyseren. Hive is het meest geschikt voor batchtaken en niet voor online transactieverwerkingstypes. Het ondersteunt ook geen realtime vragen. Hive gebruikt SQL zoals query-taal en wordt voornamelijk gebruikt voor het maken van rapporten. Hive wordt meestal aan de serverzijde ingezet en ondersteunt gestructureerde gegevens. Hive ondersteunt ook integratie met JDBC- en BI-tools.

Hive begrijpen:

Hieronder staan ​​de belangrijkste componenten van de bijenkorf:

Meta Store:

De repository die de metadata opslaat, wordt de hive meta store genoemd. De metagegevens bestaan ​​uit de verschillende gegevens over de tabellen, zoals de locatie, het schema, informatie over de partities die helpen bij het bewaken van de voortgang van de verschillende gegevens in het cluster. Het houdt ook de gegevens bij en repliceert de gegevens die een back-up bieden in noodgevallen zoals gegevensverlies. De metagegevensinformatie is aanwezig in relationele databases en niet in het Hadoop-bestandssysteem.

Bestuurder:

Bij uitvoering van de instructie Hive-querytaal ontvangt de bestuurder de instructie en beheert deze de volledige uitvoeringscyclus. Naast de uitvoering van de instructie slaat het stuurprogramma ook de metagegevens op die tijdens de uitvoering zijn gegenereerd. Het creëert ook sessies om de voortgang en levenscyclus van verschillende uitvoeringen te volgen. Na voltooiing van de reductie door de MapReduce-taak verzamelt het stuurprogramma alle gegevens en resultaten van de zoekopdracht

Compiler:

Het wordt gebruikt voor het vertalen van de Hive-querytaal in MapReduce-invoer. Het roept een methode aan die de stappen en taken uitvoert die nodig zijn om de HiveQL-uitvoer te lezen zoals vereist door de MapReduce.

Optimizer:

De hoofdtaak van het optimalisatieprogramma is het verbeteren van de efficiëntie en schaalbaarheid, het creëren van een taak terwijl de gegevens worden getransformeerd voordat de bewerking wordt verminderd. Het voert ook transformaties uit zoals aggregatie, pijplijnconversie door een enkele join voor meerdere joins.

Uitvoerder:

Na compilatie en optimalisatie stap is de hoofdtaak van de uitvoerder het uitvoeren van de taken. De hoofdtaak van de uitvoerder is om te communiceren met Hadoop Job Tracker voor het plannen van taken die klaar zijn om te worden uitgevoerd.

UI, Thrift-server en CLI:

Thrift-server wordt door andere clients gebruikt om te communiceren met de Hive-engine. De gebruikersinterface en de opdrachtregelinterface helpen bij het indienen van de vragen, evenals procesbewaking en instructies zodat externe gebruikers met de component kunnen communiceren.

Hieronder zijn de stappen die bijenkorf interactie met Hadoop framework weergeven:

De zoekopdracht uitvoeren:

De query wordt naar het stuurprogramma verzonden via componenteninterface zoals de opdrachtregel of de web-UI. Een stuurprogramma kan elk database-stuurprogramma zijn, zoals JDB of ODBC, enz.

Het plan krijgen:

De syntaxis voor de vereiste van het query- of queryplan kan worden gecontroleerd met behulp van een querycompiler die de query doorloopt en wordt aangeroepen door de bestuurder.

De metagegevens verkrijgen:

De meta-store kan zich in elke database bevinden en de compiler vraagt ​​om toegang tot de metadata.

De metadata verzenden:

Op verzoek van de compiler verzendt de meta store de metadata.

Plan verzenden:

De compiler stuurt het plan naar de bestuurder bij het verifiëren van de vereisten die door de compiler zijn verzonden. Met deze stap wordt het parseren en compileren van een query voltooid.

Het plan uitvoeren:

Het uitvoeringsplan wordt door de bestuurder naar de uitvoeringsmotor gestuurd.

De opdracht uitvoeren:

Het uitvoeren van de taak is een MapReduce-taak die in de backend wordt uitgevoerd. Vervolgens volgt het de normale conventie van Hadoop-framework - de uitvoering-engine stuurt een opdracht naar de opdrachttracker die zich op het naamknooppunt bevindt en de naamknoop op zijn beurt wijst de opdracht toe aan de taaktracker die zich in de gegevensnotitie bevindt. De MapReduce-taak wordt hier uitgevoerd.

Metadata ops:

Tijdens het uitvoeren van de taak kan de uitvoeringsengine metadatabewerkingen uitvoeren met de meta store.

Resultaat ophalen:

De gegevensknooppunten geven na de voltooiing van de verwerking het resultaat door aan de uitvoeringsengine.

Het resultaat verzenden

De bestuurder ontvangt het resultaat van de uitvoeringsmotor.

Resultaat verzending:

Ten slotte ontvangen de Hive-interfaces het resultaat van het stuurprogramma.

Door de bovenstaande stappen uit te voeren, vindt er dus een volledige query-uitvoering in Hive plaats.

Hoe maakt de Hive werken zo gemakkelijk?

Hive is een Data Warehousing Framework dat bovenop Hadoop is gebouwd en waarmee gebruikers gegevensanalyses kunnen uitvoeren, gegevens kunnen opvragen en gegevens kunnen samenvatten op grote hoeveelheden gegevenssets. HiveQL is een unieke functie die eruitziet als SQL-gegevens die zijn opgeslagen in de database en de uitgebreide analyse uitvoert. Ik was in staat om gegevens met een zeer hoge snelheid te lezen en de gegevens in de datawarehouses te schrijven, evenals het kan grote datasets beheren die over meerdere locaties zijn verdeeld. Samen met deze component biedt deze ook structuur aan de gegevens die zijn opgeslagen in de database en kunnen gebruikers verbinding maken met component via het opdrachtregelprogramma of het JDBC-stuurprogramma.

Topbedrijven:

Grote organisaties die met big data werken, gebruikten bijenkorf - zoals Facebook, Amazon, Walmart en vele anderen.

Wat kunt u doen met Hive?

Er zijn veel functionaliteiten van de component, zoals gegevensquery, gegevensoverzicht en gegevensanalyse. Hive ondersteunt een querytaal met de naam HiveQL of Hive Query Language. De Hive-querytaalquery's worden vertaald in MapReduce-taak die wordt verwerkt in het Hadoop-cluster. Afgezien hiervan vermindert Hiveql ook het script dat aan de query's kan worden toegevoegd. Op deze manier verhoogt HiveQL de flexibiliteit van het schemaontwerp, dat ook data-deserialisatie en data-serialisatie ondersteunt.

Werken met Hive:

Hieronder vindt u enkele operationele details in Hive. Hive-gegevenstypen zijn grofweg ingedeeld in vier typen, zoals hieronder aangegeven:

  • Kolomtypen
  • literals
  • Null waarden
  • Complexe typen

1. Kolomtypen:

Dit zijn de kolomgegevenstypen van de component. Deze zijn als volgt ingedeeld:

  • Integrale typen: gehele gegevens worden weergegeven met behulp van het integrale gegevenstype. Het symbool is INT. Aan gegevens die de bovenlimiet van INT overschrijden, moet het gegevenstype BIGINT worden toegewezen. Op dezelfde manier moeten alle gegevens onder de ondergrens van INT SMALLINT worden toegewezen. Er is een ander gegevenstype genaamd TINYINT dat nog kleiner is dan SMALLINT.
  • Stringtypen: String-gegevenstype wordt in de component weergegeven door een enkel aanhalingsteken (') of dubbele aanhalingstekens (“). Het kan van twee soorten zijn - VARCHAR of CHAR.
  • Tijdstempel: Hive-tijdstempel ondersteunt java.sql. Tijdstempelformaat "jjjj-mm-dd hh: mm: ss.ffffffffff" en formaat "JJJJ-MM-DD HH: MM: SS.fffffffff".
  • Datum: Datum wordt weergegeven in de component in het formaat JJJJ-MM-DD dat jaar-maand-dag vertegenwoordigt.
  • Decimalen : decimalen in een bijenkorf worden weergegeven in het grote decimale formaat van Java en worden gebruikt om onveranderlijke willekeurige precisie weer te geven. Het wordt weergegeven in het formaat Decimaal (precisie, schaal).
  • Union-typen: Union wordt in de component gebruikt om een ​​verzameling van een heterogeen datatype te maken. Het kan worden gemaakt met behulp van een unie maken.

Hieronder is een voorbeeld:

UNIONTYPE
(0:1)
(1:2.0)
(2:("three", "four"))
(3:("a":5, "b":"five"))
(2:("six", "seven"))
(3:("a":8, "b":"eight"))
(0:9)
(1:10.0)
UNIONTYPE
(0:1)
(1:2.0)
(2:("three", "four"))
(3:("a":5, "b":"five"))
(2:("six", "seven"))
(3:("a":8, "b":"eight"))
(0:9)
(1:10.0)

2. Literalen:

Er zijn maar weinig letterlijke woorden in de korf. Ze zijn zoals hieronder:

  • Type drijvende komma : ze worden weergegeven als getallen met een decimaalteken. Deze zijn vrij gelijkaardig aan dubbel gegevenstype.
  • Decimaal type : dit type gegevens bevat alleen decimale type gegevens, maar met een hoger bereik van zwevende kommawaarde dan het dubbele gegevenstype. Het bereik van het decimale type is bij benadering -10-308 tot 10 308.

3. Null-waarde:

De speciale waarde NULL vertegenwoordigt ontbrekende waarden in de component.

4. Complexe typen:

Hieronder staan ​​de verschillende complexe typen die in de component worden gevonden:

  • Arrays : Arrays worden weergegeven in een bijenkorf in dezelfde vorm als van Java. De syntaxis is als ARRAY.
  • Kaarten : kaarten worden in de korf weergegeven in dezelfde vorm als die van Java. De syntaxis is als MAP
  • .
  • Structs : Structs in de component worden weergegeven als complexe gegevens met opmerkingen. De syntaxis is als STRUCT.

Naast al deze, kunnen we databases, tabellen maken, partitioneren en tal van andere functies.

  • Databases: dit zijn de naamruimten met een verzameling tabellen. Hieronder staat de syntaxis om een ​​database in een component te maken.

CREATE DATABASE (IF NOT EXISTS) sampled;

De databases kunnen ook worden verwijderd als ze niet meer nodig zijn. Hieronder staat de syntaxis om een ​​database te verwijderen.

DROP DATABASE (IF EXISTS) sampled;

  • Tabellen: ze kunnen ook in de component worden gemaakt om gegevens op te slaan. Hieronder staat de syntaxis voor het maken van een tabel.

CREATE (TEMPORARY) (EXTERNAL) TABLE (IF NOT EXISTS) (db_name.) table_nam
((col_name data_type (COMMENT col_comment), …)) (COMMENT table_comment
(ROW FORMAT row_format) (STORED AS file_format)

Een tafel kan ook worden neergezet als deze niet meer nodig is. Hieronder staat de syntaxis om een ​​tabel neer te zetten.

DROP TABLE (IF EXISTS) table_name;

voordelen

Het belangrijkste voordeel van Apache Hive is het opvragen van gegevens, het samenvatten en analyseren. Hive is ontworpen voor een betere productiviteit van de ontwikkelaar en gaat ook gepaard met de kosten van toenemende latentie en afnemende efficiëntie. Apache Hive biedt een breed scala aan door de gebruiker gedefinieerde functies die kunnen worden gekoppeld aan andere Hadoop-pakketten zoals RHipe, Apache Mahout, enz. Het helpt ontwikkelaars in grote mate bij het werken met complexe analytische verwerking en meerdere gegevensindelingen. Het wordt voornamelijk gebruikt voor data warehousing, wat een systeem betekent voor rapportage en data-analyse.

Het omvat het opschonen, transformeren en modelleren van gegevens om nuttige informatie te verschaffen over verschillende zakelijke aspecten die kunnen helpen bij het produceren van een voordeel voor een organisatie. Gegevensanalyse veel verschillende aspecten en benaderingen die verschillende technieken met verschillende namen in verschillende bedrijfsmodellen, domeinen van de sociale wetenschappen, enz. Omvatten. Hive is veel gebruiksvriendelijk en biedt gebruikers tegelijkertijd toegang tot de gegevens, waardoor de responstijd toeneemt. In vergelijking met het andere type vragen op grote gegevenssets is de responstijd van de component veel sneller dan andere. Het is ook veel flexibel qua prestaties bij het toevoegen van meer gegevens en door het aantal knooppunten in het cluster te vergroten.

Waarom zouden we de Hive gebruiken?

Naast data-analyse biedt Hive een breed scala aan opties om de gegevens in HDFS op te slaan. Hive ondersteunt verschillende bestandssystemen, zoals een plat bestand of een tekstbestand, een reeks bestaande uit binaire sleutel / waarde-paren, RC-bestanden die de kolom van een tabel opslaan in een zuilvormige database. Tegenwoordig wordt het bestand dat het meest geschikt is voor Hive ORC-bestanden of Optimized Row Columnar-bestanden genoemd.

Waarom hebben we Hive nodig?

In de wereld van vandaag wordt Hadoop geassocieerd met de meest verspreide technologieën die worden gebruikt voor big data-verwerking. De zeer rijke verzameling tools en technologieën die worden gebruikt voor data-analyse en andere big data-verwerking.

Wie is het juiste publiek om Hive-technologieën te leren?

Vooral mensen met een achtergrond als ontwikkelaars, Hadoop-analyses, systeembeheerders, datawarehousing, SQL Professional en Hadoop-beheer beheersen de korf.

Hoe deze technologie u helpt bij de groei van uw carrière?

Hive is tegenwoordig een van de meest bekwame vaardigheden in de markt en het is een van de beste tools voor gegevensanalyse in de Hadoop-wereld met big data. Grote ondernemingen die analyses uitvoeren over grote gegevenssets, zijn altijd op zoek naar mensen met de rechten van vaardigheden, zodat ze grote hoeveelheden gegevens kunnen beheren en opvragen. Hive is de laatste dagen een van de beste tools op de markt voor big data-technologieën die een organisatie over de hele wereld kunnen helpen bij hun data-analyse.

Conclusie:

Afgezien van de hierboven gegeven functies heeft Hive veel geavanceerdere mogelijkheden. De kracht van Hive om een ​​groot aantal datasets met grote nauwkeurigheid te verwerken, maakt Hive een van de beste tools voor analyse in het Big Data-platform. Trouwens, het heeft ook een groot potentieel om te verschijnen als een van de toonaangevende big data-analysehulpmiddelen in de komende dagen vanwege periodieke verbetering en gebruiksgemak voor de eindgebruiker.

Aanbevolen artikelen

Dit is een leidraad geweest voor What is Hive. Hier hebben we de werking, vaardigheden, carrièregroei, voordelen van Hive en topbedrijven besproken die deze technologie implementeren. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Hive Commands
  2. Hive Interview Vragen
  3. Wat is Azure?
  4. Wat is big data-technologie?
  5. Bijenkorf architectuur Definitie
  6. ORDER BY-functie gebruiken in Hive

Categorie: