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 il nome host del server e percorso HTTPvalues.
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 l'account Microsoft Entra ID credentials.
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 l'autenticazione credentialse 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 l'ID
Microsoft Entra, fare clic su Modifica connessione , fare doppio clic sul database nella scheda dati die quindi Microsoft Entra ID nellaAutenticazione . 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 come
https://login.microsoftonline.com/common
OAuth.
- Se si utilizza un account guest B2B Microsoft Entra ID o Azure Databricks su Azure Government, contattare l'amministratore per ottenere un principale del servizio 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 grant l'autorizzazione per connettersi a Tableau, quindi provare di nuovo ad accedere.
Se l'account Microsoft Entra ID ha abilitato il flusso di lavoro di consenso dell'amministratore, Tableau Desktop richiede di ottenere l'accesso a Tableau. Dopo che un amministratore di applicazioni cloud o un amministratore di applicazioni approva la richiesta, provare a eseguire nuovamente 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 come
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.
Clicca su Databricksnella list dei connettori.
Inserire il nome host del server e il percorso HTTP.
Per Authentication, scegliere il metodo di autenticazione, immettere il credentialsdi autenticazione e quindi fare clic su Accedi.
Per usare un token Microsoft Entra ID, selectToken di Accesso Personale e inserire il token Microsoft Entra ID per Password.
Per utilizzare un token di accesso personale di Azure Databricks, selecttoken di accesso personale e inserisci il tuo token di accesso personale per Password.
Per utilizzare il tuo Microsoft Entra ID credentials, selectMicrosoft 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 come
https://login.microsoftonline.com/common
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 dell'applicazione cloud o all'amministratore dell'applicazione di grant le autorizzazioni per collegarsi a Tableau, quindi provare a effettuare nuovamente l'accesso.
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 Unity Catalog è abilitato per l'area di lavoro, set anche il catalogpredefinito . Nella scheda Avanzate, per Proprietà connessione, aggiungere
Catalog=<catalog-name>
. Per modificare ilpredefinito, immettere nella scheda SQL iniziale di .
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 di Azure Databricks, immettere il nome host del server e il percorso HTTP values.
- Select il tuo metodo di autenticazione e inserisci 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.
Pubblica e refresh una cartella di lavoro su 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 >
<data-source-name>
. - Nella finestra di dialogo Estrai dati fare clic su Estrai.
- Scegliere un percorso nel computer locale where dove 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 Refresh Non abilitato, fare clic sul collegamento Modifica.
- Nella casella a comparsa visualizzata, per Authentication, modificare Refresh non abilitato in Consenti l'accesso refresh.
- Fare clic in un punto qualsiasi all'esterno del riquadro a comparsa per nasconderlo.
- Select Update 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 secondo la pianificazione sete 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 le interrogazioni di Tableau optimize 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 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 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 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 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 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, il parameters dalla connessione URL sostituisce 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. - Trova la riga di proprietà
odbc-connect-string-extras=''
nel file.tds
e set il parameters. 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
grafici Optimize (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 ulteriori informazioni sui filtri di push-down sulle origini dati, vedere Filtraggio tra più origini dati usando un parametro e Filtrare i dati tra più origini dati.
Cerca di evitare i calcoli table, poiché eseguono la scansione dell'intero set di dati. Per altre informazioni sui calcoli di table, vedere Transform Values with Table Calculations.
Optimize 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 da ordinamento o layout visivo, il problema potrebbe essere il numero di elementi 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, perché Tableau è vincolato solo dalle risorse fisiche nel computer in cui è in esecuzione.
Per informazioni sul drill-down in Tableau, vedere Drill-down nei 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 i dashboard optimize
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. Si imposta un'azione solo sui record e non suogenerate fino a quando non si dispone di 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:
- piastrelle: Se un utente carica lo stesso dashboard e nulla cambia, Tableau cerca di riutilizzare le stesse piastrelle per i grafici. Questo è simile ai riquadri di Google Maps.
- modello: se non è possibile utilizzare la cache delle tessere, viene utilizzata la cache dei modelli di calcoli matematici per le generate 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 più o meno frequentemente. Se il server è set a meno spessoRefresh, Tableau mantiene i dati nella cache per un massimo di 12 ore. Se il server passa da set a Refresh più frequentemente, Tableau ripristina i dati su ogni pagina refresh.
I clienti che usano ripetutamente lo stesso dashboard, ad esempio "Report della pipeline di lunedì mattina", devono trovarsi in un server set per Refresh meno spesso in modo che tutti i dashboard usino la stessa cache.
Riscaldamento della cache in Tableau
In Tableau è possibile aggiornare la cache configurando una sottoscrizione per l'invio del dashboard prima di visualizzare il dashboard. È necessario effettuare il rendering del dashboard sull'immagine dell'email di sottoscrizione generate. Consultare Riscaldare la cache di Tableau Server tramite 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, where è 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 optimize query e fornire metadati sulle relazioni di dati. Vedere Dichiarare le relazioni tra chiave primaria e chiave esterna.
Comprendere come Tableau usa i vincoli per creare relazioni table
Tableau non applica direttamente vincoli di chiave primaria e di chiave esterna. Tableau usa invece relazioni per modellare i dati connections. 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. 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 tables 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 utilizza i nomi di column corrispondenti per i join automaticigenerate. A livello logico, vengono usate solo corrispondenze di nome singolocolumn per determinare una relazione. A livello fisico, questa column corrispondenza dei nomi rileva le relazioni chiave semplici (single-column) e composite (multi-column).
Se Tableau non può determinare i campi corrispondenti, è necessario specificare manualmente la relazione di join tra i due tables a livello fisico fornendo il columns, la condizione e il tipo di constraint. Per passare dal livello logico nell'interfaccia utente al livello fisico, fare doppio clic sul table a livello logico.