Panoramica
- Apache AlveareHive è una piattaforma di social media decentralizzata che consente ai suoi utenti di condividere contenuti e connettersi con gli altri senza l'intervento di un'autorità centrale. Utilizza la tecnologia blockchain per garantire la sicurezza e la proprietà dei dati. A differenza di altri social network, Hive consente agli utenti di monetizzare i propri contenuti attraverso ricompense in criptovalute, che incoraggia la creazione e lo scambio attivo di informazioni.... es una herramienta imprescindible para cualquier persona interesada en la ciencia y la ingeniería de datos.
- Scopri i diversi tipi di tabelle Apache Hive
introduzione
Ho trascorso più di mezzo decennio a lavorare con lo stack tecnologico dei Big Data e a fornire consulenza a clienti in vari settori. Una cosa che ho notato è la frequenza con cui Hive viene utilizzato come soluzione di archiviazione in tutti i domini aziendali.
Non puoi ignorare Apache Hive quando stai imparando Apache Hadoop.
Hive es parte del gran ecosistema de Hadoop que le posibilita proporcionar un esquema para grandes datos que residen en HDFSHDFS, o File system distribuito Hadoop, Si tratta di un'infrastruttura chiave per l'archiviazione di grandi volumi di dati. Progettato per funzionare su hardware comune, HDFS consente la distribuzione dei dati su più nodi, garantire un'elevata disponibilità e tolleranza ai guasti. La sua architettura si basa su un modello master-slave, dove un nodo master gestisce il sistema e i nodi slave memorizzano i dati, facilitare l'elaborazione efficiente delle informazioni... La maggior parte di voi conoscerà RDBMS e le sue tabelle. Li usiamo così spesso che ormai sono diventati parte della nostra vita. Ed ecco la domanda: le tabelle in Hive non sono diverse.
Ti sei mai chiesto quali potrebbero essere i diversi tipi di tabelle in Hive? Questo è ciò di cui parleremo in questo post!!
Sommario
- Cos'è Apache Hive??
- Tipi di tabella in Apache Hive # 1: tabelle gestite
- Tipi di tabella in Apache Hive # 2: Tavoli esterni
- Tavolo gestito vs tavolo esterno: qual è la differenza?
- Identificare il tipo di tabella Apache Hive
Cos'è Apache Hive??
Apache Hive è un sistema di archiviazione dati per Apache Hadoop. Fornisce l'accesso SQL equivalente ai dati in HDFS in modo che Hadoop possa essere utilizzato come struttura di magazzino. Hive ti consente di fornire una struttura su dati in gran parte non strutturati. Dopo aver stabilito la struttura, puoi usare Hive per interrogare i dati senza conoscere Java o Map Reduce.
Linguaggio di query Hive (HQL) cuenta con una semántica y funciones similares a las de SQL estándar en la Banca datiUn database è un insieme organizzato di informazioni che consente di archiviare, Gestisci e recupera i dati in modo efficiente. Utilizzato in varie applicazioni, Dai sistemi aziendali alle piattaforme online, I database possono essere relazionali o non relazionali. Una progettazione corretta è fondamentale per ottimizzare le prestazioni e garantire l'integrità delle informazioni, facilitando così il processo decisionale informato in diversi contesti.... relacional para que los analistas de bases de datos experimentados puedan ingresar fácilmente a los datos.
Quali sono le funzionalità offerte da Hive?
Apache Hive fornisce le seguenti funzionalità:
- Apache Hive fornisce un modello di query più semplice con meno codice rispetto a Map Reduce
- HQL e SQL hanno una sintassi equivalente
- Fornisce molte funzionalità che rendono l'analisi facile da usare.
- Il tempo di risposta è di solito molto più veloce di altri tipi di query sugli stessi enormi set di dati
- Apache Hive supporta l'esecuzione su diversi framework di elaborazione
- Supporta query di dati ad hoc su HDFS
- Apache Hive supporta funzioni definite dall'utente, script e un formato E / S personalizzato per estenderne le funzionalità.
- È scalabile ed estensibile a vari tipi di dati e set di dati più grandi.
- I driver JDBC e ODBC maturi consentono a molte applicazioni di estrarre i dati da Hive per una reportistica fluida
- Hive consente agli utenti di leggere i dati in formati arbitrari, utilizzando SerDes e formati di input / Uscita
- Hive ha un'architettura consolidata per la gestione dei metadati, autenticazione e ottimizzazione delle query.
- Esiste una vasta comunità di professionisti e sviluppatori che lavorano e utilizzano Hive.
Tipi di tabella in Apache Hive
Questi sono i tipi di tabelle in Apache Hive:
Tavoli gestiti
In una tabella gestita, Hive gestisce sia i dati che lo schema della tabella. I dati si troveranno in una cartella con il nome della tabella all'interno dell'archivio dati Hive, che è semplicemente un percorso di file in HDFS.
La posizione è configurabile dall'utente quando Hive è installato. Per gestito o controllato intendiamo che se elimini (rimuovere) una tabella gestita, Hive rimuoverà entrambi gli schemi (la descrizione della tabella) ad esempio i file di dati associati alla tabella. Il percorso predefinito è / Nome utente / alveare / scorta).
Sintassi per la creazione di una tabella gestita
CREA TABELLA SE NON ESISTONO SCORTE (scambio STRING, simbolo STRING, price_open FLOAT, price_high GALLEGGIANTE, price_low FLOAT, price_adj_close FLOAT) CAMPI DELIMITATI IN FORMATO RIGA TERMINATI DA ',' ;
Per quanto riguarda tabelle gestite, È inoltre possibile copiare lo schema (ma non i dati) di una tabella esistente:
CREATE EXTERNAL TABLE IF NOT EXISTS mydb.employees3
LIKE mydb.employees
LOCATION '/path/to/data';
Tavoli esterni
Una tabella esterna è una tabella in cui Hive controlla solo lo schema della tabella. Nella maggior parte dei casi, L'utente imposterà il percorso della cartella all'interno di HDFS e copierà i file di dati lì. Questo percorso è incluso nella dichiarazione di definizione della tabella. Quando viene eliminata una tabella esterna, Hive eliminerà solo lo schema associato alla tabella. I file di dati non sono interessati.
Sintassi per la creazione di una tabella esterna
CREARE UNA TABELLA ESTERNA SE NON ESISTONO SCORTE (scambio STRING,
simbolo STRING,
price_open FLOAT,
price_high GALLEGGIANTE,
price_low FLOAT,
price_adj_close FLOAT)
CAMPI DELIMITATI IN FORMATO RIGA TERMINATI DA ','
LOCATION '/data/stocks';
Tabella gestita vs. tabella esterna: qual è la differenza?
Tavolo gestito | Tavolo esterno |
Hive presume che ha dati da tabelle gestite. | Per tavoli esterni, Hive presume di sì no gestire i dati. |
Se una tabella o una partizione gestita viene eliminata, i dati e i metadati associati a quella tabella o partizione vengono eliminati. | Lasciare la tabella non cancella i dati, anche se i metadati della tabella verranno rimossi. |
Per Tavoli gestiti, Alveare memorizza i dati nella directory del magazzino | Per Tavoli esterni, Alveare memorizza i dati nella LOCATION specificata durante la creazione del mesa(generalmente non nella directory del magazzino) |
La tabella gestita fornisce supporto ACID / azione transnazionale. | La tabella esterna non fornisce supporto per le azioni ACID / transazionale. |
Dichiarazioni: ARCHIVIO, UNARCHIVE, TRONCARE, UNISCI, Compatibile con CONCATENATE | Non supportato. |
La memorizzazione nella cache dei risultati delle query è supportata (salva i risultati di una query Hive eseguita per il riutilizzo) | Non supportato |
Identificare il tipo di tabella Apache Hive
Puoi sapere se una tabella è gestita o esterna usando l'output di DESCRIBE EXTENDED nome tabella.
Verso la fine dell'output delle informazioni dettagliate della tabella, vedrai quanto segue per amministrato tavoli:
... tableType: TABELLA_GESTIONE)
Per esterno tavole, vedrai quanto segue:
... tableType: TABELLA_ESTERNA)
Nota: Se ometti la parola chiave EXTERNAL e la tabella originale è esterna, anche la nuova tabella sarà esterna. Se si omette EXTERNAL e viene gestita la tabella originale, verrà gestito anche il nuovo tavolo. Nonostante questo, se include la parola chiave ESTERNO e la tabella originale è gestita, la nuova tabella sarà esterna. Anche in questo scenario, la clausola LOCATION rimarrà facoltativa.
Note finali
In questo post, abbiamo appreso di Apache Hive e dei suoi tipi di tabelle. Auspicabilmente, potresti aver ottenuto una buona panoramica dei tipi di tabella in Hive. Le differenze indicate non sono esaustive. Sentiti libero di aggiungere altro nella sezione commenti qui sotto.
Di seguito sono riportate alcune risorse aggiuntive di ingegneria dei dati che ti consiglio di esplorare:
Spero che il post ti sia piaciuto. Se hai domande relative a questo post, fammi sapere nella sezione commenti qui sotto.
Lettura consigliata-
https://cwiki.apache.org/confluence/display/Hive/Home