Condividi tramite


Collegare Tableau e Azure Databricks

Tableau è una piattaforma di business intelligence e visualizzazione dei dati che consente agli utenti di connettersi, analizzare e condividere i dati creando dashboard e report interattivi, abilitando infine il processo decisionale basato sui dati. Questo articolo illustra come usare Partner Connect per connettersi da Azure Databricks a Tableau Desktop e da Tableau Desktop o Tableau Cloud ad Azure Databricks. Questo articolo include anche informazioni su Tableau Server in Linux.

Nota

Per configurare l'accesso ad Azure Databricks da Tableau Server, vedere Configurare l'accesso ad Azure Databricks da Tableau Server.

Quando si usa Azure Databricks come origine dati con Tableau, è possibile fornire potenti analisi interattive, portando i contributi dei data scientist e dei data engineer agli analisti aziendali tramite il ridimensionamento a set di dati di grandi dimensioni.

Esplorare in Tableau Cloud con Azure Databricks

Quando si usa Azure Databricks come origine dati con Tableau Cloud, è possibile creare origini dati Tableau da tabelle o schemi direttamente dall'interfaccia utente di Databricks.

Requisiti

  • I dati devono trovarsi nel catalogo Unity e il calcolo (cluster) deve essere abilitato per il catalogo Unity. Metastore Hive non è attualmente supportato.

Esplorare le tabelle di Azure Databricks in Tableau Cloud

  1. Accedere all'area di lavoro di Databricks e fare clic sull'icona Dati.Catalogo nella barra laterale per aprire Esplora cataloghi.
  2. Selezionare una risorsa di calcolo nel pannello del catalogo in alto a sinistra.
  3. Aprire un catalogo e selezionare lo schema o la tabella da esplorare. Non selezionare da un metastore Hive o dal catalogo dei campioni.
  4. In alto a destra fare clic su Usa con gli strumenti di business intelligence per uno schema o Apri in un dashboard per una tabella.
  5. Selezionare Esplora in Tableau Cloud dal menu a discesa.
  6. Verificare che il calcolo e lo schema o la tabella selezionati siano corretti e quindi fare clic su Esplora in Tableau Cloud.
  7. Verrà aperta una nuova scheda e verrà richiesto di accedere all'account Tableau Cloud.
  8. Dopo aver eseguito l'accesso a Tableau, verrà richiesto di accedere di nuovo ad Azure Databricks.
  9. Dopo aver eseguito l'accesso ad Azure Databricks, è possibile iniziare a creare una dashboard Tableau nell'editor della cartella di lavoro.

Funzionalità e note

  • È possibile esplorare una tabella o uno schema. Quando si esplora uno schema, è necessario selezionare una tabella nel pannello Origine dati Tableau prima di iniziare a creare un dashboard.
  • Databricks applica OAuth come modalità di autenticazione durante la pubblicazione in Tableau Cloud.
  • L'origine dati pubblicata è in modalità bozza e non viene salvata da nessuna parte. È necessario salvarlo all'interno di Tableau Cloud per renderlo accessibile ad altri utenti.

Requisiti generali per connettere Tableau e Azure Databricks

Connettere Azure Databricks a Tableau Desktop usando Partner Connect

È possibile usare Partner Connect per connettere una risorsa di calcolo o sql warehouse con Tableau Desktop in pochi clic.

  1. Assicurarsi che l'account, l'area di lavoro di Azure Databricks e l'utente connesso soddisfino tutti i requisiti per Partner Connect.
  2. Nella barra laterale fare clic sull'icona marketplace.
  3. In Integrazioni di Partner Connect fare clic su Visualizza tutto.
  4. Fare clic sul riquadro Tableau .
  5. Nella finestra di dialogo Connetti al partner, scegliere il nome della risorsa di calcolo di Azure Databricks a cui si desidera connettersi.
  6. Scegliere Scarica file di connessione.
  7. Aprire il file di connessione scaricato, che avvia Tableau Desktop.
  8. In Tableau Desktop selezionare il metodo di autenticazione e immettere le informazioni richieste (se presenti).

Connettere Tableau Desktop ad Azure Databricks

Seguire queste istruzioni per connettersi da Tableau Desktop a una risorsa di calcolo o a sql warehouse.

Nota

