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

Tasti di scelta rapida per Microsoft Office 2007 - dummies

Tasti di scelta rapida per Microsoft Office 2007 - dummies

Microsoft Office 2007 è pieno di scorciatoie da tastiera per risparmiare tempo. Comprimi i componenti di Office 2007 - Word, Excel, Outlook, PowerPoint e Access - utilizzando i tasti di scelta rapida utili della seguente tabella. Con poco sforzo, puoi aprire file, trovare contenuti, modificare quel contenuto e altro! Funzione Ctrl Copia Ctrl + C Taglia Ctrl + X Trova Ctrl + F Vai ...

Vantaggi di Lync Online - dummies

Vantaggi di Lync Online - dummies

Lync Online è disponibile sia in ambito professionale sia in piccole imprese (P) e aziendali (E ) piani in Office 365. Le funzionalità includono messaggistica istantanea (IM), chiamate audio e video, presenza, riunioni online, presentazioni online e la possibilità di connettersi con i contatti di Windows Live Messenger e altri utenti esterni che eseguono Lync. La tecnologia è integrata in tutto ...

Come avviare una conversazione con Lync Online - dummies

Come avviare una conversazione con Lync Online - dummies

La scheda di contatto di Lync Online è un ottimo modo per avviare una conversazione con un collega o i membri del tuo team. Oltre alle note personali, alla presenza e alla posizione, vengono visualizzate anche le informazioni sulla tua organizzazione come il titolo e i numeri di telefono. Per visualizzare la scheda di contatto, passa con il mouse sopra l'immagine di una persona e fai clic sul gallone ...

Scelta dell'editore

Come scegliere un'immagine di sfondo Twitter per Visual Social Marketing - dummies

Come scegliere un'immagine di sfondo Twitter per Visual Social Marketing - dummies

Quando si imposta su un account Twitter per il social marketing visivo, un tipo di immagine che è richiesto per il tuo profilo è l'immagine di sfondo - viene visualizzata dietro il profilo Twitter. Nella parte superiore della schermata Impostazioni disegno, Twitter ti consente di scegliere tra una serie di temi premade. Un tema premade applica un ...

Come scegliere un buon nome utente Twitter - dummy

Come scegliere un buon nome utente Twitter - dummy

Su Twitter, il tuo nome utente, o handle, è il tuo identità. Se puoi, iscriviti a Twitter usando il tuo nome o una variante di esso come nome utente (supponendo che qualcun altro non lo stia già utilizzando). Ad esempio, se il tuo nome è John Ira, potresti scegliere un nome utente Twitter come @johnira o ...

Come personalizzare il tuo profilo Twitter - dummies

Come personalizzare il tuo profilo Twitter - dummies

La tua pagina pubblica su Twitter, noto anche come profilo, è la prima impressione che gli altri utenti di Twitter hanno di te, e può fare una grande differenza nel decidere se seguirti. Personalizzare la tua pagina del profilo Twitter in modo che rifletta te o la tua azienda fa la differenza quando si tratta di persone ...

Scelta dell'editore

Perché avresti bisogno di più profili utente per Dragon Professional Individuale - manichini

Perché avresti bisogno di più profili utente per Dragon Professional Individuale - manichini

Drago Individuo professionale capisce solo quelli che si sono presentati ufficialmente come utenti e hanno creato un profilo utente. Ecco quattro motivi per cui potresti voler creare più di un profilo utente: usi diversi vocabolari o stili di scrittura per compiti diversi. Si utilizzano diversi microfoni per compiti diversi. Volete ...

Lavorare con fogli di calcolo Usare NaturallySpeaking - dummies

Lavorare con fogli di calcolo Usare NaturallySpeaking - dummies

Utilizzando fogli di calcolo con versioni precedenti di NaturallySpeaking era difficile perché non si poteva indirizzare direttamente i nomi delle celle. Volevi dire qualcosa come "Cella A5" o "Seleziona Colonna C." Ma (sospiro), niente dado. Il tuo assistente non aveva idea di cosa stavi parlando. Bene, il tuo assistente ha "up-leveled" le sue abilità! Ora è possibile ...

Su Evernote's Passcode Lock - dummies

Su Evernote's Passcode Lock - dummies

Abbonati premium e business che utilizzano determinati dispositivi ora possono bloccare l'app Evernote con un blocco Passcode . Ogni volta che torni all'app, ti viene chiesto di inserire il tuo codice. Un blocco passcode è un'ottima opzione se condividi il tuo telefono o tablet con altre persone e vuoi impedire loro di accedere a ...