Introduksjon til HiveQL

HiveQL, ofte kjent som HQL, er et SQL-lignende spørrespråk for å behandle store biter med data fra Hadoop-miljøet. Opprinnelig utviklet av Facebook rundt 2007, har senere blitt et åpen kildekode-Apache-prosjekt. Hive-spørsmål med syntaks som ligner på SQL har blitt populære blant dataanalytikere i dag. HiveQL ved bruk av HDFS for lagring og MapReduce for prosessering hjelper med å oppnå innsikt for big data-brukere med minst mulig kodingserfaring. Ulike andre distribuerte beregningsmotorer som Apache Tez og Apache Spark kan brukes med HiveQL for raskere prosessering av storskala dataanalyse. De forskjellige måtene å bruke HiveQL på er - CLI (Command Line Interface), kommersielle produkter som Karmasphere, Clouderas open source Hue og Qubole.

Arbeid med HiveQL

Hive gir en SQL-lignende dialekt for datamanipulering, og eliminerer behovet for at vi skriver lavt nivå MapReduce jobber for å hente data (gjennom Mapper) og samle de endelige resultatene (gjennom Reducer Modules).

  • Utfører Hive-spørring

Trinn for å utføre en Hive-spørring er:

  1. Hive-grensesnitt (gjennom CLI eller Web UI) sender spørringen til Driver (som er JDBC, ODBC eller Thrift Server) for å kompilere, optimalisere og utføre. Den sjekker spørringen gjennom en kompilator for syntaks og utførelsesplan.
  2. Compiler sender forespørsel til Metastore og mottar Metadata som svar.
  3. Kompilatoren formidler utførelsesplanen tilbake til driveren, som videre sender den til utførelsesmotoren.
  4. Utførelsesmotoren samhandler med Job Tracker, som er Navneknuten for å få jobben gjort.
  5. Parallelt utfører eksekveringsmotoren også Metadata-drift.
  6. Navneknute får jobben gjort av oppgave tracker eller dataknuter.
  7. Resultater som deles med utførelsesmotoren, som deretter vises til grensesnittet gjennom driveren.
  • Optimalisering av spørringer

Tuning HiveQL for bedre optimalisering av spørsmål. Ved å bruke kommandoene nedenfor kan vi overstyre standardkonfigurasjonene og aktivere raskere utførelse av spørring.

1 . SET hive.execution.engine = tez

Som standard er utførelsesmotoren satt som Mapreduce, men vi kan eksplisitt stille den til tez (bare for Hadoop 2) eller Spark (for Hive 1.1. 0 og videre).

2 . SET hive.mapred.mode = unstrict

Dette er for dynamisk partisjonering som er nyttig for innlasting av store datasett. Statisk partisjonering er imidlertid satt som standard, noe som skjer i "streng" modus.

3 . SET hive.vectorized.execution = sant

set hive.vectorized.execution.enabled = true

Vectorisert utførelse av spørring gjør at operasjoner som –aggregater, filtre eller sammenføyninger kan skje i grupper på 1024 rader i stedet for én rad om gangen.

4 . SET hive.auto.convert.join = true

Når du blir med i et stort datasett med et veldig lite datasett, er kartforbindelser mer effektive og kan settes ved hjelp av kommandoen ovenfor.

5 . SET hive.exec.parallel = sant

MapReduce-jobber utføres parallelt i Hadoop. Noen ganger, hvis spørsmål ikke er avhengige av hverandre, kan parallellkjøring favoriseres som fører til bedre minnehåndtering.

6 . SET hive.exec.compress.output = true

Dette gjør det mulig å lagre den endelige utgangen i HDFS i et komprimert format.

7 . SET hive.exec.compress.output = true

Dette gjør det mulig å lagre den endelige utgangen i HDFS i et komprimert format.