Per connettersi più velocemente con Tableau Desktop, usare Partner Connect.

  1. Avvia Tableau Desktop.
  2. Fare clic su File > Nuovo.
  3. Nella scheda Dati fare clic su Connetti ai dati.
  4. Nell'elenco dei connettori fare clic su Databricks.
  5. Immettere il nome host del server e il percorso HTTP.
  6. Selezionare il metodo di autenticazione e immettere le informazioni richieste (se presenti).

Se il Catalogo Unity è abilitato per l'area di lavoro, impostare anche il catalogo predefinito. Nella scheda Avanzate , per Proprietà connessione, aggiungere Catalog=<catalog-name>. Per modificare il catalogo predefinito, nella scheda SQL iniziale immettere USE CATALOG <catalog-name>.

Connettere Tableau Cloud ad Azure Databricks

Seguire queste istruzioni per connettersi a una risorsa di calcolo o a un'istanza di SQL Warehouse da Tableau Cloud.

  1. Avviare una nuova cartella di lavoro
  2. Sulla barra dei menu fare clic suData New Data Source (Nuova> origine dati).
  3. Nella pagina Connetti ai dati fare clic su Connettori>Databricks.
  4. Nella pagina Azure Databricks, immettere i valori di Server Hostname e HTTP Path .
  5. Selezionare il metodo di autenticazione e immettere le informazioni richieste (se presenti).
  6. Fare clic su Accedi.

Tableau Server in Linux

Modificare /etc/odbcinst.ini per includere quanto segue:

[Simba Spark ODBC Driver 64-bit]
Description=Simba Spark ODBC Driver (64-bit)
Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so

Nota

Tableau Server in Linux consiglia l'architettura di elaborazione a 64 bit.

Pubblicare e aggiornare una cartella di lavoro in Tableau Cloud da Tableau Desktop

Questo articolo illustra come pubblicare una cartella di lavoro da Tableau Desktop in Tableau Cloud e mantenerla aggiornata quando l'origine dati cambia. È necessaria una cartella di lavoro in Tableau Desktop e un account Tableau Cloud .

  1. Estrarre i dati della cartella di lavoro in Tableau Desktop: aprire la cartella di lavoro che si desidera pubblicare in Tableau Desktop, quindi fare clic su Data ><data-source-name>> Estrai dati.
  2. Nella finestra di dialogo Estrai dati fare clic su Estrai.
  3. Passare a un percorso nel computer locale in cui si desidera salvare i dati estratti e quindi fare clic su Salva.
  4. Pubblicare l'origine dati della cartella di lavoro in Tableau Cloud: in Tableau Desktop fare clic su Server > Pubblicare Origine Dati ><data-source-name>.
  5. Se viene visualizzata la finestra di dialogo Di accesso a Tableau Server , fare clic sul collegamento Tableau Cloud e seguire le istruzioni visualizzate per accedere a Tableau Cloud.
  6. Nella finestra di dialogo Pubblica origine dati in Tableau Cloud , accanto a Aggiorna non abilitato, fare clic sul collegamento Modifica .
  7. Nella casella a comparsa visualizzata, per Autenticazione, modificare Aggiorna non abilitata in Consenti l'accesso all'aggiornamento.
  8. Fare clic in un punto qualsiasi all'esterno della finestra a scomparsa per nasconderla.
  9. Selezionare Aggiorna cartella di lavoro per usare l'origine dati pubblicata.
  10. Fare clic su Pubblica. L'origine dati viene visualizzata in Tableau Cloud.
  11. In Tableau Cloud, nella finestra di dialogo Completamento pubblicazione fare clic su Pianifica e seguire le istruzioni visualizzate.
  12. Pubblicare la cartella di lavoro in Tableau Cloud: in Tableau Desktop, con la cartella di lavoro da pubblicare visualizzata, fare clic su Server Publish Workbook (Pubblica > cartella di lavoro).
  13. Nella finestra di dialogo Pubblica cartella di lavoro in Tableau Cloud fare clic su Pubblica. La cartella di lavoro viene visualizzata in Tableau Cloud.

Tableau Cloud verifica la presenza di modifiche all'origine dati in base alla pianificazione impostata e aggiorna la cartella di lavoro pubblicata se vengono rilevate modifiche.

Per ulteriori informazioni, consultare le seguenti risorse sul sito Web di Tableau:

Procedure consigliate e risoluzione dei problemi

