Databricks

Como criptografar o tráfego de rede

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

Criar um usuário do Looker

O Looker é autenticado 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 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 exigirá que permissões de usuário adicionais 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 o banco de dados

Na seção Admin do Looker, selecione Connections e clique em Add Connection.

Preencha 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 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-yyyyyyyy.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 Databricks Unity Catalog para mais informações.
  • Autenticação: selecione Database Account ou OAuth:
    • Use 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 Look3} para instruções).
      • Em Username, insira o valor token (não insira o e-mail do usuário do Databricks nesse campo).
      • Em Password, 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 PDTs: Use essa opção para ativar tabelas derivadas persistentes. Quando as TDPs estão ativadas, a janela Connection revela outras configurações de TDP e a seção PDT Overrides. Observação: as TDPs não são compatíveis com conexões do Databricks que usam o OAuth.
  • Banco de Dados Temporário: insira o banco de dados que você quer usar para armazenar TDPs.
  • Max number of PDT builder connections: especifique o número de builds de TDP simultâneos possíveis nessa 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 Conectar o Looker ao banco de dados.
  • Additional JDBC parameters: adicione outros parâmetros JDBC. Consulte a seção Parâmetros JDBC aceitos nesta página para conferir a lista de parâmetros compatíveis com o Looker.

  • Maintenance Schedule: uma expressão cron que indica quando o Looker precisa verificar grupos de dados e tabelas derivadas persistentes. Saiba mais sobre essa configuração na documentação da programação de manutenção.

  • SSL: marque para usar conexões SSL.

  • Verificar SSL: marque para aplicar a verificação estrita do certificado SSL.

  • Max connections per node: você pode deixar essa configuração no valor padrão inicialmente. Saiba mais sobre essa configuração na seção Conexões máximas por nó da página de documentação Conectar o Looker ao banco de dados.

  • Connection Pool Timeout: você pode deixar essa configuração no valor padrão inicialmente. Saiba mais sobre essa configuração na seção Tempo limite do pool de conexões da página de documentação Conectar o Looker ao banco de dados.

  • SQL Runner Precache: para que o SQL Runner não pré-carregue as informações da tabela e carregue as informações da tabela somente quando uma tabela for selecionada, desmarque essa caixa de seleção. Saiba mais sobre essa configuração na seção Pré-cache do SQL Runner da página de documentação 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. Consulte a página de documentação Usar configurações de fuso horário para mais informações.

Clique em Test para testar a conexão e garantir que ela esteja configurada corretamente. Se você vir Can Connect, pressione Connect. Isso executa o restante dos 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 Testar a conectividade do banco de dados para informações sobre solução de problemas.

Funcionalidade do Looker com o Databricks Unity Catalog

