Databricks

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 se autentica no Databricks usando 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. Nesta página, ela será chamada de <YOUR_HTTP_PATH>.

Como configurar tabelas derivadas permanentes

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

CREATE DATABASE <YOUR_SCRATCH_DATABASE>

Isso também exige 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>`

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 para a maioria dos dialetos de banco de dados. Consulte a página de documentação Conectar o Looker ao seu 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.
  • Catálogo: para bancos de dados do Databricks com o Unity Catalog ativado, especifique o nome do catálogo a ser usado para consultas do Looker. Se você não especificar um catálogo, o Looker vai acessar apenas os esquemas do catálogo padrão. Consulte Funcionalidade do Looker com o Unity Catalog do Databricks para mais informações.
  • Autenticação: selecione Conta de banco de dados ou OAuth:
    • Use Conta do banco de dados para especificar um token de acesso pessoal do Databricks que será usado para se conectar ao Looker. Consulte as instruções na seção Criar um usuário do Looker.
      • Em Nome de usuário, insira 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 o OAuth para configurar a conexão. Consulte a seção Como configurar o OAuth para conexões do Databricks para mais informações.
  • Ativar TDPs: use essa opção para ativar as tabelas derivadas persistentes. Quando as TDPs estã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 builder da TDP: especifique o número de builds simultâneos possíveis de TDP nessa conexão. Definir esse valor muito alto pode afetar negativamente os tempos de consulta. Para mais informações, consulte a página de documentação Conectar o Looker ao seu banco de dados.
  • Parâmetros JDBC adicionais: adicione outros parâmetros JDBC do Spark.

  • Programação de manutenção: 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.

  • SSL: marque para usar conexões SSL.

  • Verificar SSL: marque para aplicar uma verificação rigorosa do certificado SSL.

  • Máximo de conexões por nó: deixe 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 Conectar o Looker ao banco de dados.

  • Tempo limite do pool de conexões: você pode deixar essa configuração com o valor padrão inicialmente. Leia mais sobre essa configuração na seção Tempo limite do pool de conexões da página de documentação Como conectar o Looker ao seu banco de dados.

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

  • Fuso horário do banco de dados: especifique o fuso horário a ser usado no banco 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 Como usar as configurações de fuso horário para mais informações.

Clique em Testar para verificar se a conexão está configurada corretamente. Se a opção Pode conectar aparecer, pressione Conectar. Isso executa o restante dos testes de conexã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 conectividade do banco de dados para informações sobre solução de problemas.

Funcionalidade do Looker com o Unity Catalog do Databricks

O Looker é compatível com conexões a bancos de dados do Databricks com o Unity Catalog ativado. Você pode especificar o nome do catálogo no campo Catálogo da janela Conexão do Looker ao criar uma conexão do Looker com seu banco de dados ou ao editar uma conexão do Looker com um banco de dados do Databricks.

Se o banco de dados do Databricks estiver ativado para o Unity Catalog, especifique um catálogo do Databricks no campo Catálogo da conexão do Looker. Quando você especifica um catálogo do Databricks, o Looker usa o catálogo nos seguintes cenários:

  • Ao gerar um novo projeto do LookML do seu banco de dados, o Looker cria os arquivos do projeto com base nas tabelas do catálogo configurado da sua conexão.
  • Para projetos atuais, ao usar o IDE do Looker para criar uma visualização de uma tabela, o Looker vai criar arquivos de visualização apenas das tabelas no catálogo configurado da sua conexão.
  • Ao usar o SQL Runner, é possível selecionar apenas esquemas do catálogo configurado da sua conexão.

Se o banco de dados do Databricks estiver ativado para o Unity Catalog e a conexão do Looker não tiver um valor no campo Catálogo, a maioria das funcionalidades do Looker vai acessar esquemas apenas do catálogo padrão, como nos seguintes cenários:

  • Ao gerar um novo projeto do LookML do seu banco de dados, o Looker cria os arquivos do projeto com base nas tabelas do catálogo padrão do Unity Catalog.
  • Para projetos atuais, ao usar a IDE do Looker 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 Unity Catalog.
  • Ao usar o SQL Runner, só é possível selecionar esquemas do catálogo padrão do Unity Catalog.

Configurar o OAuth para conexões do Databricks

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

Com o OAuth, os administradores de banco de dados podem realizar as seguintes tarefas:

  • Auditar quais usuários do Looker estão executando consultas no banco de dados
  • Impor controles de acesso baseados em papéis usando permissões no nível do banco de dados
  • Use tokens OAuth em todos os processos e ações que acessam o banco de dados, em vez de incorporar IDs e senhas do banco de dados em vários lugares.
  • Revogar a autorização de um determinado usuário diretamente no banco de dados

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

Observações sobre conexões OAuth no nível do banco de dados:

  • Se um usuário deixar o token do OAuth expirar, todos os alertas e programações do Looker de propriedade dele serão afetados. Para evitar 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 e 1 dia antes da expiração do token. O usuário pode acessar a página de usuário do Looker para reautorizar o acesso ao banco de dados e evitar interrupções nos programações e alertas. Consulte a página de documentação Personalizar as configurações da conta de usuário para mais detalhes.
  • Como as conexões de banco de dados que usam o OAuth são "por usuário", as políticas de cache também são por usuário, e não apenas por consulta. Isso significa que, em vez de usar resultados em cache sempre que a mesma consulta for executada dentro do período de armazenamento em cache, o Looker usará resultados em cache apenas se o mesmo usuário tiver executado a mesma consulta dentro do período de armazenamento em cache. Para mais informações sobre o armazenamento em cache, consulte a página de documentação Armazenar consultas em cache.
  • Tabelas derivadas persistentes (PDTs) não são compatíveis com conexões do Databricks com OAuth.
  • Quando um administrador do Looker usa o comando 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 sudo. 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ê consente 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. Além disso, é necessário conceder aos usuários e principais de serviço as permissões do Databricks que o Looker precisa para acessar as fontes de dados e realizar as ações necessárias no Databricks.

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

  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 em uma conexão do Looker com o Databricks, siga estas etapas e ative o Looker como um aplicativo OAuth personalizado para seu banco de dados do Databricks:

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

    • Nome do aplicativo: insira um nome descritivo, como "Integração do Looker".
    • URLs de redirecionamento: insira o URL do Looker para onde o Databricks vai redirecionar os usuários após a autorização. Use 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 usando SQL.

    • Gerar uma chave secreta do cliente: ative essa 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 gerados pelo Databricks.

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 (em inglês).

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. Ao selecionar a opção OAuth, o Looker mostra os campos ID do cliente OAuth e Chave secreta do cliente OAuth. Para esses valores, insira o ID do cliente e a Chave secreta do cliente gerados pelo Databricks quando você ativou o Looker como um aplicativo OAuth personalizado no Databricks.
  5. Selecione o botão Testar na parte de baixo da página Configurações de conexões para garantir que o Looker possa estabelecer o fluxo do 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 é compatível com os seguintes recursos a partir do Looker 25.10:

Recurso Compatível?
Nível de suporte
Com suporte
Looker (Google Cloud Core)
Sim
Agregações simétricas
Sim
Tabelas derivadas
Sim
Tabelas derivadas persistentes com base em SQL
Sim
Tabelas derivadas nativas persistentes
Sim
Visualizações 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 adicionais do JDBC
Sim
Diferenciação entre maiúsculas e minúsculas
Sim
Tipo de local
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
Não
Mostrar processos do SQL Runner
Não
Descrever tabela do SQL Runner
Sim
Mostrar índices do SQL Runner
Não
Selecionar 10 no SQL Runner
Sim
Contagem do SQL Runner
Sim
Explicação do SQL
Sim
Credenciais do OAuth 2.0
Sim
Comentários de contexto
Sim
Pooling de conexão
Não
Esboços HLL
Não
Reconhecimento agregado
Sim
TDPs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas.
Não
Medidas de comparação de períodos
Não
Contagem aproximada aproximada
Não