Conectar o Tableau ao Azure Databricks

Este artigo mostra como usar o Partner Connect para se conectar do Azure Databricks ao Tableau Desktop e do Tableau Desktop ou Tableau Cloud ao Azure Databricks. Este artigo também inclui informações sobre o Tableau Server no Linux.

Observação

Para configurar o logon do Azure Databricks no Tableau Server, consulte Configurar o logon do Azure Databricks no Tableau Server.

Ao usar o Azure Databricks como uma fonte de dados com o Tableau, você pode fornecer análises interativas avançadas, levando as contribuições de cientistas de dados e engenheiros de dados para analistas de negócios, colocando-as em escala para grandes conjuntos de dados.

Requisitos para conectar o Tableau ao Azure Databricks

Conectar o Azure Databricks ao Tableau Desktop usando o Partner Connect

Use o Partner Connect para conectar um recurso de computação ou um depósito SQL ao Tableau Desktop com apenas alguns cliques.

  1. Verifique se a sua conta do Azure Databricks, seu workspace e o usuário conectado atendem a todos os requisitos do Partner Connect.
  2. Na barra lateral, clique em botão do Partner Connect Partner Connect.
  3. Clique no bloco do Tableau.
  4. Na caixa de diálogo Conectar-se ao parceiro, em Computação, escolha o nome do recurso de computação do Azure Databricks que deseja conectar.
  5. Escolha Baixar arquivo de conexão.
  6. Abra o arquivo de conexão baixado, que inicia o Tableau Desktop.
  7. No Tableau Desktop, insira suas credenciais de autenticação e clique em Entrar:
    • Para usar um token do Microsoft Entra ID, insira o token em Nome de Usuário e seu token do Microsoft Entra ID em Senha.
    • Para usar um token de acesso pessoal do Azure Databricks, insira o token em Nome de usuário e o token de acesso pessoal como a 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 a Microsoft Entra ID na lista Autenticação.
      • Para o Tableau Desktop 2021.1 e superior:

        1. Se não usar uma conta de convidado B2B do Microsoft Entra ID (antigo Azure Active Directory) nem o Azure Databricks no Azure Government, você poderá simplesmente inserir https://login.microsoftonline.com/common como ponto de extremidade do OAuth.

        Configurar autenticação

        1. Se você usar uma conta de convidado do Microsoft Entra ID B2B ou o Azure Databricks no Azure Government, entre em contato com o administrador para obter um warehouse dedicado do Microsoft Entra ID.

        Observação

        Se você não for um administrador, será exibido um erro de aprovação de administrador necessária. Peça a um administrador de aplicativos da nuvem ou a um administrador de aplicativos que conceda permissões para você se conectar ao Tableau, e tente entrar novamente.

        Se a sua conta do Microsoft Entra ID tiver o fluxo de trabalho de consentimento do administrador habilitado, o Tableau Desktop solicitará que você solicite acesso ao Tableau. Depois que um administrador de aplicativos de nuvem ou administrador de aplicativo aprovar a solicitação, tente entrar novamente.

Conectar o Tableau Desktop ao Azure Databricks

Siga estas instruções para se conectar do Tableau Desktop a um recurso de computação ou a um depósito SQL.

Observação

Para se conectar mais rapidamente com o Tableau Desktop, use o Partner Connect.

  1. Inicie o Tableau Desktop.

  2. Clique em Arquivo > Novo.

  3. Na guia Dados, clique em Conectar-se a Dados.

  4. Na lista de conectores, clique em Databricks.

  5. Insira o Nome do Host do Servidor e o Caminho HTTP.

  6. Em Autenticação, escolha o método de autenticação, insira suas credenciais de autenticação e clique em Entrar.

    • Para usar um token do Microsoft Entra ID, selecione Token de Acesso Pessoal e insira seu token do Microsoft Entra ID em Senha.

    • Para usar um token de acesso pessoal do Azure Databricks, selecione Token de Acesso Pessoal e insira o token de acesso pessoal como a Senha.

    • Para usar suas credenciais do Microsoft Entra ID, selecione Microsoft Entra ID.

      Para o Tableau Desktop 2021.1 e superior:

      • Se não usar uma conta de convidado B2B do Microsoft Entra ID (antigo Azure Active Directory) nem o Azure Databricks no Azure Government, você poderá simplesmente inserir https://login.microsoftonline.com/common como ponto de extremidade do OAuth.

        Configurar autenticação

        • Se você usar uma conta de convidado do Microsoft Entra ID B2B ou o Azure Databricks no Azure Government, entre em contato com o administrador para obter um warehouse dedicado do Microsoft Entra ID.

      Observação

      Se você não for um administrador, será exibido um erro de aprovação de administrador necessária. Peça a um administrador de aplicativos da nuvem ou a um administrador de aplicativos que conceda permissões para você se conectar ao Tableau, e tente entrar novamente.

      Se a sua conta do Microsoft Entra ID tiver o fluxo de trabalho de consentimento do administrador habilitado, o Tableau Desktop solicitará que você solicite acesso ao Tableau. Depois que um administrador de aplicativos de nuvem ou um administrador de aplicativo aprovar a solicitação, tente entrar novamente.

    Se o Catálogo do Unity estiver habilitado para seu workspace, defina também o catálogo padrão. Na guia Avançado, para Propriedades de conexão, adicione Catalog=<catalog-name>. Para alterar o catálogo padrão, na guia SQL Inicial, insira USE 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 depósito SQL com o Tableau Cloud.

  • Iniciar uma pasta de trabalho
  • Na barra de menu, clique em Dados>Nova Fonte de Dados.
  • Na página Conectar aos dados, clique em Conectores>Databricks.
  • Na página Azure Databricks, insira os valores Nome do host do Servidor e Caminho HTTP.
  • Selecione o método de autenticação e insira as informações solicitadas (caso existam).
  • Clique em Entrar.

