Partilhar via


Conectar o Tableau e o Azure Databricks

O Tableau é uma plataforma de business intelligence e visualização de dados que ajuda os usuários a se conectarem, analisarem e compartilharem seus dados criando painéis e relatórios interativos, permitindo a tomada de decisões orientada por dados. 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.

Explorar no Tableau Cloud a partir do Azure Databricks

Ao usar o Azure Databricks como uma fonte de dados com o Tableau Cloud, você pode criar fontes de dados do Tableau a partir de tabelas ou esquemas diretamente da interface do usuário do Databricks.

Requerimentos

  • Seus dados devem estar no Catálogo Unity e sua computação (cluster) deve estar habilitada para o Catálogo Unity. O metastore do Hive não é suportado no momento.

Explore tabelas do Azure Databricks no Tableau Cloud

  1. Entre no seu espaço de trabalho Databricks e clique no ícone Dados.Catálogo na barra lateral para abrir o Catalog Explorer.
  2. Selecione um recurso de computação no painel catálogo no canto superior esquerdo.
  3. Abra um catálogo e selecione o esquema ou a tabela que deseja explorar. Não selecione de um metastore do Hive ou do catálogo de amostras.
  4. No canto superior direito, clique em Usar com ferramentas de BI para um esquema ou em Abrir em um painel para uma tabela.
  5. Selecione Explorar no Tableau Cloud no menu suspenso.
  6. Verifique se a computação e o esquema ou tabela selecionados estão corretos e clique em Explorar no Tableau Cloud.
  7. Uma nova guia será aberta e solicitará que você faça login na sua conta do Tableau Cloud.
  8. Depois de entrar no Tableau, você será solicitado a entrar novamente no Azure Databricks.
  9. Depois de fazer logon no Azure Databricks, você pode começar a criar um painel do Tableau no editor de pasta de trabalho.

Características e notas

  • Você pode explorar uma tabela ou um esquema. Ao explorar um esquema, você deve selecionar uma tabela no painel Fonte de dados do Tableau antes de começar a criar um painel.
  • O Databricks impõe OAuth como o modo de autenticação ao publicar no Tableau Cloud.
  • A fonte de dados publicada está no modo de rascunho e não é salva em nenhum lugar. Você deve salvá-lo no Tableau Cloud para torná-lo acessível a outras pessoas.

Requisitos gerais para conectar o Tableau e o Azure Databricks

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.

  1. Verifique se sua conta do Azure Databricks, o espaço de trabalho e o usuário conectado atendem aos requisitos do Partner Connect.
  2. Na barra lateral, clique no ícone do MarketplaceMarketplace.
  3. Em Integrações do Partner Connect, clique em Ver tudo.
  4. Clique no bloco Tableau.
  5. 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.
  6. Escolha Baixar arquivo de conexão.
  7. Abra o arquivo de conexão baixado, que inicia o Tableau Desktop.
  8. No Tableau Desktop, selecione seu método de autenticação e insira as informações solicitadas (se houver).

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.

  1. Inicie o Tableau Desktop.
  2. Clique em Arquivo > novo.
  3. Na guia Dados , clique em Conectar a Dados.
  4. Na lista de conectores, clique em Databricks.
  5. Insira o nome do host do servidor e o caminho HTTP.
  6. Selecione seu método de autenticação e insira as informações solicitadas (se houver).

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 , digite 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 armazém SQL a partir do Tableau Cloud.

  1. Iniciar uma nova pasta de trabalho
  2. Na barra de menus, clique em Dados>Nova Fonte de Dados.
  3. Na página Conectar a Dados, clique em Conectores>Databricks.
  4. Na página Azure Databricks, insira os valores Nome do Host do Servidor e Caminho HTTP .
  5. Selecione seu método de autenticação e insira as informações solicitadas (se houver).
  6. Clique em Entrar.

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 .

  1. Extraia os dados da pasta de trabalho do Tableau Desktop: no Tableau Desktop, com a pasta de trabalho que pretende 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 na máquina local onde deseja salvar os dados extraídos e clique em Salvar.
  4. Publique 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 Tableau Cloud e siga as instruções na tela para fazer login no Tableau Cloud.
  6. Na caixa de diálogo Publicar a fonte de dados no Tableau Cloud, ao lado de Sem atualização ativada, clique no link Editar.
  7. Na caixa de diálogo exibida, para Autenticação, altere Atualização não habilitada para Permitir acesso à atualização automática.
  8. Clique em qualquer lugar fora desta janela flutuante para ocultá-la.
  9. Selecione Atualizar pasta de trabalho para usar a fonte de dados publicada.
  10. Clique em Publicar. A fonte de dados é exibida no Tableau Cloud.
  11. No Tableau Cloud, na caixa de diálogo Publicação concluída , clique em Agendar 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 você deseja publicar exibida, clique em Pasta de trabalho de publicação do servidor>.
  13. 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:

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.

Escolher 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 tiver apenas alguns gráficos, mas eles demorarem muito tempo a carregar, provavelmente há muitos registos a serem retornados pelo Azure Databricks para serem carregados eficazmente.

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 explore 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 ficheiro para uma única fonte de dados:

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

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

  • .tdc ficheiro para todas as fontes de dados:

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

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 declarações em vez de case/when declarações nas suas consultas.

O Tableau pode inserir filtros nas fontes de dados, o que pode melhorar a velocidade das consultas. Para obter mais informações sobre filtros pushdown de fonte de dados, consulte Filtrando entre várias fontes de dados usando um parâmetro e Filtrar dados entre várias 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 pela classificação ou pelo layout visual, o problema pode residir no número de marcas que o painel está a tentar devolver. 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 explore 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 explorar em detalhe no Tableau, consulte Explorar as informações detalhadas.

Se vires muitas marcas granulares, este geralmente é um padrão de análise ruim porque não fornece perceções. 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.

Armazenamento 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 abrir 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 de 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 Atualizar com mais frequência, o Tableau retornará aos dados em cada atualização de página.

Os clientes que usam o mesmo dashboard repetidamente, por exemplo, "Relatórios de pipeline de segunda-feira da manhã", devem estar num servidor configurado para Atualizar com menos frequência para que todos os dashboards 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 Aquecimento do 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. Veja Declarar relações de chave primária e chave estrangeira.

Compreender como o Tableau utiliza restrições para criar relações de tabelas

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.

Recursos adicionais