Connettere Tableau e Azure Databricks
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.
Requisiti per connettere Tableau e Azure Databricks
I dettagli di connessione per una risorsa di calcolo o sql warehouse, in particolare i valori Nome host server e Percorso HTTP.
Tableau Desktop 2019.3 o versione successiva.
Driver ODBC di Databricks 2.6.15 o versione successiva.
Un token microsoft Entra ID (in precedenza Azure Active Directory) (scelta consigliata), un token di accesso personale di Azure Databricks o le credenziali dell'account Microsoft Entra ID.
Nota
Come procedura consigliata per la sicurezza, quando si esegue l'autenticazione con strumenti automatizzati, sistemi, script e app, Databricks consiglia di usare token di accesso personali appartenenti alle entità servizio, anziché agli utenti dell'area di lavoro. Per creare token per le entità servizio, consultare Gestire i token per un'entità servizio.
È necessario assegnare uno dei seguenti ruoli MICROSOFT Entra ID:
Se il flusso di lavoro di consenso amministratore è configurato, gli utenti non amministratori possono richiedere l'accesso a Tableau all'accesso.
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.
- Assicurarsi che l'account, l'area di lavoro di Azure Databricks e l'utente connesso soddisfino tutti i requisiti di Partner Connect.
- Nella barra laterale fare clic su Partner Connect.
- Fare clic sul riquadro Tableau .
- Nella finestra di dialogo Connetti al partner scegliere il nome dell’ambiente di calcolo di Azure Databricks da connettere.
- Scegliere Scarica file di connessione.
- Aprire il file di connessione scaricato, che avvia Tableau Desktop.
- In Tableau Desktop immettere le credenziali di autenticazione e quindi fare clic su Accedi:
- Per usare un token MICROSOFT Entra ID, immettere il token per Username (Nome utente ) e il token Microsoft Entra ID (TOKEN) per Password.
- Per usare un token di accesso personale di Azure Databricks, immettere token per Nome utente e token di accesso personale per Password.
- Per usare le credenziali di Microsoft Entra ID, fare clic su Modifica connessione, fare doppio clic sul database nella scheda Dati e quindi selezionare Microsoft Entra ID nell'elenco Autenticazione .
Per Tableau Desktop 2021.1 e versioni successive:
- Se non si usa un account guest B2B di Microsoft Entra (in precedenza Azure Active Directory) o Azure Databricks in Azure per enti pubblici, è sufficiente immettere
https://login.microsoftonline.com/common
come endpoint OAuth.
- Se si usa un account guest B2B di Microsoft Entra ID o Azure Databricks in Azure per enti pubblici, contattare l'amministratore per ottenere un warehouse microsoft Entra ID dedicato.
Nota
Se non si è un amministratore, viene visualizzato un errore Di approvazione dell'amministratore . Chiedere a un amministratore di applicazioni cloud o all'amministratore dell'applicazione di concedere le autorizzazioni per connettersi a Tableau, quindi provare di nuovo ad accedere.
Se l'account Microsoft Entra ID ha abilitato il flusso di lavoro di consenso amministratore, Tableau Desktop chiede di richiedere l'accesso a Tableau. Dopo che un amministratore di applicazioni cloud o un amministratore dell'applicazione approva la richiesta, provare a eseguire di nuovo l'accesso.
- Se non si usa un account guest B2B di Microsoft Entra (in precedenza Azure Active Directory) o Azure Databricks in Azure per enti pubblici, è sufficiente immettere
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.
Avviare Tableau Desktop.
Fare clic su File > Nuovo.
Nella scheda Dati fare clic su Connetti ai dati.
Nell'elenco dei connettori fare clic su Databricks.
Inserire il nome host del server e il percorso HTTP.
In Autenticazione scegliere il metodo di autenticazione, immettere le credenziali di autenticazione e quindi fare clic su Accedi.
Per usare un token ID Microsoft Entra, selezionare Personal Access Token (Token di accesso personale) e immettere il token MICROSOFT Entra ID per Password.
Per usare un token di accesso personale di Azure Databricks, selezionare Token di accesso personale e immettere il token di accesso personale per Password.
Per usare le credenziali dell'ID Microsoft Entra, selezionare Microsoft Entra ID.
Per Tableau Desktop 2021.1 e versioni successive:
Se non si usa un account guest B2B di Microsoft Entra (in precedenza Azure Active Directory) o Azure Databricks in Azure per enti pubblici, è sufficiente immettere
https://login.microsoftonline.com/common
come endpoint OAuth.- Se si usa un account guest B2B di Microsoft Entra ID o Azure Databricks in Azure per enti pubblici, contattare l'amministratore per ottenere un warehouse microsoft Entra ID dedicato.
Nota
Se non si è un amministratore, viene visualizzato un errore Di approvazione dell'amministratore . Chiedere a un amministratore di applicazioni cloud o all'amministratore dell'applicazione di concedere le autorizzazioni per connettersi a Tableau, quindi provare di nuovo ad accedere.
Se l'account Microsoft Entra ID ha abilitato il flusso di lavoro di consenso amministratore, Tableau Desktop chiede di richiedere l'accesso a Tableau. Dopo che un amministratore di applicazioni cloud o un amministratore dell'applicazione approva la richiesta, provare a eseguire di nuovo l'accesso.
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 immettereUSE 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.
- Avviare una nuova cartella di lavoro
- Sulla barra dei menu fare clic su Data New Data Source (Nuova>origine dati).
- Nella pagina Connetti ai dati fare clic su Connettori>Databricks.
- Nella pagina Azure Databricks immettere i valori Nome host server e Percorso HTTP.
- Selezionare il metodo di autenticazione e immettere le informazioni richieste (se presenti).
- Fare clic su Sign In.
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 .
- Estrarre i dati della cartella di lavoro da Tableau Desktop: in Tableau Desktop, con la cartella di lavoro che si vuole pubblicare, fare clic su Estrai dati >
<data-source-name>
>. - Nella finestra di dialogo Estrai dati fare clic su Estrai.
- Passare a un percorso nel computer locale in cui si desidera salvare i dati estratti e quindi fare clic su Salva.
- Pubblicare l'origine dati della cartella di lavoro in Tableau Cloud: in Tableau Desktop fare clic su Server Publish Data Source (Pubblica > origine >
<data-source-name>
dati server). - 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.
- Nella finestra di dialogo Pubblica origine dati in Tableau Cloud, accanto a Aggiorna non abilitato, fare clic sul collegamento Modifica.
- Nella casella a comparsa visualizzata, per Autenticazione, modificare Aggiorna non abilitata in Consenti l'accesso all'aggiornamento.
- Fare clic in un punto qualsiasi all'esterno del riquadro a comparsa per nasconderlo.
- Selezionare Aggiorna cartella di lavoro per usare l'origine dati pubblicata.
- Fare clic su Pubblica. L'origine dati viene visualizzata in Tableau Cloud.
- In Tableau Cloud, nella finestra di dialogo Completamento pubblicazione fare clic su Pianifica e seguire le istruzioni visualizzate.
- 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).
- 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 altre informazioni, vedere quanto segue nel sito Web tableau:
- Pubblicare un'origine dati
- Passaggi completi per la pubblicazione di una cartella di lavoro
- Pianificare gli aggiornamenti di estrazione durante la pubblicazione di una cartella di lavoro
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.
La scelta del primo tentativo dipende dal 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 comprendere dove sono presenti 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 dati su cui si sta eseguendo una query. Se il layout visivo viene eseguito lentamente, si sa che si tratta di VizQL.
Se la registrazione delle prestazioni indica che la latenza è in esecuzione, è probabile che venga impiegato troppo tempo da Azure Databricks che restituisce i risultati o dalla sovrimpressione ODBC/Connector che elabora 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 creare il cram di tutto in un 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, aggregare la query ed esaminare i livelli inferiori. È anche possibile provare un computer più grande, poiché Tableau è vincolato solo dalle 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:- Seguire le istruzioni in Salvare origini dati per esportare il
.tds
file per l'origine dati. - Trovare la riga
odbc-connect-string-extras=''
della proprietà nel.tds
file e impostare i parametri. Ad esempio, per abilitareAutoReconnect
eUseNativeQuery
, è possibile modificare la riga inodbc-connect-string-extras='AutoReconnect=1,UseNativeQuery=1'
. - 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 dellaodbc-connect-string-extras
proprietà .- Seguire le istruzioni in Salvare origini dati per esportare il
.tdc
file per tutte le origini dati:- Se non è mai stato creato un
.tdc
file, è possibile aggiungere TableauTdcExample.tdc alla cartellaDocument/My Tableau Repository/Datasources
. - Aggiungere il file alle installazioni di Tableau Desktop di tutti gli sviluppatori, in modo che funzioni quando i dashboard vengono condivisi.
- Se non è mai stato creato un
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 if/else
istruzioni anziché case/when
istruzioni nelle query.
Tableau può eseguire il push dei filtri nelle origini dati, migliorando così la velocità delle query. Per altre informazioni sui filtri di push dell'origine dati, vedere Applicazione di filtri tra più origini dati tramite un parametro e un filtro 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 dashboard
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, aggregare la query ed esaminare i livelli inferiori. È anche possibile provare un computer più grande, poiché Tableau è vincolato solo dalle risorse fisiche nel computer in cui è in esecuzione.
Per informazioni sul drill-down in Tableau, vedere Drill-down nei dettagli.
In generale, la visualizzazione di molti contrassegni granulari è spesso un modello analitico scadente, perché non fornisce informazioni dettagliate. Il drill-down da livelli più elevati di aggregazione ha più senso 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. Ciò riduce la necessità di avere più filtri in un dashboard e riduce il numero di record che devono essere generati. Si imposta un'azione per non generare record fino a quando non ottiene 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 qualcuno carica esattamente 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: sono disponibili calcoli matematici usati per generare visualizzazioni nell'evento che non è possibile usare i riquadri. 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 è identica a quella di un'altra, Tableau usa gli stessi risultati. Questo è l'ultimo livello di memorizzazione nella cache. In caso di errore, Tableau passa ai dati.
Frequenza di memorizzazione nella cache in Tableau
Tableau include impostazioni amministrative per la memorizzazione nella cache più o meno frequentemente. Se il server è impostato su Aggiorna meno spesso, Tableau mantiene i dati nella cache per un massimo di 12 ore. Se è impostata su Aggiorna più spesso, Tableau torna ai dati in ogni aggiornamento della pagina.
I clienti che hanno lo stesso dashboard usato di nuovo, 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 impostando una sottoscrizione per l'invio del dashboard prima di visualizzare il dashboard. Ciò è dovuto al fatto che è necessario eseguire il rendering del dashboard per generare l'immagine per il messaggio di posta elettronica della sottoscrizione. Vedere Riscaldamento della cache di Tableau Server con sottoscrizioni.
Tableau Desktop: viene visualizzato l'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" nel sito Web tableau.
Vincoli di chiave primaria/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.
Informazioni su Tableau usa i vincoli per creare relazioni tra tabelle
Tableau non applica direttamente vincoli di chiave primaria ed esterna, ma usa le relazioni con le connessioni dati del modello. Per usare i vincoli in Tableau, è necessario comprendere che il modello di dati di Tableau offre 2 livelli di modellazione: un livello logico e un livello fisico. Vedere Tableau Data Model.See 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.
Connessione 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 nomi di colonna corrispondenti per generare automaticamente join. A livello logico, vengono usate solo corrispondenze con nome a colonna singola per determinare una relazione. A livello fisico, questo nome di colonna corrispondente rileva le relazioni tra chiavi semplici (a colonna singola) e composita (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.