O Looker oferece suporte a conexões com bancos de dados do Databricks com o Unity Catalog ativado. É possível especificar o nome do catálogo no campo Catalog da janela Connection do Looker ao criar uma conexão do Looker com o 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, você poderá especificar um catálogo do Databricks no campo Catalog da conexão do Looker. Ao especificar um catálogo do Databricks, o Looker usa o catálogo nos seguintes cenários:

  • Ao gerar um novo projeto do LookML no banco de dados, o Looker vai criar os arquivos do projeto com base nas tabelas do catálogo configurado da conexão.
  • Para projetos atuais, ao usar o Looker IDE para criar uma visualização em uma tabela, o Looker vai criar arquivos de visualização apenas nas tabelas do catálogo configurado da conexão.
  • Ao usar o SQL Runner, você só pode selecionar esquemas do catálogo configurado da 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 Catalog, 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 no banco de dados, o Looker vai criar os arquivos do projeto com base nas tabelas do catálogo padrão do Unity Catalog.
  • Para projetos atuais, ao usar o Looker IDE para criar uma visualização em uma tabela, o Looker só pode criar arquivos de visualização nas tabelas do catálogo padrão do Unity Catalog.
  • Ao usar o SQL Runner, você só pode selecionar 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 do OAuth.

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

  • Auditar quais usuários do Looker estão executando consultas no banco de dados
  • Aplicar controles de acesso baseados em papéis 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 banco de dados em vários lugares
  • Revogar a autorização de um determinado usuário diretamente pelo banco de dados

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

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

  • Se um usuário deixar o token OAuth expirar, todas as programações ou alertas do Looker que ele possuir serão afetados. Para evitar isso, o Looker vai enviar 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 dias, 7 dias 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 Looker no banco de dados e evitar interrupções nas 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 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 vai usar resultados armazenados em cache somente se o mesmo usuário tiver executado a mesma consulta no período de armazenamento 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 (TDPs) não são compatíveis com conexões do Databricks com o OAuth.
  • Quando um administrador do Looker usa o comando sudo como outro usuário, o administrador 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 sudo. Consulte a página de documentação Usuários para informações sobre como usar o sudo comando.
  • 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 a instância do Looker acesse o banco de dados do Databricks.
  • Para usar o OAuth em uma conexão do Databricks, é necessário ter usuários ou principais de serviço do Databricks que possam ser usados para consultas do Looker, e você precisa fornecer aos usuários e principais de serviço as permissões do Databricks que o Looker precisará 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, 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, é necessário ativar o Looker como um aplicativo OAuth personalizado para o banco de dados do Databricks seguindo estas etapas:

  1. Faça login no console da conta do Databricks.
  2. Clique no ícone Settings no painel lateral.
  3. Clique na guia App Connections na janela Settings.
  4. Na guia App Connections, clique em Add connection.
  5. Insira os seguintes valores na caixa de diálogo Add connection do Databricks:

    • Nome do aplicativo: forneça 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 bem-sucedida, usando este formato (substitua example.looker.com pelo URL da 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 Add na caixa de diálogo Add connection 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.

Configurar a conexão no Looker

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

  1. Na seção Admin do Looker, selecione Connections e clique em Add Connection.
  2. Preencha os detalhes da conexão, conforme descrito na seção Como criar a conexão do Looker com o banco de dados desta página.
  3. Selecione a opção OAuth no campo Authentication.
  4. Ao selecionar a opção OAuth, o Looker mostra os campos OAuth Client ID e OAuth Client Secret. Para esses valores, insira o ID do cliente e a chave secreta do cliente gerados pelo Databricks ao ativar o Looker como um aplicativo OAuth personalizado no Databricks.
  5. Selecione o botão Test na parte de baixo da página Connections Settings para garantir que o Looker possa estabelecer o fluxo OAuth e se conectar à instância do Databricks.

Parâmetros JDBC aceitos

Para o Databricks, o Looker oferece suporte aos seguintes parâmetros JDBC no campo Additional JDBC parameters da conexão. Consulte a documentação do seu banco de dados para informações sobre esses parâmetros.

  • Auth_Flow
  • AuthMech
  • catalogSchemaSwitch
  • ConnSchema
  • httpPath
  • LogLevel
  • OAuth2ClientId
  • OAuth2Secret
  • PWD
  • SocketTimeout
  • ssl
  • transportMode
  • UID
  • UserAgentEntry

Suporte a recursos

Para que o Looker ofereça suporte a alguns recursos, o dialeto do banco de dados também precisa oferecer suporte a eles.

O Databricks oferece suporte aos seguintes recursos do Looker 26.6:

Recurso Compatível?
Looker (Google Cloud Core)
Conjuntos simétricos
Tabelas derivadas
Tabelas derivadas SQL persistentes
Tabelas derivadas nativas persistentes
Visualizações estáveis
Eliminação de consultas
Tabelas dinâmicas baseadas em SQL
Fusos horários
SSL
Subtotais
Parâmetros adicionais da JDBC
Diferenciação entre maiúsculas e minúsculas
Tipo de local
Tipo de lista
Percentil
Percentil distinto
Mostrar processos do SQL Runner
Descrever tabela do SQL Runner
Mostrar índices do SQL Runner
Selecionar 10 do SQL Runner
Contagem do SQL Runner
Explicar SQL
Credenciais do OAuth 2.0
Comentários de contexto
Pooling de conexão
Esboços HLL
Reconhecimento agregado
TDPs incrementais
Milissegundos
Microssegundos
Visualizações materializadas
Medidas de comparação de períodos
Contagem aproximada aproximada
Agendas personalizadas