Tableau Server no Linux

Edite /etc/odbcinst.ini para incluir a seguinte:

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

Observação

O Tableau Server no Linux recomenda a arquitetura de processamento de 64 bits.

Publicar e atualizar uma pasta de trabalho no Tableau Cloud com base no Tableau Desktop

Este artigo mostra como publicar uma pasta de trabalho por meio do Tableau Desktop no Tableau Cloud e mantê-la atualizada quando a fonte de dados for alterada. Você precisa ter uma pasta de trabalho no Tableau Desktop e uma conta do Tableau Cloud.

  1. Extrair os dados da pasta de trabalho do Tableau Desktop: no Tableau Desktop, com a pasta de trabalho que você deseja publicar exibida, clique em Dados > <data-source-name> > Extrair dados.
  2. Na caixa de diálogo Extrair Dados, clique em Extrair.
  3. Navegue até um local no computador local em que deseja salvar os dados extraídos e clique em Salvar.
  4. Publicar a fonte de dados da pasta de trabalho no Tableau Cloud: no Tableau Desktop, clique em Servidor > Publicar fonte de dados > <data-source-name>.
  5. Se a caixa de diálogo Entrar no Tableau Server for exibida, clique no link do Tableau Cloud e siga as instruções na tela para entrar no Tableau Cloud.
  6. Na caixa de diálogo Publicar Fonte de Dados no Tableau Cloud, ao lado de Atualização não Habilitada, clique no link Editar.
  7. Na caixa do submenu exibida, em Autenticação, altere Atualização não habilitada para Permitir acesso à atualização.
  8. Clique em qualquer lugar fora do submenu para ocultá-la.
  9. Selecione Atualizar pasta de trabalho para usar a fonte de dados publicada.
  10. Clique em Publicar. A fonte de dados será exibida no Tableau Cloud.
  11. No Tableau Cloud, na caixa de diálogo Publicação Concluída, clique em Agendamento e siga as instruções na tela.
  12. Publique a pasta de trabalho no Tableau Cloud: no Tableau Desktop, com a pasta de trabalho que deseja publicar exibida, clique em Servidor > Publicar Pasta de Trabalho.
  13. Na caixa de diálogo Publicar Pasta de Trabalho no Tableau Cloud, clique em Publicar. A pasta de trabalho será exibida no Tableau Cloud.

O Tableau Cloud verificará as alterações na fonte de dados, conforme o agendamento que você definiu, e atualizará a pasta de trabalho publicada se forem detectadas alterações.

Para obter mais informações, confira o seguinte no site do Tableau:

Melhores práticas e solução de problemas

As duas ações fundamentais para otimizar as consultas do Tableau são:

  • Reduzir o número de registros consultados e visualizados em um só gráfico ou painel.
  • Reduzir o número de consultas enviadas pelo Tableau em um só gráfico ou painel.

A decisão de qual experimentar primeiro depende do painel. Se você tem vários gráficos diferentes para usuários individuais no mesmo painel, é provável que o Tableau esteja enviando muitas consultas para o Azure Databricks. Caso você tenha apenas alguns gráficos, mas eles demoram muito tempo para serem carregados, provavelmente, há muitos registros sendo retornados pelo Azure Databricks para um carregamento eficiente.

A gravação de desempenho do Tableau, disponível no Tableau Desktop e no Tableau Server, pode ajudar você a entender os pontos de gargalos de desempenho identificando os processos que causam latência quando determinado fluxo de trabalho ou painel é executado.

