Nesta página, explicamos como conectar o Looker ao PrestoDB ou ao Trino.
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 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:
Dialeto: selecione PrestoDB ou Trino.
O PrestoSQL mudou de nome para Trino. Se você estiver usando uma versão do Trino anterior à 352, selecione PrestoSQL no menu de dialetos do Looker.
Host: o nome do host do banco de dados.
Porta: a porta do banco de dados. A porta padrão é 8080.
Banco de dados: o "catálogo" ou "conector", em termos do Presto.
Nome de usuário: o nome de usuário da pessoa que vai executar as consultas.
Essas informações só são enviadas ao servidor de banco de dados se o SSL estiver ativado.
Senha: a senha do usuário que vai executar consultas.
Essas informações só são enviadas ao servidor de banco de dados se o SSL estiver ativado.
Esquema: o esquema padrão a ser usado quando nenhum esquema é especificado.
Autenticação: selecione Conta de banco de dados ou OAuth:
- Use Conta do banco de dados para especificar o Nome de usuário e a Senha da conta de usuário do banco de dados que será usada para se conectar ao Looker.
- Use OAuth se quiser configurar o OAuth para a conexão.
Ativar TDPs: use essa opção para ativar as tabelas derivadas persistentes (TDPs). Isso revela outros campos de PDT e a seção Substituições de PDT da conexão.
Banco de dados temporário: o esquema para gravar PDTs. A versão 3.50 adicionou suporte a PDTs no Presto. Consulte a seção Como configurar o PrestoDB ou o Trino para PDTs nesta página para mais informações sobre como configurar o Presto para oferecer suporte a PDTs.
Parâmetros JDBC adicionais: qualquer parâmetro adicional do driver JDBC do PrestoDB, do driver JDBC do Trino ou do driver JDBC do Starburst.
SSL: marque para ativar as conexões SSL.
Verificar SSL: ignore este campo. Todas as conexões SSL vão usar o Truststore Java padrão, a menos que seja indicado o contrário com os parâmetros JDBC do PrestoDB, o driver JDBC do Trino ou o driver JDBC do Starburst. Insira esses parâmetros no campo Parâmetros JDBC adicionais.
Para verificar se a conexão foi bem-sucedida, clique em Testar. Consulte a página de documentação Testar a conectividade do banco de dados para informações sobre solução de problemas.
Para salvar essas configurações, clique em Conectar.
Para mais informações sobre as configurações de conexão, consulte a página de documentação Como conectar o Looker ao banco de dados.
Configurar o PrestoDB ou o Trino para PDTs
As TDPs não são compatíveis com conexões que usam OAuth.
O suporte a PDTs depende do conector que você está usando com o PrestoDB ou o Trino . Esta seção explica as configurações necessárias para um banco de dados temporário. Neste exemplo, presumimos que o conector usado seja hive
.
O arquivo de propriedades do catálogo do Hive precisa conter algumas propriedades de configuração, que são descritas nesta seção.
O seguinte é necessário porque o Presto armazena em cache os resultados do metastore do Hive, e o Looker precisa conseguir ver as tabelas imediatamente:
hive.metastore-cache-ttl = 0s
Essas duas propriedades são obrigatórias porque o Looker precisa poder descartar e renomear PDTs:
hive.allow-rename-table=true
hive.allow-drop-table=true
Para referência, nos nossos servidores internos de teste do Presto, usamos o seguinte arquivo hive.properties
, que é usado em todos os esquemas do Hive:
hive.s3.connect-timeout=1m
hive.s3.max-backoff-time=10m
hive.s3.max-error-retries=50
hive.metastore-cache-ttl = 0s
hive.metastore-refresh-interval = 5s
hive.s3.max-connections=500
hive.s3.max-client-retries=50
connector.name=hive-hadoop2
hive.s3.socket-timeout=2m
hive.s3.staging-directory=/mnt/tmp/
hive.s3.use-instance-credentials=true
hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml
hive.parquet.use-column-names=true
hive.allow-drop-table=true
hive.metastore.uri=thrift://<metastore-server>:9083
hive.storage-format=ORC
hive.allow-rename-table=true
Como configurar o OAuth para conexões do Trino
O Looker oferece suporte ao OAuth para conexões do Trino. Isso significa que cada usuário do Looker se autentica 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 Trino que usam o OAuth, os usuários precisam fazer login novamente periodicamente quando os tokens do OAuth 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 programações ou alertas 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 Trino 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
. - Ao fazer login no Azure AD pelo Looker usando o OAuth, o Looker não mostra uma caixa de diálogo explícita de consentimento do usuário. Ao configurar o OAuth com o Looker, você concorda implicitamente que sua instância do Looker acesse seus dados do Trino.
Como registrar um aplicativo
Para ativar o OAuth no Trino, primeiro registre um aplicativo usando um provedor de identidade compatível. O Looker só é compatível com o ID do Microsoft Entra (antigo Azure AD) para OAuth com o Trino.
Pré-requisitos
- Você precisa ter uma assinatura do Azure.
- Você precisa ter permissões administrativas no Microsoft Entra ID.
Para registrar um aplicativo, siga estas etapas:
- Acesse o portal do Azure e faça login com suas credenciais.
- Na barra de pesquisa do portal do Azure, procure "Microsoft Entra ID" e selecione o resultado.
- No serviço Microsoft Entra ID, clique em Novo registro na seção Registros de apps da categoria Gerenciar.
- Preencha o formulário de inscrição da seguinte maneira:
- Nome: forneça um nome descritivo para o aplicativo, como
Looker Trino Connection
. - Tipos de contas compatíveis: selecione a opção adequada com base em como você quer restringir o acesso. Para um caso de uso interno, selecione Somente contas neste diretório organizacional.
- URI de redirecionamento: selecione a plataforma Web e insira o URI de redirecionamento do Looker. Ele vai ficar assim:
https://YOUR_LOOKER_HOSTNAME/external_oath/redirect
.
- Nome: forneça um nome descritivo para o aplicativo, como
- Clique em Registrar.
- Reúna o ID do cliente, o ID do locatário e a chave secreta do cliente para inserir na sua conexão do Looker mais tarde.
- É possível encontrar o ID do cliente e o ID do locatário na página Visão geral.
- Se você não souber o segredo do cliente, crie um novo. Clique em Certificados e chaves secretas na seção Gerenciar e depois em Nova chave secreta do cliente.
- Clique em Expor uma API na seção Gerenciar.
- Ao lado de URI do ID do aplicativo, clique em Adicionar.
- Insira seu ID do cliente. Ele precisa estar neste formato:
api://CLIENT_ID
.
Em seguida, siga estas etapas no portal do Azure para criar um novo escopo a ser usado com o Looker:
- Clique em Adicionar um escopo na seção Escopos definidos por esta API.
Adicione um nome de escopo para o novo escopo. O Looker espera que o nome do seu escopo seja:
TrinoUsers.Read.All
.O nome
TrinoUsers.Read.All
implica permissões somente leitura, mas o nome em si não define nem aplica nenhuma permissão. Defina o escopo para permitir apenas acesso de leitura ao banco de dados.Adicione um Nome de exibição e uma Descrição.
No seletor Quem pode dar consentimento?, selecione Administradores e usuários.
Clique em Adicionar escopo.
Na seção Aplicativos cliente autorizados, clique em Adicionar um aplicativo cliente.
Insira seu ID do cliente e o escopo recém-criado.
Clique em Adicionar aplicativo.
Em seguida, para conceder ao Looker as permissões de API necessárias, siga estas etapas:
- Na seção Gerenciar, clique em Permissões da API.
- Clique em Adicionar uma permissão.
- Selecione a guia Minhas APIs na parte de cima.
- Na lista de registros de apps, selecione o que você acabou de criar, como
Looker Trino Connection
. - Marque a caixa de seleção Permissões delegadas.
- Marque a caixa de seleção TrinoUsers.Read.All.
- Selecione Adicionar permissão.
Configurar o banco de dados para usar o OAuth
Em seguida, para configurar seu banco de dados do Trino para usar o OAuth, adicione as seguintes linhas ao arquivo config.properties
do Trino. Substitua as cinco primeiras linhas de variáveis em maiúsculas pelos seus próprios valores.
YOUR_HTTPS_PORT
PATH_TO_YOUR_SSL_CERTIFICATE
YOUR_TENANT_ID
YOUR_CLIENT_ID
YOUR_SHARED_SECRET
# enable SSL for OAuth
http-server.https.enabled=true
http-server.https.port=YOUR_HTTPS_PORT
http-server.https.keystore.path=PATH_TO_YOUR_SSL_CERTIFICATE
# enable OAuth 2.0
http-server.authentication.type=oauth2
http-server.authentication.oauth2.issuer=https://sts.windows.net/YOUR_TENANT_ID/
http-server.authentication.oauth2.client-id=NA_required_but_not_used
http-server.authentication.oauth2.client-secret=NA_required_but_not_used
# turn off oidc discovery - Trino will inspect tokens locally instead
http-server.authentication.oauth2.oidc.discovery=false
# URLs that Trino requires for OAuth
http-server.authentication.oauth2.jwks-url=https://login.microsoftonline.com/common/discovery/v2.0/keys
http-server.authentication.oauth2.auth-url=NA_required_but_not_used
http-server.authentication.oauth2.token-url=NA_required_but_not_used
# add audience that matches the Azure AD's Application ID URI
http-server.authentication.oauth2.additional-audiences=api://YOUR_CLIENT_ID
# set shared-secret required for internal Trino communication when authentication is enabled, see: https://github.com/trinodb/trino/issues/12397
# can be generated with the following Linux command: openssl rand 512 | base64
internal-communication.shared-secret=YOUR_SHARED_SECRET
# optionally, allow some insecure http traffic
# http-server.authentication.allow-insecure-over-http=true
Fazer login para executar consultas
Depois que a conexão do banco de dados for configurada para usar o OAuth, os usuários vão precisar fazer login no Microsoft Entra ID antes de executar consultas. Isso inclui consultas de análises detalhadas, painéis, Looks e SQL Runner.
Os usuários também podem fazer login no Microsoft Entra ID na seção Credenciais de conexão OAuth da página Conta.
Para fazer login no Microsoft Entra ID usando o Looker:
- Clique no menu de usuários do Looker.
- Selecione Conta.
- Na página Conta, clique em Fazer login na seção Credenciais de conexão OAuth.
Essa ação vai mostrar uma caixa de diálogo de login. Insira suas credenciais do Microsoft Entra ID e selecione Fazer login para conceder ao Looker acesso à sua conta de banco de dados.
Depois de fazer login no Microsoft Entra ID pelo Looker, você pode sair ou reautorizar suas credenciais a qualquer momento na página Conta, conforme descrito na página de documentação Personalizar sua conta de usuário.
Referência
Para mais informações sobre como configurar o conector do Hive, consulte Conector do Hive do PrestoDB, Conector do Hive do Trino ou Conector do Hive do Starburst.
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 PrestoDB é 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 | Sim |
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 | Não |
Comentários de contexto | Sim |
Pooling de conexão | Não |
Esboços HLL | Sim |
Reconhecimento agregado | Sim |
TDPs incrementais | Não |
Milissegundos | Sim |
Microssegundos | Não |
Visualizações materializadas. | Não |
Medidas de comparação de períodos | Não |
Contagem aproximada aproximada | Sim |
O Trino é 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 | Não |
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 | Sim |
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 | Sim |
Reconhecimento agregado | Sim |
TDPs incrementais | Não |
Milissegundos | Sim |
Microssegundos | Não |
Visualizações materializadas. | Não |
Medidas de comparação de períodos | Não |
Contagem aproximada aproximada | Sim |
Próximas etapas
Depois de conectar seu banco de dados ao Looker, configure as opções de login para seus usuários.