Conectar o Tableau e o Azure Databricks
Este artigo mostra como usar o Partner Connect para se conectar do Azure Databricks ao Tableau Desktop e do Tableau Desktop ou do Tableau Cloud ao Azure Databricks. Este artigo também inclui informações sobre o Tableau Server no Linux.
Nota
Para configurar o logon do Azure Databricks a partir do Tableau Server, consulte Configurar o logon do Azure Databricks a partir do Tableau Server.
Ao usar o Azure Databricks como uma fonte de dados com o Tableau, você pode fornecer análises interativas poderosas, trazendo as contribuições de seus cientistas de dados e engenheiros de dados para seus analistas de negócios dimensionando para conjuntos de dados massivos.
Requisitos para conectar o Tableau e o Azure Databricks
Os detalhes de conexão para um recurso de computação ou SQL warehouse, especificamente os valores Nome do host do servidor e Caminho HTTP.
- Obtenha detalhes de conexão para um recurso de computação do Azure Databricks.
Tableau Desktop 2019.3 ou superior.
Databricks ODBC Driver 2.6.15 ou superior.
Um token Microsoft Entra ID (anteriormente Azure Ative Directory) (recomendado), um token de acesso pessoal do Azure Databricks ou suas credenciais de conta do Microsoft Entra ID.
Nota
Como prática recomendada de segurança, quando você se autentica com ferramentas, sistemas, scripts e aplicativos automatizados, o Databricks recomenda que você use tokens de acesso pessoal pertencentes a entidades de serviço em vez de usuários do espaço de trabalho. Para criar tokens para entidades de serviço, consulte Gerenciar tokens para uma entidade de serviço.
Você deve receber uma das seguintes funções de ID do Microsoft Entra:
Se o fluxo de trabalho de consentimento do administrador estiver configurado, os não-administradores poderão solicitar acesso ao Tableau ao entrar.
Conectar o Azure Databricks ao Tableau Desktop usando o Partner Connect
Você pode usar o Partner Connect para conectar um recurso de computação ou um SQL warehouse ao Tableau Desktop com apenas alguns cliques.
- Verifique se sua conta do Azure Databricks, o espaço de trabalho e o usuário conectado atendem aos requisitos do Partner Connect.
- Na barra lateral, clique em Partner Connect.
- Clique no bloco Tableau .
- Na caixa de diálogo Conectar ao parceiro, para Computação, escolha o nome do recurso de computação do Azure Databricks que você deseja conectar.
- Escolha Baixar arquivo de conexão.
- Abra o arquivo de conexão baixado, que inicia o Tableau Desktop.
- No Tableau Desktop, insira suas credenciais de autenticação e clique em Entrar:
- Para usar um token de ID do Microsoft Entra, insira o token para Nome de usuário e seu token de ID do Microsoft Entra para Senha.
- Para usar um token de acesso pessoal do Azure Databricks, insira o token para Nome de usuário e seu token de acesso pessoal para Senha.
- Para usar suas credenciais do Microsoft Entra ID, clique em Editar Conexão, clique duas vezes no banco de dados na guia Dados e selecione ID do Microsoft Entra na lista Autenticação.
Para o Tableau Desktop 2021.1 e superior:
- Se você não usar uma conta de convidado B2B do Microsoft Entra ID (anteriormente Azure Ative Directory) ou Azure Databricks no Azure Government, basta inserir
https://login.microsoftonline.com/common
como o ponto de extremidade OAuth.
- Se você usar uma conta de convidado B2B do Microsoft Entra ID ou o Azure Databricks no Azure Government, entre em contato com o administrador para obter um princípio de serviço dedicado do Microsoft Entra ID.
Nota
Se você não for um administrador, será exibido um erro Precisa de aprovação de administrador. Peça a um administrador de aplicativos na nuvem ou a um administrador de aplicativos que conceda permissão para se conectar ao Tableau e tente entrar novamente.
Se sua conta do Microsoft Entra ID tiver o fluxo de trabalho de consentimento de administrador habilitado, o Tableau Desktop solicitará que você solicite acesso ao Tableau. Depois que um administrador de aplicativo na nuvem ou administrador de aplicativo aprovar a solicitação, tente entrar novamente.
- Se você não usar uma conta de convidado B2B do Microsoft Entra ID (anteriormente Azure Ative Directory) ou Azure Databricks no Azure Government, basta inserir
Conectar o Tableau Desktop ao Azure Databricks
Siga estas instruções para se conectar do Tableau Desktop a um recurso de computação ou SQL warehouse.
Nota
Para se conectar mais rapidamente ao Tableau Desktop, use o Partner Connect.
Inicie o Tableau Desktop.
Clique em Arquivo > novo.
Na guia Dados, clique em Conectar a Dados.
Na lista de conectores, clique em Databricks.
Insira o nome do host do servidor e o caminho HTTP.
Em Autenticação, escolha seu método de autenticação, insira suas credenciais de autenticação e clique em Entrar.
Para usar um token de ID do Microsoft Entra, selecione Token de Acesso Pessoal e insira seu token de ID do Microsoft Entra para Senha.
Para usar um token de acesso pessoal do Azure Databricks, selecione Token de Acesso Pessoal e insira seu token de acesso pessoal para Senha.
Para usar suas credenciais do Microsoft Entra ID, selecione Microsoft Entra ID.
Para o Tableau Desktop 2021.1 e superior:
Se você não usar uma conta de convidado B2B do Microsoft Entra ID (anteriormente Azure Ative Directory) ou Azure Databricks no Azure Government, basta inserir
https://login.microsoftonline.com/common
como o ponto de extremidade OAuth.- Se você usar uma conta de convidado B2B do Microsoft Entra ID ou o Azure Databricks no Azure Government, entre em contato com o administrador para obter um depósito dedicado do Microsoft Entra ID.
Nota
Se você não for um administrador, será exibido um erro Precisa de aprovação de administrador. Peça a um administrador de aplicativos na nuvem ou a um administrador de aplicativos para conceder permissões para se conectar ao Tableau e tente entrar novamente.
Se sua conta do Microsoft Entra ID tiver o fluxo de trabalho de consentimento de administrador habilitado, o Tableau Desktop solicitará que você solicite acesso ao Tableau. Depois que um administrador de aplicativo na nuvem ou administrador de aplicativo aprovar a solicitação, tente entrar novamente.
Se o Unity Catalog estiver habilitado para seu espaço de trabalho, defina adicionalmente o catálogo padrão. Na guia Avançado, para Propriedades da conexão, adicione
Catalog=<catalog-name>
. Para alterar o catálogo padrão, na guia SQL inicial, digiteUSE CATALOG <catalog-name>
.
Conectar o Tableau Cloud ao Azure Databricks
Siga estas instruções para se conectar a um recurso de computação ou a um armazém SQL a partir do Tableau Cloud.
- Iniciar uma nova pasta de trabalho
- Na barra de menus, clique em Nova Fonte de>Dados de Dados.
- Na página Conectar a Dados, clique em Conectores>Databricks.
- Na página Azure Databricks, insira os valores Nome do Host do Servidor e Caminho HTTP.
- Selecione seu método de autenticação e insira as informações solicitadas (se houver).
- Clique em Iniciar sessão.
Tableau Server no Linux
Edite /etc/odbcinst.ini
para incluir o seguinte:
[Simba Spark ODBC Driver 64-bit]
Description=Simba Spark ODBC Driver (64-bit)
Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so
Nota
O Tableau Server no Linux recomenda a arquitetura de processamento de 64 bits.
Publicar e atualizar uma pasta de trabalho no Tableau Cloud a partir do Tableau Desktop
Este artigo mostra como publicar uma pasta de trabalho do Tableau Desktop no Tableau Cloud e mantê-la atualizada quando a fonte de dados for alterada. Você precisa de uma pasta de trabalho no Tableau Desktop e uma conta do Tableau Cloud .
- Extraia os dados da pasta de trabalho do Tableau Desktop: no Tableau Desktop, com a pasta de trabalho que você deseja publicar exibida, clique em >
<data-source-name>
> Dados de extração de dados. - Na caixa de diálogo Extrair Dados , clique em Extrair.
- Navegue até um local na máquina local onde deseja salvar os dados extraídos e clique em Salvar.
- Publique a fonte de dados da pasta de trabalho no Tableau Cloud: no Tableau Desktop, clique em >de publicação do servidor .
<data-source-name>
- Se a caixa de diálogo Entrar no Tableau Server for exibida, clique no link Tableau Cloud e siga as instruções na tela para fazer login no Tableau Cloud.
- Na caixa de diálogo Publicar fonte de dados no Tableau Cloud, ao lado de Atualizar não habilitado, clique no link Editar.
- Na caixa suspensa exibida, para Autenticação, altere Atualizar não habilitado para Permitir acesso à atualização.
- Clique em qualquer lugar fora deste submenu para ocultá-lo.
- Selecione Atualizar pasta de trabalho para usar a fonte de dados publicada.
- Clique em Publicar. A fonte de dados é exibida no Tableau Cloud.
- No Tableau Cloud, na caixa de diálogo Publicação concluída , clique em Agendar e siga as instruções na tela.
- Publique a pasta de trabalho no Tableau Cloud: no Tableau Desktop, com a pasta de trabalho que você deseja publicar exibida, clique em > de publicação do servidor.
- Na caixa de diálogo Publicar pasta de trabalho no Tableau Cloud, clique em Publicar. A pasta de trabalho é exibida no Tableau Cloud.
O Tableau Cloud verifica se há alterações na fonte de dados de acordo com a programação definida e atualiza a pasta de trabalho publicada se forem detetadas alterações.
Para obter mais informações, consulte o seguinte no site do Tableau:
- Publicar uma fonte de dados
- Etapas abrangentes para publicar uma pasta de trabalho
- Agendar atualizações de extração à medida que você publica uma pasta de trabalho
Melhores práticas e resolução de problemas
As duas ações fundamentais para otimizar as consultas do Tableau são:
- Reduza o número de registros que estão sendo consultados e visualizados em um único gráfico ou painel.
- Reduza o número de consultas enviadas pelo Tableau em um único gráfico ou painel.
Decidir qual tentar primeiro depende do seu painel. Se você tiver vários gráficos diferentes para usuários individuais, todos no mesmo painel, é provável que o Tableau esteja enviando muitas consultas para o Azure Databricks. Se você tiver apenas alguns gráficos, mas eles levarem muito tempo para carregar, provavelmente há muitos registros sendo retornados pelo Azure Databricks para serem carregados de forma eficaz.
A gravação de desempenho do Tableau, disponível no Tableau Desktop e no Tableau Server, pode ajudá-lo a identificar gargalos de desempenho identificando processos que causam latência quando você executa um determinado fluxo de trabalho ou painel.
Habilite a gravação de desempenho para depurar qualquer problema do Tableau
Por exemplo, se a execução da consulta for o problema, você sabe que tem a ver com o processo do mecanismo de dados ou com a fonte de dados que está consultando. Se o layout visual estiver funcionando lentamente, você sabe que é o VizQL.
Se a gravação de desempenho indicar que a latência está na consulta em execução, é provável que seja consumido muito tempo pelo Azure Databricks para retornar os resultados ou pela sobreposição processada pelo ODBC/Connector ao converter os dados em SQL para VizQL. Quando isso ocorre, você deve analisar o que está retornando e tentar alterar o padrão analítico para ter um painel por grupo, segmento ou artigo, em vez de tentar agrupar tudo em um painel e confiar em Filtros Rápidos.
Se o mau desempenho for causado pela classificação ou layout visual, o problema pode ser o número de marcas que o painel está tentando retornar. O Azure Databricks pode retornar um milhão de registros rapidamente, mas o Tableau pode não ser capaz de calcular o layout e classificar os resultados. Se isso for um problema, agregue a consulta e analise detalhadamente os níveis inferiores. Você também pode tentar uma máquina maior, já que o Tableau só é limitado por recursos físicos na máquina em que está sendo executado.
Para obter um tutorial detalhado sobre o gravador de desempenho, consulte Criar uma gravação de desempenho.
Desempenho no Tableau Server versus Tableau Desktop
Em geral, um fluxo de trabalho executado no Tableau Desktop não é mais rápido no Tableau Server. Um painel que não é executado no Tableau Desktop não será executado no Tableau Server.
Usar o Tableau Desktop é uma técnica de resolução de problemas muito melhor, porque o Tableau Server tem mais processos a considerar ao resolver problemas. Se as coisas funcionarem no Tableau Desktop, mas não no Tableau Server, você poderá restringir o problema com segurança aos processos no Tableau Server que não estão no Tableau Desktop.
Configuração
Por padrão, os parâmetros da URL de conexão substituem aqueles no DSN ODBC do Simba. Há duas maneiras de personalizar as configurações ODBC do Tableau:
.tds
para uma única fonte de dados:- Siga as instruções em Salvar fontes de dados para exportar o
.tds
arquivo para a fonte de dados. - Encontre a linha
odbc-connect-string-extras=''
de.tds
propriedade no arquivo e defina os parâmetros. Por exemplo, para habilitarAutoReconnect
eUseNativeQuery
, você pode alterar a linha paraodbc-connect-string-extras='AutoReconnect=1,UseNativeQuery=1'
. - Recarregue o
.tds
arquivo reconectando a conexão.
O recurso de computação é otimizado para usar menos memória de pilha para coletar grandes resultados, para que possa servir mais linhas por bloco de busca do que o padrão do Simba ODBC. Anexe
RowsFetchedPerBlock=100000'
ao valor daodbc-connect-string-extras
propriedade.- Siga as instruções em Salvar fontes de dados para exportar o
.tdc
para todas as fontes de dados:- Se você nunca criou um
.tdc
arquivo, pode adicionar TableauTdcExample.tdc à pastaDocument/My Tableau Repository/Datasources
. - Adicione o arquivo às instalações do Tableau Desktop de todos os desenvolvedores para que ele funcione quando os painéis forem compartilhados.
- Se você nunca criou um
Otimizar gráficos (planilhas)
Há várias otimizações de gráficos táticos que podem ajudá-lo a melhorar o desempenho de suas planilhas do Tableau.
Para filtros que não mudam com frequência e não devem ser interagidos, use filtros de contexto, que aceleram o tempo de execução.
Outra boa regra prática é usar if/else
instruções em vez de case/when
instruções em suas consultas.
O Tableau pode transferir filtros para fontes de dados, o que pode melhorar a velocidade das consultas. Para mais informações sobre os filtros "push down" das fontes de dados, consulte Filtragem entre múltiplas fontes de dados usando um parâmetro e Filtrar dados através de múltiplas fontes de dados.
Tente evitar cálculos de tabela, pois eles verificam o conjunto de dados completo. Para obter mais informações sobre cálculos de tabela, consulte Transformar valores com cálculos de tabela.
Otimizar painéis
Veja a seguir algumas dicas e exercícios de solução de problemas que você pode aplicar para melhorar o desempenho do painel do Tableau.
Com os painéis do Tableau conectados ao Azure Databricks, filtros rápidos em painéis individuais que atendem a vários usuários, funções ou segmentos diferentes podem ser uma fonte comum de problemas. Você pode anexar filtros rápidos a todos os gráficos no painel. Um filtro rápido em um painel com cinco gráficos faz com que um mínimo de 10 consultas sejam enviadas para o Azure Databricks. Isso pode aumentar para números maiores quando mais filtros são adicionados e pode causar problemas de desempenho porque o Spark não foi criado para lidar com muitas consultas simultâneas começando no mesmo momento exato. Isso se torna mais problemático quando o cluster do Azure Databricks ou o SQL warehouse que você está usando não é grande o suficiente para lidar com o alto volume de consultas.
Como primeiro passo, recomendamos que você use a gravação de desempenho do Tableau para solucionar o que pode estar causando o problema.
Se o mau desempenho for causado por de classificação ou de layout visual, o problema pode ser o número de marcas que o painel está tentando retornar. O Azure Databricks pode retornar um milhão de registros rapidamente, mas o Tableau pode não ser capaz de calcular o layout e classificar os resultados. Se isso for um problema, agregue a consulta e analise detalhadamente os níveis inferiores. Você também pode tentar uma máquina maior, já que o Tableau é limitado apenas pelos recursos físicos da máquina na qual está sendo executado.
Para obter informações sobre como detalhar no Tableau, consulte Detalhar os detalhes.
Se vires muitas marcas granulares, isso geralmente é um padrão analítico ruim porque não fornece qualquer insight. Detalhar a partir de níveis mais altos de agregação é mais lógico e reduz o número de registos que devem ser processados e visualizados.
Use ações para otimizar painéis
Use o Tableau _actions para clicar em uma marca (por exemplo, um estado em um mapa) e ser enviado para outro painel que filtra com base no estado em que você clica. O uso do _actions reduz a necessidade de vários filtros em um painel e o número de registros que devem ser gerados. (Você está definindo uma ação para não gerar registros até que ele obtenha um predicado para filtrar.
Para obter mais informações, consulte Ações e 6 dicas para tornar seus painéis com melhor desempenho.
Colocação em cache
Armazenar dados em cache é uma boa maneira de melhorar o desempenho de planilhas ou painéis.
Armazenamento em cache no Tableau
O Tableau tem quatro camadas de cache antes de voltar aos dados, estejam eles em uma conexão ativa ou em uma extração:
- Blocos: se alguém carregar o mesmo painel e nada mudar, o Tableau tentará reutilizar os mesmos blocos para os gráficos. Isso é semelhante aos blocos do Google Maps.
- Modelo: Se o cache de blocos não puder ser usado, o cache do modelo de cálculos matemáticos será usado para gerar visualizações. O Tableau Server tenta usar os mesmos modelos.
- Resumo: Os resultados agregados das consultas também são armazenados. Este é o terceiro nível de "defesa". Se uma consulta retornar Soma(Vendas), Contagem(ordens), Soma(Custo), em uma consulta anterior e uma consulta futura quiser apenas Soma(Vendas), o Tableau pegará esse resultado e o usará.
- cache nativo: se a consulta for igual a outra, o Tableau usará os mesmos resultados. Este é o último nível de cache. Se isso falhar, o Tableau acede aos dados.
Frequência de cache no Tableau
O Tableau tem configurações administrativas para armazenamento em cache com mais ou menos frequência. Se o servidor estiver definido como Atualizar com menos frequência, o Tableau manterá os dados no cache por até 12 horas. Se o servidor estiver definido como Atualização com mais frequência, o Tableau acede aos dados em cada atualização da página.
Os clientes que usam o mesmo painel repetidamente, por exemplo, "relatórios de pipeline de segunda-feira de manhã", devem estar num servidor configurado para atualizar com menos frequência para que todos os painéis usem o mesmo cache.
Aquecimento do cache no Tableau
No Tableau, pode aquecer a cache ao configurar uma subscrição para que o painel seja enviado antes de desejar que seja visualizado. (O painel deve ser renderizado para gerar a imagem de e-mail da assinatura.) Consulte Como aquecer o cache do Tableau Server usando assinaturas.
Tableau Desktop: erro The drivers... are not properly installed
Problema: quando você tenta conectar o Tableau Desktop ao Databricks, o Tableau exibe uma mensagem de erro na caixa de diálogo de conexão com um link para a página de download do driver, onde você pode encontrar links de driver e instruções de instalação.
Causa: sua instalação do Tableau Desktop não está executando um driver compatível.
Resolução: Baixe o driver ODBC Databricks versão 2.6.15 ou superior.
Consulte também: Erro "Os drivers... não estão instalados corretamente" no site do Tableau.
Restrições de chave primária/estrangeira
Para propagar restrições de chave primária (PK) e chave estrangeira (FK) do Azure Databricks para o Tableau, você deve entender os recursos e as limitações de ambas as plataformas em relação às restrições.
Noções básicas sobre restrições do Azure Databricks
O Azure Databricks suporta restrições de chave primária e estrangeira a partir do Databricks Runtime 15.2. Essas restrições são informativas e não impostas por padrão, o que significa que não impedem violações de integridade de dados, mas podem ser usadas para otimizar consultas e fornecer metadados sobre relacionamentos de dados. Consulte Declarar relações de chave primária e chave estrangeira.
Compreender o Tableau usa restrições para criar relações de tabela
O Tableau não impõe diretamente restrições de chave primária e estrangeira. Em vez disso, o Tableau usa relacionamentos para modelar conexões de dados. Para trabalhar com restrições no Tableau, você deve entender que o modelo de dados do Tableau oferece dois níveis de modelagem: uma camada lógica e uma camada física. Consulte Modelo de dados do Tableau. As implicações desse modelo de dados de dois níveis sobre as restrições do Azure Databricks serem reconhecidas como relacionamentos no Tableau são discutidas abaixo.
Conectando o Azure Databricks ao Tableau
Quando você conecta o Azure Databricks ao Tableau, o Tableau tenta criar relações na camada física entre tabelas com base em restrições de chave existentes e campos correspondentes. O Tableau tenta detetar e criar automaticamente relações na camada física com base nas restrições de chave primária e estrangeira definidas no Azure Databricks. Se nenhuma restrição de chave for definida, o Tableau usará nomes de coluna correspondentes para gerar junções automaticamente. Na camada lógica, apenas as correspondências de nome de coluna única são usadas para determinar uma relação. Na camada física, essa correspondência de nome de coluna deteta relações de chave simples (coluna única) e compostas (várias colunas).
Se o Tableau não puder determinar os campos correspondentes, especifique manualmente a relação de junção entre as duas tabelas na camada física, fornecendo as colunas, a condição e o tipo de restrição. Para mudar da camada lógica na interface do usuário para a camada física, clique duas vezes na tabela na camada lógica.