Habilitar a gravação de desempenho para depurar qualquer problema do Tableau

Por exemplo, se a execução da consulta for o problema, você saberá que ela tem a ver com o processo do mecanismo de dados ou a fonte de dados que você está consultando. Se o layout visual estiver sendo executado lentamente, você saberá que ele é o VizQL.

Se a gravação de desempenho indica que a latência está na execução da consulta, é provável que leva muito tempo para o Azure Databricks retornar os resultados ou para a sobreposição do ODBC/conector processar os dados em SQL para o 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 colocar tudo em um painel e depender de Filtros Rápidos.

Se o baixo desempenho for causado pela classificação ou pelo layout visual, o problema poderá ser o número de marcas que o painel está tentando retornar. O Azure Databricks pode retornar um milhão de registros rapidamente, mas talvez o Tableau não consiga computar o layout e classificar os resultados. Se esse for um problema, agregue a consulta e faça uma busca detalhadas nos níveis inferiores. Experimente também um computador maior, pois o Tableau é restrito apenas por recursos físicos no computador em que está sendo executado.

Para ver um tutorial detalhado sobre o gravador de desempenho, confira Criar uma gravação de desempenho.

Comparação de desempenho entre o Tableau Server e o 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 Desktop é uma técnica de solução de problemas muito melhor porque o Tableau Server tem mais processos a serem considerados ao solucionar problemas. E se tudo funcionar no Tableau Desktop, mas não no Tableau Server, você poderá restringir com segurança o problema aos processos do 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 do ODBC do Simba. Há duas maneiras de personalizar as configurações do ODBC do Tableau:

  • Arquivo .tds para uma só fonte de dados:

    1. Siga as instruções descritas em Salvar fontes de dados para exportar o arquivo .tds para a fonte de dados.
    2. Localize a linha de propriedade odbc-connect-string-extras='' no arquivo .tds e defina os parâmetros. Por exemplo, para habilitar AutoReconnect e UseNativeQuery, altere a linha para odbc-connect-string-extras='AutoReconnect=1,UseNativeQuery=1'.
    3. Recarregue o arquivo .tds reconectando a conexão.

    O recurso de computação é otimizado para usar menos memória de heap para coletar resultados grandes, ou seja, ele pode fornecer mais linhas por bloco de busca do que o padrão do ODBC do Simba. Acrescente RowsFetchedPerBlock=100000' ao valor da propriedade odbc-connect-string-extras.

  • Arquivo .tdc para todas as fontes de dados:

    1. Se você nunca criou um arquivo .tdc, adicione TableauTdcExample.tdc à pasta Document/My Tableau Repository/Datasources.
    2. Adicione o arquivo a todas as instalações do Tableau Desktop dos desenvolvedores, para que ele funcione quando os painéis forem compartilhados.

Otimizar gráficos (planilhas)

Há várias otimizações táticas de gráficos que podem ajudar você a aprimorar o desempenho das suas planilhas do Tableau.

Para filtros que não são alterados com frequência e que não devem ter interação, use filtros de contexto, que aceleram o tempo de execução. Outra boa regra prática é usar instruções if/else em vez de instruções case/when nas consultas.

O Tableau pode fazer o pushdown de filtros em fontes de dados, o que pode aprimorar as velocidades das consultas. Confira Filtragem em várias fontes de dados usando um parâmetro e Filtrar dados em várias fontes de dados para obter mais informações sobre filtros de pushdown da fonte de dados.

Tente evitar cálculos de tabela, pois eles examinam o conjunto de dados completo. Para obter mais informações sobre cálculos de tabela, confira Transformar valores com cálculos de tabela.

Otimizar painéis

Estas são algumas dicas e exercícios de solução de problemas que você pode aplicar para aprimorar o desempenho do seu painel do Tableau.

Com os painéis do Tableau conectados ao Azure Databricks, os filtros rápidos nos 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 resulta, no mínimo, no envio de dez consultas para o Azure Databricks. Isso pode atingir números maiores quando mais filtros forem adicionados e causar problemas de desempenho, pois o Spark não foi criado para lidar com várias consultas simultâneas iniciadas no mesmo exato momento. Isso se torna mais problemático quando o cluster do Azure Databricks ou o SQL Warehouse que você está utilizando não é grande o suficiente para tratar o alto volume de consultas.

Como uma primeira etapa, recomendamos que você use a gravação de desempenho do Tableau para solucionar o que pode estar causando o problema.