Funksjoner ved HiveQL

  1. Å være et språk på høyt nivå, blir Hive-spørsmål implisitt konvertert til kartreduserende jobber eller komplekse DAG-er (rettede sykliske grafer). Ved å bruke søkeordet "Forklar" før spørringen, kan vi få spørreplanen.
  2. Raskere utførelse av spørring ved bruk av Metadata-lagring i et RDMS-format og replikerer data, noe som gjør henting enkelt i tilfelle tap.
  3. Indeksering av bitmap gjøres for å akselerere spørsmål.
  4. Forbedrer ytelsen ved å tillate partisjonering av data.
  5. Hive kan behandle forskjellige typer komprimerte filer, og dermed spare plass.
  6. For å manipulere strenger, heltall eller datoer, støtter HiveQL utvide de brukerdefinerte funksjonene (UDF), for å løse problemer som ikke støttes av innebygde UDFer.
  7. Den gir en rekke tilleggsgrensesnitt for å bygge en tilpasset søkemotor.
  8. Ulike filformater støttes som Textfile, Sequencefile, ORC (Optimized Row Columnar), RCFile, Avro og Parkett. ORC-filformat er best egnet for å forbedre spørsmålets ytelse da det lagrer data på den mest optimaliserte måten, noe som fører til raskere utførelse av spørring.
  9. Det er et effektivt dataanalyse- og ETL-verktøy for store datasett 10. Lett å skrive spørsmål fordi det ligner på SQL. DDL (Data definition language) -kommandoer i bikube brukes til å spesifisere og endre strukturen til databasen eller tabellene i bikuben. Disse kommandoene slipp, oppretter, avkortes, endres, vises eller beskrives.

begrensninger

  1. Spørsmål om bikub har høyere latens ettersom Hadoop er et batchorientert system.
  2. Innlagte spørsmål eller understøttede spørsmål støttes ikke.
  3. Oppdatering eller sletting eller innsetting kan ikke utføres på et postnivå.
  4. Databehandling eller spørring i sanntid tilbys ikke gjennom Hive Scope of HQL.

Med petabytes data, alt fra milliarder til billioner poster, har HiveQL et stort omfang for big data-fagfolk.

Omfanget av HiveQL

Nedenfor er måtene omfanget av HiveQL utvider og bedre tjener formålet med å analysere enorme data generert av brukere hver dag.

Sikkerhet: Sammen med behandling av store data gir Hive datasikkerhet. Denne oppgaven er kompleks for det distribuerte systemet, da det er behov for flere komponenter for å kommunisere med hverandre. Kerberos autorisasjonsstøtte tillater godkjenning mellom klient og server.

Låsing: Tradisjonelt mangler Hive låsing på rader, kolonner eller spørsmål. Hive kan utnytte Apache Zookeeper for å låse støtte.

Workflow Management : Apache Oozie er en arbeidsflytplanlegger for å automatisere forskjellige HiveQL-spørsmål for å utføre sekvensielt eller parallelt.

Visualisering: Zeppelin bærbar PC er en nettbasert notatbok som muliggjør interaktiv dataanalyse. Den støtter Hive og Spark for datavisualisering og samarbeid.

Konklusjon

HiveQL er mye brukt på tvers av organisasjoner for å løse komplekse brukssaker. Husk funksjonene og begrensningene som språket tilbyr, Hive-spørrespråket brukes i telekommunikasjon, helsevesen, detaljhandel, bank og finansielle tjenester og til og med NASAs Test Propulsion Laboratory sitt klimavurderingssystem. Enkel å skrive SQL som spørringer og kommandoer kontoer for større aksept. Den voksende jobbmuligheten på dette feltet lokker friskere og fagpersoner fra forskjellige sektorer for å få praktisk erfaring og kunnskap om feltet.

Anbefalte artikler

Dette er en guide til HiveQL. Her diskuterer vi Introduksjon til HiveQL, Optimalisering av spørsmål og begrensninger og funksjoner. Du kan også gå gjennom relaterte artikler for å lære mer -

  1. Hva er Hive Datatyper?
  2. Hive Alternativer | Finn ut funksjonene
  3. Toppkomponenter i Hive-kommandoer
  4. Topp 10 spørsmål om Hive-intervju

Kategori: