Casa Finanza personale Unendo tabelle con Hive - dummies

Unendo tabelle con Hive - dummies

Video: Alteryx - Scaricare file Json 2025

Video: Alteryx - Scaricare file Json 2025
Anonim

Probabilmente già sai che gli esperti di modellazione e progettazione di database relazionali di solito passano molto tempo a progettare database normalizzati, o schemi <. Il database normalizzazione è una tecnica che protegge da perdita di dati, ridondanza e altre anomalie man mano che i dati vengono aggiornati e recuperati. Gli esperti seguono un certo numero di regole per arrivare a un database normalizzato, ma la Regola 1 è che devi finire con un

gruppo di tabelle. (Una grande tabella che memorizza tutti i tuoi dati non è normale - giochi di parole.) Ci sono eccezioni, a seconda del caso d'uso, ma la legge di molte tabelle è generalmente seguita da vicino, specialmente per i database che supportano le transazioni o l'elaborazione analitica (business intelligence, per esempio).

Quando inizi a interrogare e analizzare i tuoi dati, le tabelle vengono unite in base alle relazioni definite tra loro usando SQL - il che significa che i dischi sono occupati sul tuo server quando inizi a unirti alle tabelle, e i dischi occupati di solito comportano tempi di risposta utente più lenti. Tuttavia, la buona notizia è che gli RDBMS e gli EDW sono sintonizzati per rendere i join il più rapidi possibile.

Cosa c'entra tutto questo con i join in Hive? Bene, ricorda che il sistema operativo sottostante per Hive è (sorpresa!) Apache Hadoop: MapReduce è il motore per l'unione delle tabelle e Hadoop File System (HDFS) è lo storage sottostante. Sono tutte buone notizie per l'utente che desidera creare, gestire e analizzare tabelle di grandi dimensioni con Hive.

Il potenziale per sbloccare informazioni nascoste in enormi strutture di dati è eccitante. Tuttavia, i join con Hive di solito non si comportano bene come nel mondo RDBMS / EDW, quindi gli utenti principianti sono spesso sorpresi dalla "sfiziosità" della risposta del sistema.

Ricorda che MapReduce e HDFS sono ottimizzati per il throughput con analisi dei big data e che, in questo mondo, latenze - i tempi di risposta degli utenti, in altre parole, sono in genere elevati. Hive è progettato per l'elaborazione analitica in batch, non per l'elaborazione rapida delle transazioni online. Gli utenti che desiderano ottenere le migliori prestazioni possibili con SQL su Apache Hadoop hanno a disposizione soluzioni.

Tieni presente questa dinamica quando inizi a unirti alle tabelle con Hive. Si noti inoltre che gli architetti di Hive di solito denormalizzano i loro database in una certa misura, quindi avere un numero minore di tabelle più grandi è normale. Ecco perché vengono forniti tipi di dati complessi come STRUCT e ARRAY. È possibile utilizzare questi tipi di dati complessi per comprimere molti più dati in un'unica tabella.

Poiché la tabella Hive legge e scrive tramite HDFS di solito coinvolgono blocchi di dati molto grandi, maggiore è il numero di dati che è possibile gestire complessivamente in una tabella, migliori sono le prestazioni generali.

L'accesso al disco e alla rete è molto più lento dell'accesso alla memoria, in modo da ridurre al minimo l'HDFS in lettura e scrittura il più possibile.

Tenendo presenti queste informazioni di base, puoi affrontare la creazione di join con Hive. Fortunatamente, la comunità di sviluppo di Hive era realistica e capiva che gli utenti avrebbero voluto e avrebbero dovuto unirsi alle tabelle con HiveQL. Questa conoscenza diventa particolarmente importante con l'aumento di EDW. Casi d'uso come gli archivi "interrogabili" richiedono spesso join per l'analisi dei dati.

Ecco un esempio di join Hive che utilizza le tabelle di dati di volo. L'elenco mostra come creare e visualizzare una tabella myflightinfo2007 e una tabella myflightinfo2008 dalle tabelle FlightInfo2007 e FlightInfo2008 più grandi. Il piano da sempre era quello di utilizzare il CTAS creato myflightinfo2007 e myflightinfo2008 tabelle per illustrare come è possibile eseguire join in Hive.

La figura mostra il risultato di un join interno con le tabelle myflightinfo2007 e myflightinfo2008 che utilizzano il client SQL di SQuirreL.

Hive supporta

equi-joins, un tipo specifico di join che utilizza solo confronti di uguaglianza nel predicato di join. (Su m8 FlightNum = m7 FlightNum è un esempio di equi-join.) Altri comparatori come Less Than (<) non sono supportati. Questa restrizione è solo a causa di limitazioni sul motore MapReduce sottostante. Inoltre, non è possibile utilizzare OR nella clausola ON. La figura illustra l'esempio precedente del join interno e altri due tipi di join Hive. Si noti che è possibile confermare i risultati di un join interno riesaminando i contenuti delle tabelle myflight2007 e myflight2008.