Se o baixo desempenho for causado pela classificação ou pelo layout visual, o problema poderá ser o número de marcas que o painel está tentando retornar. O Azure Databricks pode retornar um milhão de registros rapidamente, mas talvez o Tableau não consiga computar o layout e classificar os resultados. Se esse for um problema, agregue a consulta e faça uma busca detalhadas nos níveis inferiores. Experimente também um computador maior, pois o Tableau é restrito apenas por recursos físicos no computador em que está sendo executado.

Para obter informações sobre a busca detalhada no Tableau, confira Fazer uma busca detalhada.

Em geral, ver muitas marcas granulares é um padrão de análise inadequado, pois não fornece insights. A busca detalhada de níveis mais altos de agregação faz mais sentido e reduz o número de registros que precisam ser processados e visualizados.

Usar ações para otimizar painéis

Use ações do Tableau para clicar em uma marca (por exemplo, um estado em um mapa) e seja enviado para outro painel que aplica filtros com base no estado em que você clica. Isso reduz a necessidade de ter vários filtros em um painel e reduz o número de registros que precisam ser gerados. (Você está definindo uma ação para não gerar registros até que ela obtenha um predicado para filtrar.)

Para obter mais informações, confira Ações e Seis dicas para aprimorar o desempenho dos seus painéis.

Cache

O cache de dados é uma boa maneira de aprimorar o desempenho de planilhas ou de painéis.

Cache no Tableau

O Tableau tem quatro camadas de cache antes de voltar aos dados, independentemente de os dados estarem em uma conexão dinâmica ou uma extração:

  • Blocos: se alguém estiver carregando exatamente 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: há cálculos matemáticos usados para gerar visualizações no caso de blocos que não podem ser usados. O Tableau Server tenta usar os mesmos modelos.
  • Resumo: os resultados agregados das consultas também são armazenados. Esse é o terceiro nível de “defesa”. Se uma consulta retornar Sum(Sales), Count(orders) e Sum(Cost) em uma consulta anterior e uma consulta futura quiser apenas Sum(Sales), o Tableau vai capturar esse resultado e usá-lo.
  • Cache nativo: se a consulta for exatamente igual à outra, o Tableau usará os mesmos resultados. Este é o último nível de cache. Se isso falhar, o Tableau voltará aos dados.

Frequência de cache no Tableau

O Tableau tem configurações administrativas para usar o cache com mais ou menos frequência. Se o servidor estiver definido para ser Atualizado com Menos Frequência, o Tableau manterá os dados no cache por até 12 horas. Se ele estiver definido para ser Atualizado com Mais Frequência, o Tableau voltará aos dados em cada atualização de página.

Os clientes que têm o mesmo painel sendo usados repetidamente (por exemplo, “Relatórios de pipeline de segunda-feira de manhã”) devem estar em um servidor definidos para Atualizar com Menos Frequência para que todos os painéis usem o mesmo cache.

Aquecimento de cache no Tableau

No Tableau, você pode preparar o cache definindo uma assinatura para o painel a ser enviada antes de você desejar que o painel seja exibido. Isso ocorre porque o painel precisa ser renderizado para gerar a imagem para o email de assinatura. Confira Como aquecer o cache do Tableau Server usando assinaturas.

Tableau Desktop: o erro The drivers... are not properly installed é exibido

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, em que você pode encontrar links do driver e instruções de instalação.

Causa: a instalação do Tableau Desktop não está executando um driver compatível.

Resolução: baixe o driver ODBC do Databricks versão 2.6.15 ou superior.

Confira também: Erro “Os drivers… não estão instalados corretamente” no site do Tableau.

Restrições de chave primária/chave 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 das restrições do Azure Databricks

O Azure Databricks oferece suporte a restrições de chave primária e estrangeira a partir do Databricks Runtime 15.2. Essas restrições são informativas e não sã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.

Noções básicas sobre o uso de restrições do Tableau para criar relacionamentos de tabelas

O Tableau não aplica diretamente restrições de chave primária e estrangeira, mas 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 2 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 nas restrições do Azure Databricks que estão sendo reconhecidas como relações no Tableau são discutidas abaixo.

Conectar o Azure Databricks ao Tableau

Quando você conecta o Azure Databricks ao Tableau, o Tableau tenta criar relacionamentos na camada física entre tabelas com base nas principais restrições existentes e nos campos correspondentes. O Tableau tenta detectar e criar relações automaticamente 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 uniões automaticamente. Na camada lógica, somente correspondências de nome de coluna única são usadas para determinar um relacionamento. Na camada física, essa correspondência de nome de coluna detecta relações de chave simples (coluna única) e composta (várias colunas).

Se o Tableau não puder determinar os campos correspondentes, você precisará especificar manualmente a relação de uniã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.

Recursos adicionais