Vad är skillnaden mellan Hive och Impala

De huvudskillnad mellan Hive och Impala är det Hive är ett datalagringsprogram som kan användas för att komma åt och hantera stora distribuerade dataset som byggts på Hadoop medan Impala är en massiv parallellbehandling av SQL-motorn för hantering och analys av data lagrad på Hadoop.

Hive är ett datakatalog för öppen källkod för att fråga och analysera stora dataset som lagras i Hadoop-filer. Impala ger det snabbaste sättet att komma åt data som lagras i Hadoop Distributed File System. Båda är subverktyg relaterade till Hadoop.

Viktiga områden som omfattas

1. Vad är Hadoop
     - Definition, Funktionalitet
2. Vad är Hive
     - Definition, Funktionalitet
3. Vad är Impala
     - Definition, Funktionalitet
4. Vad är skillnaden mellan Hive och Impala
     - Jämförelse av viktiga skillnader

Nyckelbegrepp

Big Data, Data Warehouse, Hadoop, Hive, Impala

Vad är Hadoop

Stora data refererar till en stor dataset som har hög volym, hastighet och en mängd olika data. Stora data samlas dagligen och de kan inte behandlas med traditionella metoder. Därför införde Apache Software Foundation ett ramverk som heter Hadoop för att hantera och bearbeta stor data. Detta är en öppen källkod.

Hadoop består av två moduler: MapReduce och Hadoop Distributed File System (HDFS). MapReduce-modulen hjälper till att bearbeta massiva strukturerade, halvstrukturerade och ostrukturerade data på stora kluster av handelsvaror. Dessutom används HDFS för att lagra och bearbeta dataset. Det ger ett feltolerant filsystem för att köras på råvara.

Vad är Hive

Hadops ekosystem består av olika underverktyg som hjälper Hadoop-modulen. Hive är en av dem. Det utvecklades ursprungligen av Facebook men togs senare av Apache Software Foundation. Det hjälper till att sammanfatta stora data, göra frågor och analysera dem enkelt. Det ger SQL-språk för att skriva frågor som heter Hive QL eller HQL.

Hadops-processen med interaktion med Hadoop-ramverket är som följer.

  1. Hive-gränssnittet skickar frågan till enheter som JDBC, ODBC för att utföra fråga.
  2. Därefter får enheten en hjälp från frågeformuläret för att analysera frågan för att kontrollera syntaxen.
  3. Därefter skickar kompilatorn metadataförfrågan till metastore.
  4. I gengäld skickar metastoren metadata till kompilatorn som svaret.
  5. Kompilatorn kontrollerar sedan kravet och skickar in planen till föraren. Fram till den här tiden är frågeparsningen och sammanställningen klar.
  6. Därefter skickar enheten exekveringsplanen till exekveringsmotorn.
  7. Därefter exekveras jobbet. Det är ett MapReduce jobb. Exekveringsmotor kan utföra metadataoperationer med metastore.
  8. Och resultaten hämtas. Exekveringsmotorn får resultat från datodenoder.
  9. Nu skickar körmaskinen resultaten till föraren.
  10. Slutligen skickar föraren resultat till Hive-gränssnitt.

Vad är Impala

Impala är en massiv parallellbehandlings SQL-sökmotor som används för att bearbeta en hög volym data som lagras i Hadoop-klustret. Det är skrivet i C ++ och Java. Det ger en högre prestanda än Hive.

Det ger skalbarhet, flexibilitet, SQL-stöd och multi-user prestanda. Det låter användarna kommunicera med HDFS med hjälp av en SQL-typfråga som heter HBase mycket snabbare. Dessutom kan det läsa olika filformat som parkett och Avro. Den använder metadata, SQL-syntax (Hive SQL), ODBC-drivrutin och användargränssnitt som liknar Hive. Det ger en enhetlig plattform för satsorienterade eller realtidsfrågor.

Skillnad mellan Hive och Impala

Definition

Hive är ett data warehouse mjukvaruprojekt byggt på Apache Hadoop för att tillhandahålla datasök och analys. Impala är en öppen källkod med massiv parallellbehandling av SQL-sökmotorn för data som lagras i en datorkluster som kör Apache Hadoop. Således förklarar detta den grundläggande skillnaden mellan Hive och Impala.

Grund

Grunden för operationen är en annan skillnad mellan Hive och Impala. Hive är baserad på MapReduce Algorithm. Impala är inte baserat på MapReduce Algorithm. Det implementerar en distribuerad arkitektur baserad på demonprocesser. Det hanterar också det exekverade sökandet som körs på samma maskiner.

Intermediate Results

Dessutom materialiserar Hive alla mellanliggande resultat så att det förbättrar skalbarheten och feltoleransen. Impala utför strömmande mellanresultat mellan exekutörer.

Interaktiv databehandling

Impala är därför bättre för interaktiv databehandling än Hive.

Fart

Impala är dessutom snabbare än Hive eftersom det minskar latensen. Detta är en stor skillnad mellan Hive och Impala.

Typ

En annan skillnad mellan Hive och Impala är att Hive är en satsbaserad Hadoop MapReduce medan Impala är en massiv parallellbehandling av SQL-sökmotorn.

Query Execution

Dessutom, i Hive, produceras utmatningen från frågan eftersom den är feltolerant medan en dataknutning går ner under utförandet. I Impala startar sökningen från början medan en dataknutning går ner under körningen.

Komplexa typer

Hive stöder komplexa typer medan Impala inte stöder komplexa typer.

Slutsats

Skillnaden mellan Hive och Impala är att Hive är en datalagringsprogramvara som kan användas för att komma åt och hantera stora distribuerade dataset som byggts på Hadoop medan Impala är en massiv parallellbehandling SQL-motor för hantering och analys av data lagrad på Hadoop.

Referens:

1. "Hive - Introduktion." Www.tutorialspoint.com, Tutorials Point, Tillgänglig här.
2. "Impala Tutorial." Parallax Scrolling, Java-kryptering, YAML, Python Data Science, Java i18n, GitLab, TestRail, VersionOne, DBUtils, Common CLI, Seaborn, Ansible, LOLCODE, Aktuellt 2018, Apache Commons Collections, Tillgängliga här.

Image Courtesy:

1. "Apache Hive logo" Av Davod - Egent arbete, med hjälp av File: Apache Hive logo.jpg som bas (Apache License 2.0) via Wikimedia Commons