La seguente figura illustra come funziona un raccordo interno utilizzando un diagramma di Venn, nel caso in cui non si abbia familiarità con la tecnica. L'idea di base è che un'unione interna restituisce i record che corrispondono tra due tabelle. Quindi un inner join è uno strumento di analisi perfetto per determinare quali voli sono gli stessi da JFK (New York) a ORD (Chicago) nel luglio del 2007 e luglio del 2008.

Ottimizzare i join Hive è un argomento caldo nella comunità Hive. Per ulteriori informazioni sulle attuali tecniche di ottimizzazione, vedere la pagina Join Optimization sul wiki Hive.

Unendo tabelle con Hive - dummies

Scelta dell'editore

Il programma in cinque passaggi per superare la menopausa - dummy

Il programma in cinque passaggi per superare la menopausa - dummy

Alcune donne capiscono a malapena che la menopausa è loro. Altre donne, tuttavia, sono meno fortunate. Se sei uno di questi, prendi in mano questi pochi modi per rendere la tua esperienza più facile per te stesso: capisci e accetta che stai attraversando una transizione naturale, proprio come la pubertà. Fortunatamente, sei più vecchio e più saggio di te ...

Menopausa For Dummies Cheat Sheet (edizione UK) - dummies

Menopausa For Dummies Cheat Sheet (edizione UK) - dummies

Menopausa segna la fine della fase riproduttiva della tua vita e così è un momento significativo di cambiamento fisico, emotivo e mentale per molte donne ma, per generazioni, donne di tutte le età hanno vagato alla cieca in menopausa senza sapere cosa aspettarsi. Qui puoi scoprire alcune delle nozioni di base.

Perimenopausa: facilitare la transizione dalle mestruazioni alla menopausa - manichini

Perimenopausa: facilitare la transizione dalle mestruazioni alla menopausa - manichini

Mestruazioni e menopausa sono ben noti biologici pietre miliari nella vita di una femmina. Contrariamente al pensiero popolare, la menopausa non è il periodo di mesi o anni in cui una donna sta "attraversando il cambiamento". "Questo lasso di tempo è chiamato perimenopausa. La menopausa è una data effettiva nel tempo. In particolare, è il 12 ° anniversario dell'ultimo ciclo mestruale di una donna. ...

Scelta dell'editore

Come utilizzare il filtro automatico personalizzato su una tabella di Excel - dummies

Come utilizzare il filtro automatico personalizzato su una tabella di Excel - dummies

È Possibile creare un filtro automatico personalizzato . Per fare ciò, seleziona il comando Filtro testo dal menu della tabella e scegli una delle opzioni di filtro del testo. Indipendentemente dall'opzione di filtro del testo selezionata, Excel visualizza la finestra di dialogo Filtro automatico personalizzato. Questa finestra di dialogo consente di specificare con estrema precisione quali record si desidera ...

Come utilizzare la funzione DPRODUCT in un database Excel - dummies

Come utilizzare la funzione DPRODUCT in un database Excel - dummies

DPRODUCT moltiplica i valori che corrispondono al criterio in un database Excel. Questo è potente ma anche in grado di produrre risultati che non sono l'intenzione. In altre parole, è una cosa da aggiungere e ricavare una somma. Questa è un'operazione comune su un set di dati. Osservando la seguente figura, è possibile ...

Come utilizzare la funzione DPRODUCT in Excel - dummy

Come utilizzare la funzione DPRODUCT in Excel - dummy

La funzione DPRODUCT in Excel è strana. La funzione DPRODUCT moltiplica i valori nei campi da un elenco di database in base ai criteri di selezione. Perché vorresti farlo? Chissà. La funzione utilizza la sintassi = DPRODUCT (database, campo, criteri) in cui il database è un riferimento all'intervallo alla tabella di Excel che contiene il valore desiderato ...

Scelta dell'editore

Programmazione con Java: riutilizzo dei nomi nella tua app per Android - dummies

Programmazione con Java: riutilizzo dei nomi nella tua app per Android - dummies

Ci sono un paio di cose a cui vuoi pensare quando riutilizzi i nomi nella tua app per Android. È possibile dichiarare due variabili Java - bag1 e bag2 - per fare riferimento a due diversi oggetti BagOfCheese. Va bene. Ma a volte, avere solo una variabile e riutilizzarla per il secondo oggetto funziona altrettanto bene, ...

Java: Mettere a frutto l'uso della classe - dummies

Java: Mettere a frutto l'uso della classe - dummies

La classe Employee nell'elenco non ha alcun metodo principale , quindi non c'è un punto di partenza per l'esecuzione del codice. Per risolvere questo problema, il programmatore scrive un programma separato con un metodo principale e utilizza tale programma per creare istanze Employee. Questo elenco di codici mostra una classe con un metodo principale - uno che inserisce il ...

Classi wrapper java - dummies

Classi wrapper java - dummies

La differenza tra tipi primitivi e tipi di riferimento è una delle funzionalità più controverse di Java e gli sviluppatori si lamentano spesso sulle differenze tra valori primitivi e valori di riferimento. Ogni tipo primitivo viene cotto nella lingua. Java ha otto tipi primitivi. Ogni tipo di riferimento è una classe o un'interfaccia. È possibile definire il proprio ...