Databricks

Encriptar o tráfego de rede

É uma prática recomendada encriptar o tráfego de rede entre a aplicação Looker e a sua base de dados. Considere uma das opções descritas na página de documentação Ativar o acesso seguro à base de dados.

Crie um utilizador do Looker

O Looker autentica-se no Databricks através de tokens de acesso pessoal. Siga a documentação do Databricks para criar um token de acesso pessoal para um utilizador do Databricks usar no Looker.

Adicione autorizações a este utilizador com GRANT.

No mínimo, o utilizador do Looker deve ter as autorizações SELECT e READ_METADATA.

GRANT SELECT ON DATABASE <YOUR_DATABASE> TO `<looker>@<your.databricks.com>`
GRANT READ_METADATA ON DATABASE <YOUR_DATABASE> TO `<looker>@<your.databricks.com>`

Informações do servidor

Siga a documentação do Databricks para encontrar o caminho HTTP do seu cluster do Databricks. Nesta página, vamos referir-nos a esta funcionalidade como <YOUR_HTTP_PATH>.

Configurar tabelas derivadas persistentes

Para usar tabelas derivadas persistentes, crie uma base de dados separada.

CREATE DATABASE <YOUR_SCRATCH_DATABASE>

Isto também requer a concessão de autorizações de utilizador adicionais baseadas em escrita.

GRANT SELECT CREATE MODIFY ON DATABASE <YOUR_SCRATCH_DATABASE> TO `<looker>@<your.databricks.com>`
GRANT READ_METADATA ON DATABASE <YOUR_SCRATCH_DATABASE> TO `<looker>@<your.databricks.com>`

Criar a ligação do Looker à sua base de dados

Na secção Administração do Looker, selecione Ligações e, de seguida, clique em Adicionar ligação.

Preencha os detalhes da ligação. A maioria das definições é comum à maioria dos dialetos de bases de dados. Consulte a página de documentação Associar o Looker à sua base de dados para ver informações. Algumas das definições são descritas a seguir:

  • Nome: especifique o nome da associação. É assim que se vai referir à ligação nos projetos do LookML.
  • Dialeto: especifique o dialeto Databricks.
  • Anfitrião: especifique o URL do espaço de trabalho do Databricks. Por exemplo, dbc-yyyyyyyy.cloud.databricks.com/.
  • Porta: especifique a porta da base de dados. A predefinição é 443.
  • Base de dados: especifique o nome da base de dados a usar para consultas do Looker. O valor predefinido é default.
  • Catálogo: para bases de dados do Databricks com o Unity Catalog ativado, especifique o nome do catálogo a usar para consultas do Looker. Se não especificar um catálogo, o Looker acede apenas aos esquemas do catálogo predefinido. Consulte Funcionalidade do Looker com o Databricks Unity Catalog para mais informações.
  • Autenticação: selecione Conta da base de dados ou OAuth:
    • Use a conta da base de dados para especificar um token de acesso pessoal do Databricks que vai ser usado para estabelecer ligação ao Looker (consulte a secção Crie um utilizador do Looker para ver instruções).
      • Em Nome de utilizador, introduza o valor token (não introduza o email do utilizador do Databricks neste campo).
      • Para Palavra-passe, introduza o token de acesso pessoal do Databricks.
    • Use o OAuth para configurar o OAuth para a ligação. Consulte a secção Configurar o OAuth para ligações do Databricks para mais informações.
  • Ativar PDTs: use este botão para ativar as tabelas derivadas persistentes. Quando os PDTs estão ativados, a janela Ligação revela definições de PDTs adicionais e a secção Substituições de PDTs. Nota: os PDTs não são suportados para associações do Databricks que usam o OAuth.
  • Base de dados temporária: introduza a base de dados que quer usar para armazenar PDTs.
  • Número máximo de ligações de compilador de PDTs: especifique o número de compilações de PDTs simultâneas possíveis nesta ligação. Definir este valor demasiado alto pode afetar negativamente os tempos de consulta. Para mais informações, consulte a página de documentação Estabelecer ligação do Looker à sua base de dados.
  • Parâmetros JDBC adicionais: adicione parâmetros JDBC do Spark adicionais.

  • Agendamento de manutenção: uma expressão cron que indica quando o Looker deve verificar os grupos de dados e as tabelas derivadas persistentes. Leia mais acerca desta definição na documentação do cronograma de manutenção.

  • SSL: selecione esta opção para usar ligações SSL.

  • Validar SSL: selecione esta opção para aplicar uma validação rigorosa do certificado SSL.

  • Ligações máximas por nó: pode deixar esta definição no valor predefinido inicialmente. Leia mais acerca desta definição na secção Máximo de associações por nó da página de documentação Associar o Looker à sua base de dados.

  • Limite de tempo do conjunto de ligações: pode deixar esta definição no valor predefinido inicialmente. Leia mais acerca desta definição na secção Tempo limite do conjunto de ligações da página de documentação Associar o Looker à sua base de dados.

  • Pré-cache da execução de SQL: para que a execução de SQL não pré-carregue as informações das tabelas e carregue as informações das tabelas apenas quando uma tabela é selecionada, desmarque esta caixa de verificação. Leia mais acerca desta definição na secção Pré-armazenamento em cache do SQL Runner da página de documentação Associar o Looker à sua base de dados.

  • Fuso horário da base de dados: especifique o fuso horário a usar na base de dados. Deixe este campo em branco se não quiser a conversão de fuso horário. Consulte a página de documentação Usar definições de fuso horário para mais informações.

