Video: Howto install Hive on Ubuntu 2024
Hive är ett satsinriktat datalagringslager byggt på core-elementen i Hadoop (HDFS och MapReduce) och är mycket användbar i stora data. Det ger användare som känner till SQL med en enkel SQL-lite-implementering som heter HiveQL utan att offra åtkomst via mappers och reduktionsapparater. Med Hive kan du få det bästa av båda världarna: SQL-liknande tillgång till strukturerad data och sofistikerad stor dataanalys med MapReduce.
Till skillnad från de flesta datalager är Hive inte utformat för snabba svar på frågor. Faktum är att frågor kan ta flera minuter eller till och med timmar beroende på komplexiteten. Som ett resultat är Hive bäst används för datavinnning och djupare analyser som inte kräver realtidsbeteenden. Eftersom den är beroende av Hadops fundament är den mycket utdragbar, skalbar och fjädrande, något som det genomsnittliga datalageret inte är.
Hive använder tre mekanismer för dataanalys:
-
Tabeller: Hive-tabeller är desamma som RDBMS-tabeller som består av rader och kolumner. Eftersom Hive lagras på Hadoop HDFS, kartläggs tabellerna till kataloger i filsystemet. Dessutom stöder Hive tabeller lagrade i andra inbyggda filsystem.
-
Uppdelningar: Ett Hive-bord kan stödja en eller flera partitioner. Dessa partitioner är mappade till underkataloger i det underliggande filsystemet och representerar fördelningen av data i hela tabellen. Till exempel, om en tabell heter autos, med ett nyckelvärde på 12345 och ett tillverkarvärde Ford, skulle sökvägen till partitionen vara / hivewh / bilar / kv = 12345 / Ford.
-
Skopor: I sin tur kan data delas upp i skopor. Skopor lagras som filer i partitionskatalogen i det underliggande filsystemet. Skoporna är baserade på hash av en kolumn i bordet. I det föregående exemplet kanske du har en hink som heter Focus, som innehåller alla attribut i en Ford Focus-bil.
Hive-metadata lagras externt i "metastore". "Metastoren är en relationsdatabas som innehåller de detaljerade beskrivningarna av Hive-schemat, inklusive kolumntyper, ägare, nyckel- och värdedata, tabellstatistik och så vidare. Metastoren kan synkronisera katalogdata med andra metadatatjänster i Hadoop ekosystemet.
Hive stöder ett SQL-liknande språk som heter HiveQL. HiveQL stöder många av SQL-primitiverna, till exempel välj, gå med, aggregera, fackliga alla, och så vidare. Den stöder också flervärdiga frågor och inlägg genom att dela in data i ett enda HiveQL-uttalande. HiveQL kan utökas för att stödja användardefinierad aggregering, kolonnomvandling och inbyggda MapReduce-skript.