Le due azioni fondamentali per ottimizzare le query di Tableau sono:

  • Ridurre il numero di record sottoposti a query e visualizzati in un singolo grafico o dashboard.
  • Ridurre il numero di query inviate da Tableau in un singolo grafico o dashboard.

Decidere cosa provare per primo dipende dal tuo dashboard. Se si dispone di diversi grafici per singoli utenti nello stesso dashboard, è probabile che Tableau invii troppe query ad Azure Databricks. Se sono presenti solo un paio di grafici, ma il caricamento richiede molto tempo, è probabile che vengano restituiti troppi record da Azure Databricks per caricarli in modo efficace.

La registrazione delle prestazioni di Tableau, disponibile sia in Tableau Desktop che in Tableau Server, consente di identificare i colli di bottiglia delle prestazioni identificando i processi che causano latenza quando si esegue un determinato flusso di lavoro o dashboard.

Abilitare la registrazione delle prestazioni per eseguire il debug di qualsiasi problema di Tableau

Ad esempio, se l'esecuzione di query è il problema, si sa che ha a che fare con il processo del motore dati o con l'origine dei dati che si sta interrogando. Se il layout visivo viene eseguito lentamente, si sa che si tratta di VizQL.

Se la registrazione delle prestazioni indica che la latenza si verifica nella query in esecuzione, è probabile che Azure Databricks impieghi troppo tempo per restituire i risultati oppure che l'ODBC/Connector impieghi troppo tempo per elaborare i dati in SQL per VizQL. In questo caso, è necessario analizzare ciò che si sta restituendo e tentare di modificare il modello analitico in modo da avere un dashboard per gruppo, segmento o articolo, invece di provare a mettere tutto in un unico dashboard e basarsi su filtri rapidi.

Se le prestazioni scarse sono causate dall'ordinamento o dal layout visivo, il problema potrebbe essere il numero di contrassegni che il dashboard sta tentando di restituire. Azure Databricks può restituire rapidamente un milione di record, ma Tableau potrebbe non essere in grado di calcolare il layout e ordinare i risultati. Se si tratta di un problema, aggrega la query e analizza i livelli inferiori. È anche possibile provare un computer più grande perché Tableau è vincolato solo da risorse fisiche nel computer in cui è in esecuzione.

Per un'esercitazione approfondita sul registratore delle prestazioni, vedere Creare una registrazione delle prestazioni.

Prestazioni in Tableau Server e Tableau Desktop

In generale, un flusso di lavoro eseguito su Tableau Desktop non è più veloce in Tableau Server. Un dashboard che non viene eseguito in Tableau Desktop non verrà eseguito in Tableau Server.

L'uso di Desktop è una tecnica di risoluzione dei problemi molto migliore perché Tableau Server include più processi da considerare quando si esegue la risoluzione dei problemi. Se le operazioni funzionano in Tableau Desktop ma non in Tableau Server, è possibile limitare in modo sicuro il problema ai processi in Tableau Server che non si trovano in Tableau Desktop.

Impostazione

Per impostazione predefinita, i parametri dell'URL di connessione sostituiscono quelli nel DSN ODBC Simba. Esistono due modi per personalizzare le configurazioni ODBC da Tableau:

  • .tds file per una singola origine dati:

    1. Seguire le istruzioni in Salvare origini dati per esportare il .tds file per l'origine dati.
    2. Trovare la riga di proprietà odbc-connect-string-extras='' nel file .tds e impostare i parametri. Ad esempio, per abilitare AutoReconnect e UseNativeQuery, è possibile modificare la riga in odbc-connect-string-extras='AutoReconnect=1,UseNativeQuery=1'.
    3. Ricaricare il .tds file riconnettendo la connessione.

    La risorsa di calcolo è ottimizzata per usare meno memoria heap per la raccolta di risultati di grandi dimensioni, in modo da poter gestire più righe per blocco di recupero rispetto all'impostazione predefinita di Simba ODBC. Accodare RowsFetchedPerBlock=100000' al valore della odbc-connect-string-extras proprietà .

  • .tdc file per tutte le origini dati:

    1. Se non è mai stato creato un .tdc file, è possibile aggiungere TableauTdcExample.tdc alla cartella Document/My Tableau Repository/Datasources.
    2. Aggiungere il file alle installazioni di Tableau Desktop di tutti gli sviluppatori, in modo che funzioni quando i dashboard vengono condivisi.

