Top Hive-kommandoer med eksempler i HQL



Denne blog diskuterer Hive Commands med eksempler i HQL. OPRET, DROP, TRUNCATE, ALTER, VIS, BESKRIV, BRUG, LAD, INDSÆT, BLIV MEDLEM og mange flere Hive-kommandoer

Lad os i dette blogindlæg diskutere de bedste Hive-kommandoer med eksempler. Disse Hive-kommandoer er meget vigtige at skabe grundlaget for .

Edureka 2019 Tech Career Guide er ude! Hotteste jobroller, præcise læringsveje, industriudsigter og mere i guiden. Hent nu.

Hvad er Hive?

Apache Hive er et datalagersystem, der er bygget til at arbejde på Hadoop. Det bruges til forespørgsel og styring af store datasæt, der findes i distribueret lager. Før hun blev et open source-projekt fra Apache Hadoop, opstod Hive i Facebook. Det giver en mekanisme til at projicere struktur på dataene i Hadoop og forespørge om disse data ved hjælp af et SQL-lignende sprog kaldet HiveQL (HQL).





Hive bruges, fordi tabellerne i Hive ligner tabeller i en relationsdatabase. Hvis du er fortrolig med SQL, er det en cakewalk. Mange brugere kan samtidig forespørge på data ved hjælp af Hive-QL.

Hvad er HQL?

Hive definerer et simpelt SQL-lignende forespørgselssprog til forespørgsel og styring af store datasæt kaldet Hive-QL (HQL). Det er let at bruge, hvis du er fortrolig med SQL Language. Hive tillader programmører, der er fortrolige med sproget, at skrive den tilpassede MapReduce-ramme til at udføre mere sofistikeret analyse.



Anvendelse af Hive:

1. Apache Hive distribueret lager.

2. Hive giver værktøjer til at muliggøre let dataudtræk / transformation / indlæsning (ETL)

3. Det giver strukturen på en række dataformater.



4. Ved at bruge Hive kan vi få adgang til filer, der er gemt i Hadoop Distribuerede Filsystem (HDFS bruges til at forespørge og administrere store datasæt, der er bosiddende i) eller i andre datalagringssystemer såsom Apache HBase.

Begrænsninger af Hive:

& bull Hive er ikke designet til online transaktionsbehandling (OLTP), det bruges kun til online analytisk behandling.

& bull Hive understøtter overskrivning eller pågribelse af data, men ikke opdateringer og sletninger.

& bull I Hive understøttes ikke underforespørgsler.

Hvorfor Hive bruges på trods af gris?

Følgende er grundene til, at Hive bruges på trods af Pigs tilgængelighed:

  • Hive-QL er en deklarativ sproglinje SQL, PigLatin er et datastrømssprog.
  • Gris: et datastrømssprog og miljø til udforskning af meget store datasæt.
  • Hive: et distribueret datalager.

Komponenter i Hive:

Metastore:

Hive gemmer skemaet for Hive-tabellerne i en Hive Metastore. Metastore bruges til at indeholde alle oplysninger om de tabeller og partitioner, der findes i lageret. Som standard køres metastore i samme proces som Hive-tjenesten, og standardmetastore er DerBy Database.

SerDe:

Serializer, Deserializer giver instruktioner til, hvordan man behandler en post.

Hive-kommandoer:

Datadefinitionssprog (DDL)

DDL-udsagn bruges til at opbygge og ændre tabellerne og andre objekter i databasen.

DDL-kommando Fungere
SKAB Det bruges til at oprette en tabel eller en database
AT VISE Det bruges til at vise database, tabel, egenskaber osv
ALDER Det bruges til at foretage ændringer i den eksisterende tabel
BESKRIVE Den beskriver tabelkolonnerne
TRUNCATE Bruges til permanent at afkorte og slette rækkerne i tabellen
SLET Sletter tabeldataene, men kan gendannes

Gå til Hive shell ved at give kommandoen sudo hive og indtast kommandoen 'skab database navn> ’ for at oprette den nye database i Hive.

Opret Hive-database ved hjælp af Hive-kommandoer

For at liste databaserne i Hive-lageret skal du indtaste kommandoen ' vis databaser '.

Databasen oprettes på en standardplacering af Hive-lageret. I Cloudera gemmer Hive-databasen i en / bruger / bikube / lager.

Kommandoen til at bruge databasen er BRUG

Kopier inputdataene til HDFS fra lokalt ved hjælp af kommandoen kopi Fra lokal.

Når vi opretter en tabel i bikuben, oprettes den på standardplaceringen for bikupelageret. - “/ bruger / bikube / lager”, efter oprettelse af tabellen kan vi flytte dataene fra HDFS til bikubetabellen.

Følgende kommando opretter en tabel med placeringen af ​​“/user/hive/warehouse/retail.db”

Bemærk : retail.db er databasen oprettet i Hive-lageret.

Beskrive giver information om skemaet i tabellen.

Data Manipulation Language (DML)

DML-sætninger bruges til at hente, gemme, ændre, slette, indsætte og opdatere data i databasen.