Clique em Testar para testar a associação e certificar-se de que está configurada corretamente. Se vir a opção Pode ligar, prima Ligar. Isto executa os restantes testes de associação para verificar se a conta de serviço foi configurada corretamente e com as funções adequadas. Consulte a página de documentação Testar a conetividade da base de dados para ver informações de resolução de problemas.

Funcionalidade do Looker com o Unity Catalog do Databricks

O Looker suporta ligações a bases de dados do Databricks com o Unity Catalog ativado. Pode especificar o nome do catálogo no campo Catálogo da janela Associação do Looker quando cria uma associação do Looker à sua base de dados ou quando edita uma associação do Looker existente a uma base de dados do Databricks.

Se a sua base de dados do Databricks estiver ativada para o Unity Catalog, pode especificar um catálogo do Databricks no campo Catálogo da ligação do Looker. Quando especifica um catálogo do Databricks, o Looker usa o catálogo nos seguintes cenários:

  • Quando gera um novo projeto do LookML a partir da sua base de dados, o Looker cria os ficheiros do projeto com base nas tabelas no catálogo configurado da sua ligação.
  • Para projetos existentes, quando usa o IDE do Looker para criar uma vista a partir de uma tabela, o Looker cria ficheiros de vista apenas a partir das tabelas no catálogo configurado da sua ligação.
  • Quando usa o SQL Runner, só pode selecionar esquemas do catálogo configurado da sua associação.

Se a sua base de dados do Databricks estiver ativada para o Unity Catalog e a ligação do Looker não tiver um valor no campo Catálogo, a maioria das funcionalidades do Looker acede a esquemas apenas do catálogo predefinido, como nos seguintes cenários:

  • Quando gera um novo projeto do LookML a partir da sua base de dados, o Looker cria os ficheiros do projeto com base nas tabelas no catálogo predefinido do Unity Catalog.
  • Para projetos existentes, quando usa o IDE do Looker para criar uma vista a partir de uma tabela, o Looker só pode criar ficheiros de vista a partir das tabelas no catálogo predefinido do Unity Catalog.
  • Quando usa o SQL Runner, só pode selecionar esquemas do catálogo predefinido do Unity Catalog.

Configurar o OAuth para ligações do Databricks

O Looker suporta o OAuth para ligações ao Databricks, o que significa que cada utilizador do Looker se autentica na base de dados e autoriza o Looker a executar consultas na base de dados com a conta de utilizador do OAuth do próprio utilizador.

O OAuth permite que os administradores da base de dados realizem as seguintes tarefas:

  • Audite que utilizadores do Looker estão a executar consultas na base de dados
  • Aplique controlos de acesso baseados em funções através de autorizações ao nível da base de dados
  • Use tokens OAuth para todos os processos e ações que acedem à base de dados, em vez de incorporar IDs e palavras-passe da base de dados em vários locais
  • Revogue a autorização de um determinado utilizador diretamente através da base de dados

Com as ligações do Databricks que usam o OAuth, os utilizadores têm de iniciar sessão novamente periodicamente quando os respetivos tokens OAuth expiram.

Tenha em atenção o seguinte para as ligações OAuth ao nível da base de dados:

  • Se um utilizador deixar o respetivo token OAuth expirar, todos os agendamentos ou alertas do Looker que o utilizador detém são afetados. Para se proteger contra esta situação, o Looker envia um email de notificação ao proprietário de cada agendamento e de cada alerta antes de o token OAuth ativo atual expirar. O Looker envia estes emails de notificação 14 dias, 7 dias e 1 dia antes de o token expirar. O utilizador pode aceder à respetiva página de utilizador do Looker para voltar a autorizar o Looker na base de dados e evitar interrupções nos respetivos agendamentos e alertas. Consulte a página de documentação Personalizar as definições da conta de utilizador para ver detalhes.
  • Uma vez que as ligações à base de dados que usam o OAuth são "por utilizador", as políticas de colocação em cache também são por utilizador e não apenas por consulta. Isto significa que, em vez de usar resultados em cache sempre que a mesma consulta é executada no período de colocação em cache, o Looker usa resultados em cache apenas se o mesmo utilizador tiver executado a mesma consulta no período de colocação em cache. Para mais informações sobre o armazenamento em cache, consulte a página de documentação Consultas de armazenamento em cache.
  • As tabelas derivadas persistentes (PDTs) não são suportadas para associações do Databricks com OAuth.
  • Quando um administrador do Looker usa o comando sudo como outro utilizador, o administrador usa o token de acesso OAuth desse utilizador. Se o token de acesso do utilizador tiver expirado, o administrador não pode criar um novo token em nome do utilizador com privilégios de superutilizador. Consulte a página de documentação Utilizadores para ver informações sobre a utilização do comando sudo.
  • Quando um utilizador inicia sessão no Databricks a partir do Looker através do OAuth, o Looker não apresenta uma caixa de diálogo de consentimento do utilizador explícita. Ao configurar o OAuth com o Looker, consente implicitamente que a sua instância do Looker aceda à sua base de dados do Databricks.
  • Para usar o OAuth para uma ligação do Databricks, tem de ter utilizadores ou principais de serviço do Databricks que possam ser usados para consultas do Looker, e tem de fornecer aos utilizadores e aos principais de serviço as autorizações do Databricks de que o Looker vai precisar para aceder às origens de dados e realizar as ações necessárias no Databricks.

