Databricks

Como criptografar o tráfego de rede

É uma prática recomendada criptografar o tráfego de rede entre o aplicativo Looker e seu banco de dados. Considere uma das opções descritas na página de documentação Como ativar o acesso seguro ao banco de dados.

Criar um usuário do Looker

O Looker autentica no Databricks por tokens de acesso pessoal. Siga a documentação do Databricks para criar um token de acesso pessoal para um usuário do Databricks usar no Looker.

Adicione permissões a esse usuário com GRANT.

No mínimo, o usuário do Looker precisa ter as permissõ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. Ele será chamado de <YOUR_HTTP_PATH> nesta página.

Como configurar tabelas derivadas persistentes

Para usar tabelas derivadas persistentes, crie um banco de dados separado.

CREATE DATABASE <YOUR_SCRATCH_DATABASE>

Isso também vai exigir que outras permissões de usuário baseadas em gravação sejam concedidas.

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>`

Como criar a conexão do Looker com seu banco de dados

Na seção Administrador do Looker, selecione Conexões e clique em Adicionar conexão.

Preencher os detalhes de conexão. A maioria das configurações é comum à maioria dos dialetos de banco de dados. Consulte a página de documentação Como conectar o Looker ao banco de dados para mais informações. Algumas das configurações são descritas a seguir:

  • Nome: especifique o nome da conexão. É assim que você vai se referir à conexão nos projetos do LookML.
  • Dialeto: especifique o dialeto Databricks.
  • Host: especifique o URL do espaço de trabalho do Databricks. Por exemplo, dbc-xxxxxxxx.cloud.databricks.com/.
  • Porta: especifique a porta do banco de dados. O padrão é 443.
  • Banco de dados: especifique o nome do banco de dados a ser usado para consultas do Looker. O valor padrão é default.
  • Autenticação: selecione Conta do banco de dados ou OAuth:
    • Use a opção Database Account para especificar um token de acesso pessoal do Databricks que será usado para se conectar ao Looker. Consulte a seção Criar um usuário do Looker para ver instruções.
      • Em Nome de usuário, digite o valor token (não insira o e-mail do usuário do Databricks nesse campo).
      • Em Senha, insira o token de acesso pessoal do Databricks.
    • Use OAuth para configurar o OAuth para a conexão. Consulte a seção Como configurar o OAuth para conexões do Databricks para mais informações.
  • Ativar TDPs: use esse botão para ativar as tabelas derivadas persistentes. Quando as TDPs são ativadas, a janela Conexão revela outras configurações de TDP e a seção Substituições de TDP. Observação: as TDPs não são compatíveis com conexões do Databricks que usam OAuth.
  • Banco de dados temporário: insira o banco de dados que você quer usar para armazenar PDTs.
  • Número máximo de conexões do criador de TDP: especifique o número de possíveis builds de TDP simultâneas na conexão. Definir um valor muito alto pode afetar negativamente os tempos de consulta. Para mais informações, consulte a página de documentação Como conectar o Looker ao banco de dados.
  • Outros parâmetros do JDBC: inclua outros parâmetros JDBC do Spark.

  • Programação de manutenção de PDT e grupo de dados: uma expressão cron que indica quando o Looker deve verificar grupos de dados e tabelas derivadas persistentes. Leia mais sobre essa configuração na documentação Programação de manutenção de PDT e grupo de dados.

  • SSL: marque essa opção para usar conexões SSL.

  • Verificar SSL: marque essa opção para aplicar a verificação rigorosa de certificado SSL.

  • Máximo de conexões por nó: é possível manter essa configuração com o valor padrão inicialmente. Leia mais sobre essa configuração na seção Máximo de conexões por nó da página de documentação Como conectar o Looker ao banco de dados.

  • Tempo limite do pool de conexão: é possível manter essa configuração com o valor padrão inicialmente. Leia mais sobre essa configuração na seção Tempo limite do pool de conexão da página de documentação Como conectar o Looker ao banco de dados.

  • Pré-cache do SQL Runner: para fazer com que o SQL Runner não pré-carregue informações da tabela e carregue informações da tabela apenas quando uma tabela estiver selecionada, desmarque esta caixa de seleção. Saiba mais sobre essa configuração na seção Pré-cache do SQL Runner da página de documentação Como conectar o Looker ao banco de dados.

  • Fuso horário do banco de dados: especifique o fuso horário a ser usado no banco de dados. Deixe esse campo em branco se não quiser a conversão de fuso horário. Para mais informações, consulte a página de documentação Como usar configurações de fuso horário.

Clique em Testar para testar a conexão e verificar se ela está configurada corretamente. Se você vir Pode conectar, pressione Conectar. Isso vai executar os outros testes de conexão para verificar se a conta de serviço foi configurada corretamente e com os papéis adequados. Consulte a página de documentação Como testar a conectividade do banco de dados para informações sobre solução de problemas.

Funcionalidade do Looker com o Databricks Unity Catalog

Para conexões do Looker a um banco de dados do Databricks com o catálogo do Unity ativado, a maioria das funcionalidades do Looker só acessa esquemas do catálogo padrão, como nos seguintes cenários:

  • Ao gerar um novo projeto do LookML usando um esquema de banco de dados, o Looker cria os arquivos do projeto com base nas tabelas do catálogo padrão do Catálogo do Unity.
  • Para projetos atuais, ao usar o Looker IDE para criar uma visualização de uma tabela, o Looker só pode criar arquivos de visualização das tabelas no catálogo padrão do catálogo do Unity.
  • Ao usar o SQL Runner, é possível selecionar apenas esquemas do catálogo padrão do Unity Catalog.

Como configurar o OAuth para conexões do Databricks

O Looker oferece suporte ao OAuth para conexões do Databricks, o que significa que cada usuário do Looker se autentica no banco de dados e autoriza o Looker a executar consultas no banco de dados com a própria conta de usuário OAuth.

O OAuth permite que os administradores de bancos de dados executem as seguintes tarefas:

  • Auditar quais usuários do Looker estão executando consultas no banco de dados
  • Aplicar controles de acesso baseados em funções usando permissões no nível do banco de dados
  • Usar tokens OAuth para todos os processos e ações que acessam o banco de dados, em vez de incorporar IDs e senhas de bancos de dados em vários locais
  • Revogar a autorização de um determinado usuário diretamente pelo banco de dados

Com conexões do Databricks que usam OAuth, os usuários precisam fazer login novamente periodicamente quando os tokens OAuth expirarem.

Observe o seguinte para conexões OAuth no nível do banco de dados:

  • Se um usuário permitir que o token OAuth expire, as programações ou os alertas do Looker serão afetados. Para se proteger contra isso, o Looker envia um e-mail de notificação ao proprietário de cada programação e alerta antes que o token OAuth ativo atual expire. O Looker vai enviar esses e-mails de notificação 14, 7 dias e 1 dia antes do token expirar. O usuário pode acessar a página de usuário do Looker para reautorizar o Looker no banco de dados e evitar interrupções nas programações e alertas. Consulte a página de documentação Como personalizar as configurações da conta de usuário para mais detalhes.
  • Como as conexões de banco de dados que usam OAuth são "por usuário", as políticas de armazenamento em cache também são por usuário e não apenas por consulta. Isso significa que, em vez de usar resultados armazenados em cache sempre que a mesma consulta for executada no período de armazenamento em cache, o Looker usará os resultados armazenados em cache somente se o mesmo usuário tiver executado a mesma consulta nesse período. 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, na sigla em inglês) não são compatíveis com conexões do Databricks com o OAuth.
  • Quando um administrador do Looker executa o sudo como outro usuário, ele usa o token de acesso OAuth desse usuário. Se o token de acesso do usuário tiver expirado, o administrador não poderá criar um novo token em nome do usuário com o sudoed. Consulte a página de documentação Usuários para informações sobre como usar o comando sudo.
  • Quando um usuário faz login no Databricks pelo Looker usando o OAuth, o Looker não mostra uma caixa de diálogo de consentimento explícito do usuário. Ao configurar o OAuth com o Looker, você autoriza implicitamente que sua instância do Looker acesse seu banco de dados do Databricks.
  • Para usar o OAuth em uma conexão do Databricks, você precisa ter usuários ou principais de serviço do Databricks que possam ser usados para consultas do Looker e fornecer a esses usuários e principais de serviços as permissões do Databricks necessárias para o Looker acessar as fontes de dados e executar as ações necessárias no Databricks.

Para criar uma conexão do Databricks com o Looker usando OAuth, execute estas etapas gerais, que são detalhadas nas seguintes seções:

  1. Ativar um aplicativo OAuth personalizado no Databricks
  2. Configurar a conexão no Looker

Como ativar um aplicativo OAuth personalizado no Databricks

Para usar o OAuth para uma conexão do Looker com o Databricks, ative o Looker como um aplicativo OAuth personalizado para seu banco de dados do Databricks seguindo estas etapas:

  1. Faça login no console da conta do Databricks.
  2. Clique no ícone Configurações no painel lateral.
  3. Clique na guia App Connections na janela Settings.
  4. Na guia Conexões de apps, clique em Adicionar conexão.
  5. Digite os seguintes valores na caixa de diálogo Adicionar conexão do Databricks:

    • Nome do aplicativo: insira um nome descritivo, como "Integração com o Looker".
    • URLs de redirecionamento: insira o URL do Looker para onde o Databricks vai redirecionar os usuários após a autorização, usando este formato (substitua example.looker.com pelo URL da sua instância do Looker):

      https://example.looker.com/external_oauth/redirect
      
    • Escopos de acesso: selecione SQL para permitir que o Looker consulte dados pelo SQL.

    • Gerar uma chave secreta do cliente: ative esta opção.

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

  7. Copie e armazene com segurança o ID do cliente e a chave secreta do cliente que o Databricks gera.

O registro de um aplicativo OAuth pode levar até 30 minutos para ser processado no banco de dados do Databricks. Para mais informações, consulte a documentação oficial do Databricks.

Configurar a conexão no Looker

Depois de configurar o Looker como um aplicativo OAuth personalizado no banco de dados do Databricks, você pode configurar uma conexão do Looker com o Databricks que usa o OAuth.

  1. Na seção Administrador do Looker, selecione Conexões e clique em Adicionar conexão.
  2. Preencha os detalhes da conexão, conforme descrito na seção Como criar a conexão do Looker com seu banco de dados desta página.
  3. Selecione a opção OAuth no campo Autenticação.
  4. Quando você seleciona a opção OAuth, o Looker exibe os campos ID do cliente OAuth e Chave secreta do cliente OAuth. Para esses valores, digite o ID do cliente e a chave secreta do cliente que foram geradas pelo Databricks quando você ativou o Looker como um aplicativo OAuth personalizado no Databricks.
  5. Selecione o botão Test na parte inferior da página Connections Settings para garantir que o Looker possa estabelecer o fluxo OAuth e se conectar à sua instância do Databricks.

Suporte a recursos

Para que o Looker ofereça suporte a alguns recursos, o dialeto do banco de dados também precisa ser compatível com eles.

O Databricks oferece suporte aos seguintes recursos a partir do Looker 24.10:

Engenharia de Compatível?
Nível do suporte
Compatível
Looker (Google Cloud Core)
Sim
Agregações simétricas
Sim
Tabelas derivadas
Sim
Tabelas derivadas de SQL persistentes
Sim
Tabelas derivadas nativas nativas
Sim
Visualizações estáveis
Sim
Eliminação de consultas
Sim
Dinâmicas baseadas em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros adicionais do JDBC
Sim
Diferenciar maiúsculas e minúsculas
Sim
Tipo de local
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
No
Processos de exibição do SQL Runner
No
Tabela de descrição do executor do SQL
Sim
Mostrar índices do SQL Runner
No
Seleção do SQL Runner 10
Sim
Contagem de executores do SQL
Sim
Explicação do SQL
Sim
Credenciais OAuth
Sim
Comentários de contexto
Sim
Pool de conexão
No
Esboços do HLL
No
Agregar reconhecimento
Sim
TDPs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
No
Contagem aproximada diferente
No