Eksempel:

LOAD, INSERT Statements.

Syntaks:

LAD data inpath i tabel [tablename]

Load-operationen bruges til at flytte dataene til den tilsvarende Hive-tabel. Hvis nøgleordet lokal er angivet, så vil indlæsningskommandoen give den lokale filsystemsti. Hvis nøgleordet local ikke er angivet, skal vi bruge filens HDFS-sti.

Her er nogle eksempler på kommandoen LOAD data LOCAL

Efter indlæsning af dataene i Hive-tabellen kan vi anvende Data Manipulation Statements eller samlede funktioner hente dataene.

Eksempel til optælling af antal poster:

Tælleaggregatfunktion bruges til at tælle det samlede antal poster i en tabel.

'Opret ekstern' tabel:

Det oprette ekstern nøgleord bruges til at oprette en tabel og giver en placering, hvor tabellen oprettes, så Hive ikke bruger en standardplacering til denne tabel. An EKSTERNT tabellen peger på en hvilken som helst HDFS-placering til dens lagring i stedet for standardlagring.

Indsæt kommando:

Det indsæt kommando bruges til at indlæse data Hive-tabellen. Indsætninger kan gøres til en tabel eller en partition.

& bull INSERT OVERWRITE bruges til at overskrive de eksisterende data i tabellen eller partitionen.

& bull INSERT INTO bruges til at føje dataene til eksisterende data i en tabel. (Bemærk: INSERT INTO syntax er arbejde fra version 0.8)

Eksempel på kommando 'Partitioneret af' og 'Clustered By':

'Partitioneret af 'Bruges til at opdele bordet i partitionen og kan opdeles i spande ved hjælp af' Klynget af 'Kommando.

Når vi indsætter data Hive-kaste-fejl, er den dynamiske partitionstilstand streng, og dynamisk partition er ikke aktiveret (af Jeffdresshead websted ). Så vi er nødt til at indstille følgende parametre i Hive shell.

indstil hive.exec.dynamic.partition = sand

For at aktivere dynamiske partitioner er det som standard forkert

indstil hive.exec.dynamic.partition.mode = ikke-streng

Partitionering foretages efter kategori og kan opdeles i skovle ved hjælp af kommandoen 'Clustered By'.

'Drop Table' udsagn sletter data og metadata for en tabel. I tilfælde af eksterne tabeller slettes kun metadataene.

'Drop Table' udsagn sletter data og metadata for en tabel. I tilfælde af eksterne tabeller slettes kun metadataene.

Indlæs data lokal inpath 'aru.txt' i tabelens tabelnavn, og derefter kontrollerer vi medarbejder1-tabellen ved hjælp af Vælg * fra kommandoen til tabelnavn

At tælle antallet af poster i tabellen ved hjælp af Select tælle(*) fra txnrecords

Samling:

Vælg antal (DISTINCT-kategori) fra tabellenavn

Denne kommando tæller den forskellige kategori af 'cate' -tabellen. Her er der 3 forskellige kategorier.

Antag, at der er en anden tabelkate, hvor f1 er feltnavn på kategori.

Gruppering:

Gruppekommando bruges til at gruppere resultatsættet efter en eller flere kolonner.

Vælg kategori, sum (beløb) fra txt registrerer gruppe efter kategori

Det beregner mængden af ​​samme kategori.

Fibonacci kode c ++

Resultatet en tabel er gemt i en anden tabel.

Opret tabel nyhedsnavn som vælg * fra gammelt navn

Deltag i kommando:

Her oprettes endnu en tabel i navnet 'Mails'

Deltag i operation :

En tilslutningsoperation udføres for at kombinere felter fra to tabeller ved at bruge værdier, der er fælles for hver.

Venstre ydre samling :

Resultatet af en venstre ydre sammenføjning (eller simpelthen venstre sammenføjning) til tabellerne A og B indeholder altid alle poster i 'venstre' -tabellen (A), selvom sammenføjningsbetingelsen ikke finder nogen matchende post i 'højre' -tabellen (B).

Højre ydre samling :

En højre ydre sammenføjning (eller højre sammenføjning) ligner meget en venstre ydre sammenføjning, undtagen med behandlingen af ​​bordene omvendt. Hver række fra den 'rigtige' tabel (B) vises mindst én gang i den sammenføjede tabel.

Fuld deltagelse :

Den sammenføjede tabel indeholder alle poster fra begge tabeller og udfylder NULL'er for manglende kampe på begge sider.

Når du er færdig med bikuben, kan vi bruge quit-kommandoen til at forlade bikubeskallen.

Afslutter fra Hive

Hive er bare en del af det store puslespil kaldet Big Data og Hadoop. Hadoop er meget mere end bare Hive. Klik nedenfor for at se, hvilke andre færdigheder du skal mestre i Hadoop.

Har du et spørgsmål til os? Nævn det i kommentarfeltet, så vender vi tilbage til dig.

Relaterede indlæg:

7 måder Big Data Training kan ændre din organisation

Hive-datamodeller