Ottimizzare i grafici (fogli di lavoro)

Esistono diverse ottimizzazioni del grafico tattico che consentono di migliorare le prestazioni dei fogli di lavoro di Tableau.

Per i filtri che non cambiano spesso e non sono destinati a interagire con, usare i filtri di contesto, che accelerano il tempo di esecuzione. Un'altra buona regola generale consiste nell'usare le istruzioni if/else anziché le istruzioni case/when nelle query.

Tableau può inviare i filtri nelle origini dati, migliorando la velocità delle query. Per altre informazioni sui filtri push down dell'origine dati, vedere Applicazione di filtri tra più origini dati usando un parametro e filtrare i dati tra più origini dati.

Provare a evitare calcoli di tabella durante l'analisi del set di dati completo. Per altre informazioni sui calcoli delle tabelle, vedere Trasformare i valori con calcoli di tabella.

Ottimizzare i cruscotti

Di seguito sono riportati alcuni suggerimenti ed esercizi di risoluzione dei problemi che è possibile applicare per migliorare le prestazioni del dashboard di Tableau.

Con i dashboard di Tableau connessi ad Azure Databricks, i filtri rapidi sui singoli dashboard che servono diversi utenti, funzioni o segmenti possono essere una fonte comune di problemi. È possibile associare filtri rapidi a tutti i grafici nel dashboard. Un filtro rapido in un dashboard con cinque grafici causa l'invio di almeno 10 query ad Azure Databricks. Questo può aumentare fino a un numero maggiore quando vengono aggiunti più filtri e può causare problemi di prestazioni perché Spark non è progettato per gestire molte query simultanee a partire dallo stesso momento esatto. Ciò diventa più problematico quando il cluster Azure Databricks o SQL Warehouse in uso non è sufficientemente grande da gestire il volume elevato di query.

Come primo passaggio, è consigliabile usare la registrazione delle prestazioni di Tableau per risolvere il problema.

Se le prestazioni scarse sono causate dall'ordinamento o dal layout visivo, il problema potrebbe essere il numero di contrassegni che il dashboard sta tentando di restituire. Azure Databricks può restituire rapidamente un milione di record, ma Tableau potrebbe non essere in grado di calcolare il layout e ordinare i risultati. Se si tratta di un problema, aggrega la query e analizza i livelli inferiori. È anche possibile provare un computer più grande, perché Tableau è vincolato solo dalle risorse fisiche nel computer in cui è in esecuzione.

Per informazioni sul dettaglio dei dati in Tableau, vedere Esplora i dettagli.

Se vengono visualizzati molti contrassegni granulari, questo è spesso un modello analitico scadente perché non fornisce informazioni dettagliate. Approfondire a partire da livelli più alti di aggregazione è più sensato e riduce il numero di record che devono essere elaborati e visualizzati.

Usare le azioni per ottimizzare i dashboard

Usare Tableau _actions per fare clic su un segno (ad esempio, uno stato su una mappa) e inviarlo a un altro dashboard che filtra in base allo stato selezionato. L'uso di _actions riduce la necessità di più filtri in un dashboard e il numero di record che devono essere generati. Stai impostando un'azione per non generare record fino a quando non viene fornito un predicato per filtrare.

Per altre informazioni, vedere Azioni e 6 suggerimenti per rendere i dashboard più efficienti.

Memorizzazione nella cache

La memorizzazione nella cache dei dati è un buon modo per migliorare le prestazioni dei fogli di lavoro o dei dashboard.

Memorizzazione nella cache in Tableau

Tableau ha quattro livelli di memorizzazione nella cache prima di tornare ai dati, indipendentemente dal fatto che i dati si tratti di una connessione dinamica o di un'estrazione:

  • Riquadri: se un utente carica lo stesso dashboard e non cambia nulla, Tableau tenta di riutilizzare gli stessi riquadri per i grafici. Questo è simile ai riquadri di Google Maps.
  • Modello: se la cache dei riquadri non può essere usata, la cache dei modelli di calcoli matematici viene usata per generare visualizzazioni. Tableau Server tenta di usare gli stessi modelli.
  • Abstract: vengono archiviati anche i risultati aggregati delle query. Questo è il terzo livello di "difesa". Se una query restituisce Sum(Sales), Count(orders), Sum(Cost), in una query precedente e una query futura vuole solo Sum(Sales), Tableau afferra il risultato e lo usa.
  • Cache nativa: se la query è uguale a un'altra, Tableau usa gli stessi risultati. Questo è l'ultimo livello di memorizzazione nella cache. Se questo fallisce, Tableau passa ai dati.

