Hive-tutorial voor beginners: leer met voorbeelden in 3 dagen

Samenvatting van de Hive-zelfstudie


Apache Hive helpt bij het snel opvragen en beheren van grote datasets. Het is een ETL-tool voor de Hadop ecossysteem. In deze Apache Hive-tutorial voor beginners leert u de basisprincipes van Hive en belangrijke onderwerpen zoals HQL-query's, gegevensextracties, partities, buckets, enzovoort. Deze Hive-tutorialserie helpt je Hive-concepten en -basisprincipes te leren.

Wat moet ik weten?


Om deze zelfstudie over Hive-query's te leren, hebt u basiskennis nodig van SQL, Hadoop en kennis van andere databases zal een extra hulp zijn.

Hive-cursussyllabus

Introductie

👉 Les 1 Wat is Hive? - Architectuur en modi
👉 Les 2 HIVE downloaden en installeren - HIVE downloaden en installeren op Ubuntu
👉 Les 3 HIVE-metastore-configuratie – Waarom MySQL gebruiken?
👉 Les 4 Hive-gegevenstypen - Database maken en neerzetten in Hive

Geavanceerde dingen

👉 Les 1 Hive Tabel maken - Typen en het gebruik ervan
👉 Les 2 Hive-partities en -emmers - Leer met voorbeeld
👉 Les 3 Hive-indexen en -weergave - Leer met voorbeeld
👉 Les 4 Hive-query's - Leer met voorbeeld
👉 Les 5 Hive Join & SubQuery-zelfstudie - Leer met voorbeeld
👉 Les 6 Hive Query-taaltutorial — Ingebouwde operators
👉 Les 7 Hive-functie — Ingebouwde en door de gebruiker gedefinieerde functies
👉 Les 8 Bijenkorf ETL — Laden van JSON-, XML- en tekstgegevensvoorbeelden

Inleiding tot Hive

Hive is geëvolueerd als een datawarehousing-oplossing gebouwd bovenop het Hadoop Map-Reduce-framework.

De omvang van de datasets die in de branche worden verzameld en geanalyseerd business intelligence is growing en in zekere zin maakt het traditionele datawarehousing-oplossingen duurder. Hadoop met MapReduce-framework, wordt gebruikt als een alternatieve oplossing voor het analyseren van datasets met enorme omvang. Hoewel Hadoop nuttig is gebleken bij het werken aan enorme datasets, is het MapReduce-framework van een zeer laag niveau en vereist het dat programmeurs aangepaste programma's schrijven die moeilijk te onderhouden en opnieuw te gebruiken zijn. Hive komt hier om programmeurs te redden.


Hive-motor compileert deze vragen in Map-Reduce-taken die op Hadoop moeten worden uitgevoerd. Bovendien kunnen aangepaste Map-Reduce-scripts ook in query's worden ingeplugd. Hive werkt op gegevens die zijn opgeslagen in tabellen en die bestaan ​​uit primitieve gegevenstypen en verzamelingsgegevenstypen zoals arrays en kaarten.

Hive wordt geleverd met een opdrachtregelshellinterface die kan worden gebruikt om tabellen te maken en query's uit te voeren.

Hive-querytaal is vergelijkbaar met SQL en ondersteunt subquery's. Met de Hive-querytaal is het mogelijk om MapReduce-joins te nemen in Hive-tabellen. Het heeft een ondersteuning voor eenvoudig SQL-achtige functies– CONCAT, SUBSTR, RONDE enz., en aggregatiefuncties– SUM, COUNT, MAX etc. Het ondersteunt ook GROUP BY- en SORT BY-clausules. Het is ook mogelijk om door de gebruiker gedefinieerde functies te schrijven in de Hive-querytaal.

Wat is Hive?

Apache-bijenkorf is een datawarehouse-framework voor het opvragen en analyseren van gegevens die zijn opgeslagen in HDFS. Het is ontwikkeld bovenop Hadoop. Hive is open-sourcesoftware om grote datasets op Hadoop te analyseren. Het biedt SQL-achtige declaratieve taal, genaamd HiveQL, om vragen uit te drukken. Met behulp van Hive-QL kunnen gebruikers die zijn gekoppeld aan SQL kan zeer eenvoudig data-analyses uitvoeren.

Hive versus kaart verkleinen

Voordat we een van deze twee opties kiezen, moeten we enkele van hun kenmerken bekijken.

Terwijl u kiest tussen Hive en Map, vermindert u de following er wordt rekening gehouden met factoren;

  • Type gegevens
  • Hoeveelheid gegevens
  • complexiteit van de Code

Hive versus kaart verkleinen?

Kenmerk Bijenkorf Kaart verkleinen
Taal Het ondersteunt SQL-achtige querytaal voor interactie en voor gegevensmodellering
  • Het compileert taal met twee hoofdtaken erin. De ene is een kaarttaak en de andere is een reducer.
  • We kunnen deze taken definiëren met behulp van Java of Python
Niveau van abstractie Hoger abstractieniveau bovenop HDFS Lager abstractieniveau
Efficiëntie in code Relatief minder dan Kaartreductie Biedt hoge efficiëntie
Omvang van de code Minder aantal regels code vereist voor uitvoering Er moet een groter aantal regels codes worden gedefinieerd
Type ontwikkelingswerk vereist Minder ontwikkelingswerk vereist Er is meer ontwikkelingswerk nodig
Klik voor de Volgende zelfstudie