Cos'è Apache Hive?
Apache Hive è un sistema di data warehouse distribuito e tollerante ai guasti che consente l'analisi su vasta scala. Un data warehouse fornisce un archivio centrale di informazioni che possono essere facilmente analizzate per prendere decisioni informate e basate sui dati. Hive consente agli utenti di leggere, scrivere e gestire petabyte di dati utilizzando SQL.
Hive è basato su Apache Hadoop, un framework open source utilizzato per archiviare ed elaborare in modo efficiente set di dati di grandi dimensioni. Di conseguenza, Hive è strettamente integrato con Hadoop ed è progettato per funzionare rapidamente su petabyte di dati. Ciò che rende Hive unico è la capacità di interrogare set di dati di grandi dimensioni, sfruttando Apache Tez o MapReduce, con un'interfaccia simile a SQL.
Come funziona Hive?
Hive è stato creato per consentire ai non programmatori che hanno familiarità con SQL di lavorare con petabyte di dati, utilizzando un'interfaccia simile a SQL chiamata HiveQL. I database relazionali tradizionali sono progettati per query interattive su set di dati di piccole e medie dimensioni e non elaborano al meglio set di dati di grandi dimensioni. Hive utilizza invece l'elaborazione in batch in modo che funzioni rapidamente su un database distribuito molto grande. Hive trasforma le query HiveQL in processi MapReduce o Tez eseguiti sul framework di pianificazione dei lavori distribuito di Apache Hadoop, Yet Another Resource Negotiator (YARN). Esegue query su dati archiviati in una soluzione di archiviazione distribuita, come il File System distribuito Hadoop (HDFS) o Amazon S3. Hive archivia i metadati del database e delle tabelle in un metastore, che è un database o un archivio supportato da file che consente una facile astrazione e scoperta dei dati.
Hive include HCatalog, che è un livello di gestione delle tabelle e dell'archiviazione che legge i dati dal metastore Hive per facilitare la perfetta integrazione tra Hive, Apache Pig e MapReduce. Utilizzando il metastore, HCatalog consente a Pig e MapReduce di utilizzare le stesse strutture di dati di Hive, in modo che i metadati non debbano essere ridefiniti per ogni motore. Le applicazioni personalizzate o le integrazioni di terze parti possono utilizzare WebHcat, che è un'API RESTful per HCatalog per accedere e riutilizzare i metadati di Hive.
Quali sono i vantaggi di Hive?
Rapidità
Hive è progettato per gestire rapidamente petabyte di dati utilizzando l'elaborazione in batch.
Familiare
Hive fornisce un'interfaccia familiare, simile a SQL, accessibile ai non programmatori.
Scalabilità
Hive è facile da distribuire e scalare in base alle proprie esigenze.
Quali sono le differenze tra Apache Hive e Apache HBase?
Apache HBase è un database NoSQL distribuito che consente l'accesso casuale, strettamente coerente e in tempo reale a petabyte di dati. Apache Hive è un sistema di data warehouse distribuito che fornisce funzionalità di interrogazione simili a SQL.
Caratteristiche |
Apache Hive |
Apache HBase |
Funzione |
Motore di query simile a SQL progettato per archivi di dati ad alto volume. Sono supportati più formati di file. |
Archivio chiave-valore distribuito a bassa latenza con funzionalità di query personalizzate. I dati vengono archiviati in un formato orientato alle colonne. |
Tipo di elaborazione |
Elaborazione in batch utilizzando i framework di calcolo Apache Tez o MapReduce. |
Elaborazione in tempo reale. |
Latenza |
Da media a alta, a seconda della reattività del motore di calcolo. Il modello di esecuzione distribuita offre prestazioni superiori rispetto ai sistemi di interrogazione monolitici, come RDBMS, per gli stessi volumi di dati. |
Bassa, ma può essere incoerente. Le limitazioni strutturali dell'architettura HBase possono causare picchi di latenza in caso di carichi di scrittura intensi. |
Integrazione con Hadoop |
Funziona su Hadoop, con Apache Tez o MapReduce per l'elaborazione e HDFS o Amazon S3 per l'archiviazione. |
Funziona su HDFS o Amazon S3. |
Supporto SQL |
Fornisce funzionalità di query simili a SQL con HiveQL. |
Nessun supporto SQL da solo. È possibile utilizzare Apache Phoenix per le funzionalità SQL. |
Schema |
Schema definito per tutte le tabelle. |
Senza schemi. |
Tipi di dati |
Supporta dati strutturati e non strutturati. Fornisce supporto nativo per i tipi di dati SQL più comuni, come INT, FLOAT e VARCHAR. |
Supporta solo dati non strutturati. L'utente definisce le mappature dei campi di dati ai tipi di dati supportati da Java. |
Quali sono i casi d'uso di Hive?
Guardian garantisce sicurezza a 27 milioni di membri attraverso prodotti e servizi assicurativi e di gestione patrimoniale. Guardian utilizza Amazon EMR per eseguire Apache Hive su un data lake S3. Apache Hive viene utilizzato per l'elaborazione in batch. Il data lake S3 alimenta Guardian Direct, una piattaforma digitale che consente ai consumatori di ricercare e acquistare sia prodotti Guardian che prodotti di terze parti nel settore assicurativo.
La FINRA (Financial Industry Regulatory Authority) è l'autorità di regolazione indipendente più importante degli Stati Uniti; monitora e regola le pratiche commerciali del settore finanziario. FINRA utilizza Amazon EMR per eseguire Apache Hive su un data lake S3. L'esecuzione di Hive sui cluster EMR consente a FINRA di elaborare e analizzare i dati commerciali di un massimo di 90 miliardi di eventi utilizzando SQL. Il cloud data lake ha consentito di risparmiare fino a 20 milioni di dollari rispetto alla soluzione on-premise di FINRA e ha ridotto drasticamente il tempo necessario per il ripristino e gli aggiornamenti.
Vanguard, un consulente per gli investimenti registrato in America, è il principale fornitore di fondi comuni di investimento e il secondo più grande fornitore di fondi negoziati in borsa. Vanguard utilizza Amazon EMR per eseguire Apache Hive su un data lake S3. I dati vengono archiviati in S3 ed EMR crea un metastore Hive su tali dati. Il metastore Hive contiene tutti i metadati relativi ai dati e alle tabelle del cluster EMR, il che consente una facile analisi dei dati. Hive consente inoltre agli analisti di eseguire query SQL ad hoc sui dati archiviati nel data lake S3. La migrazione a un data lake S3 con Amazon EMR ha consentito a più di 150 analisti di dati di raggiungere l'efficienza operativa e ha ridotto i costi EC2 ed EMR di 600.000 dollari.
In che modo AWS può supportare Hive?
Amazon EMR offre il framework Hadoop gestito più semplice, veloce ed economico, che consente ai clienti di elaborare grandi quantità di dati su un numero dinamico di istanze EC2. I clienti possono anche eseguire altri framework distribuiti come Apache Hive, Spark, HBase, Presto e Flink in EMR.
Ulteriori informazioni su Amazon EMR
Comincia a sfruttare subito Apache Hive su AWS creando un account AWS gratuito oggi stesso.
Fasi successive su AWS
Ottieni accesso istantaneo al Piano gratuito di AWS.