Frequenza di memorizzazione nella cache in Tableau

Tableau include impostazioni amministrative per la memorizzazione nella cache con maggiore o minore frequenza. Se il server è impostato su Aggiorna meno spesso, Tableau mantiene i dati nella cache per un massimo di 12 ore. Se il server è impostato su Aggiorna più spesso, Tableau torna ai dati in ogni aggiornamento della pagina.

I clienti che usano ripetutamente lo stesso dashboard, ad esempio "Report della pipeline di lunedì mattina", devono trovarsi in un server impostato su Aggiorna meno spesso in modo che i dashboard usino tutte la stessa cache.

Riscaldamento della cache in Tableau

In Tableau è possibile aggiornare la cache configurando un abbonamento per inviare il dashboard prima di visualizzarlo. Per generare l'immagine di posta elettronica della sottoscrizione, è necessario eseguire il rendering del dashboard. Vedere Riscaldamento della cache di Tableau Server con sottoscrizioni.

Tableau Desktop: errore The drivers... are not properly installed

Problema: quando si tenta di connettere Tableau Desktop a Databricks, Tableau visualizza un messaggio di errore nella finestra di dialogo di connessione con un collegamento alla pagina di download del driver, in cui è possibile trovare i collegamenti driver e le istruzioni di installazione.

Causa: l'installazione di Tableau Desktop non esegue un driver supportato.

Soluzione: scaricare il driver ODBC di Databricks versione 2.6.15 o successiva.

Vedere anche: Errore "I driver... non sono installati correttamente" sul sito web Tableau.

I vincoli di chiave primaria e chiave esterna

Per propagare vincoli di chiave primaria (PK) e chiave esterna (FK) da Azure Databricks a Tableau, è necessario comprendere le funzionalità e le limitazioni di entrambe le piattaforme relative ai vincoli.

Informazioni sui vincoli di Azure Databricks

Azure Databricks supporta vincoli di chiave primaria ed esterna a partire da Databricks Runtime 15.2. Questi vincoli sono informativi e non applicati per impostazione predefinita, ovvero non impediscono violazioni dell'integrità dei dati, ma possono essere usate per ottimizzare le query e fornire metadati sulle relazioni di dati. Vedere Dichiarare le relazioni tra chiave primaria e chiave esterna.

Comprendere come Tableau utilizza i vincoli per creare relazioni tra tabelle

Tableau non applica direttamente vincoli di chiave primaria e di chiave esterna. Tableau usa invece le relazioni per modellare le connessioni dati. Per usare i vincoli in Tableau, è necessario comprendere che il modello di dati di Tableau offre due livelli di modellazione: un livello logico e un livello fisico. Vedi Tableau Data Model. Le implicazioni di questo modello di dati a due livelli sui vincoli di Azure Databricks riconosciuti come relazioni in Tableau sono illustrate di seguito.

Collegamento di Azure Databricks a Tableau

Quando si connette Azure Databricks a Tableau, Tableau tenta di creare relazioni a livello fisico tra tabelle in base ai vincoli di chiave esistenti e ai campi corrispondenti. Tableau tenta automaticamente di rilevare e creare relazioni a livello fisico in base ai vincoli di chiave primaria ed esterna definiti in Azure Databricks. Se non vengono definiti vincoli di chiave, Tableau usa i nomi di colonna corrispondenti per generare automaticamente i join. A livello logico, vengono usate solo corrispondenze con nome a colonna singola per determinare una relazione. A livello fisico, la corrispondenza dei nomi di colonna rileva le relazioni tra chiavi semplici (a colonna singola) e chiavi composite (a più colonne).

Se Tableau non riesce a determinare i campi corrispondenti, è necessario specificare manualmente la relazione di join tra le due tabelle a livello fisico specificando le colonne, la condizione e il tipo di vincolo. Per passare dal livello logico nell'interfaccia utente al livello fisico, fare doppio clic sulla tabella a livello logico.

Risorse aggiuntive