Para criar uma ligação do Databricks ao Looker através do OAuth, tem de realizar estes passos gerais, que são detalhados nas secções seguintes:

  1. Ative uma aplicação OAuth personalizada no Databricks
  2. Configure a associação no Looker

Ativar uma aplicação OAuth personalizada no Databricks

Para usar o OAuth para uma ligação do Looker ao Databricks, tem de ativar o Looker como uma aplicação OAuth personalizada para a sua base de dados do Databricks seguindo estes passos:

  1. Inicie sessão na consola de contas do Databricks.
  2. Clique no ícone Definições no painel lateral.
  3. Clique no separador Associações de apps na janela Definições.
  4. No separador Associações de apps, clique em Adicionar associação.
  5. Introduza os seguintes valores na caixa de diálogo Adicionar ligação do Databricks:

    • Nome da aplicação: indique um nome descritivo, como "Integração do Looker".
    • URLs de redirecionamento: introduza o URL do Looker para onde o Databricks vai redirecionar os utilizadores após a autorização bem-sucedida, usando este formato (substitua example.looker.com pelo URL da sua instância do Looker):

      https://example.looker.com/external_oauth/redirect
      
    • Âmbitos de acesso: selecione SQL para permitir que o Looker consulte dados através de SQL.

    • Gerar um segredo do cliente: ative esta opção.

  6. Clique em Adicionar na caixa de diálogo Adicionar ligação do Databricks.

  7. Copie e armazene em segurança o ID de cliente e o segredo do cliente gerados pelo Databricks.

O registo de uma aplicação OAuth pode demorar até 30 minutos a ser processado na base de dados do Databricks. Para mais informações, consulte a documentação oficial do Databricks.

Configure a associação no Looker

Depois de configurar o Looker como uma aplicação OAuth personalizada na sua base de dados do Databricks, pode configurar uma ligação do Looker ao Databricks que use o OAuth.

  1. Na secção Administração do Looker, selecione Ligações e, de seguida, clique em Adicionar ligação.
  2. Preencha os detalhes da associação, conforme descrito na secção Criar a associação do Looker à sua base de dados desta página.
  3. Selecione a opção OAuth no campo Autenticação.
  4. Quando seleciona a opção OAuth, o Looker apresenta os campos ID de cliente OAuth e Segredo do cliente OAuth. Para estes valores, introduza o ID de cliente e o segredo do cliente gerados pelo Databricks quando ativou o Looker como uma aplicação OAuth personalizada no Databricks.
  5. Selecione o botão Testar na parte inferior da página Definições de associações para garantir que o Looker consegue estabelecer o fluxo OAuth e associar-se à sua instância do Databricks.

Suporte de funcionalidades

Para que o Looker suporte algumas funcionalidades, o dialeto da base de dados também tem de as suportar.

O Databricks suporta as seguintes funcionalidades a partir do Looker 25.14:

Funcionalidade Compatível?
Nível de apoio técnico
Suportado
Looker (Google Cloud Core)
Sim
Dados agregados simétricos
Sim
Tabelas derivadas
Sim
Tabelas derivadas SQL persistentes
Sim
Tabelas derivadas nativas persistentes
Sim
Vistas estáveis
Sim
Interrupção de consultas
Sim
Tabelas dinâmicas baseadas em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros JDBC adicionais
Sim
Sensível a maiúsculas e minúsculas
Sim
Tipo de localização
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
Não
Execução de SQL Mostrar processos
Não
Execução de SQL Describe Table
Sim
Execução de SQL Mostrar índices
Não
Execução de SQL Select 10
Sim
Contagem da execução de SQL
Sim
SQL Explain
Sim
Credenciais do OAuth 2.0
Sim
Comentários de contexto
Sim
Agrupamento de ligações
Não
Esboços HLL
Não
Notoriedade agregada
Sim
PDTs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Vistas materializadas
Não
Medidas de comparação de períodos
Não
Contagem distinta aproximada
Não