Dialetos que usam estas instruções
O Looker se conecta aos seguintes bancos de dados do Impala:
- Cloudera Impala 3.1+
 - Cloudera Impala 3.1+ com driver nativo
 - Cloudera Impala com driver nativo
 
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.
Configurar o Looker para se conectar ao Cloudera Impala
O Looker se conecta a bancos de dados por uma conexão JDBC. Para bancos de dados do Impala, o Looker se conecta por padrão ao servidor que está executando o daemon impalad na porta 21050. Para mais informações, consulte a seção Configurar o Impala para trabalhar com JDBC na documentação do site da Cloudera.
Na seção Administrador do Looker, selecione Conexões e clique em Adicionar conexão.
A configuração da conexão do Looker depende da segurança usada:
- Um cluster que não usa Kerberos nem autenticação de usuário
 - Um cluster que exige autenticação LDAP
 - Um cluster protegido com Kerberos, mas que não usa o Apache Sentry
 
Como se conectar a um cluster sem Kerberos ou autenticação de usuário
Para configurar uma conexão que não usa Kerberos ou autenticação de usuário, siga estas etapas:
- Na página Configurações de conexão, deixe os campos Nome de usuário e Senha em branco. O 
*ao lado dos nomes dos campos implica que eles são obrigatórios, mas não são. - No campo Parâmetros JDBC adicionais, insira 
;auth=noSasl. 
Verificar a string de conexão
Para verificar a string de conexão JDBC nos arquivos de registro, no painel Administrador do Looker, clique em Registro no menu à esquerda. Em seguida, filtre o registro em um termo como jdbc ou noSasl. A linha do registro pode ser semelhante a esta:
jdbc connect using: jdbc:hive2://<HOSTNAME>/<DATABASE_NAME>;auth=noSasl
Para mais informações sobre como configurar bancos de dados do Impala para trabalhar com JDBC, consulte a documentação no site externo da Cloudera.
Conexão a um cluster que exige autenticação LDAP
Para um cluster que exige autenticação LDAP, incluindo um cluster com Apache Sentry e Kerberos, na página Configurações de conexão, insira um Nome de usuário e uma Senha com acesso aos esquemas que o Looker vai acessar.
Conectar-se a um cluster protegido com Kerberos, mas sem usar o Apache Sentry
A equipe de analistas do Looker pode precisar ajudar na configuração correta dessa conexão.
Normalmente, a autenticação do Kerberos com ambientes do Cloudera é processada pelo Apache Sentry. Consulte a documentação do Cloudera para mais detalhes.
Se você quiser configurar o Looker para se conectar diretamente aos bancos de dados do Impala usando a autenticação do Kerberos, siga as etapas desta página.
Como configurar o cliente do Kerberos
Primeiro, verifique se vários softwares e arquivos estão instalados na máquina do Looker.
Cliente Kerberos
Verifique se o cliente Kerberos está instalado na máquina do Looker tentando executar kinit. Se o cliente do Kerberos não estiver instalado, instale os binários dele.
Por exemplo, no Redhat/CentOS, seria:
sudo yum install krb5-workstation krb5-libs krb5-auth-dialog
Java 8
O Java 8 precisa estar instalado na máquina do Looker e nos PATH e JAVA_HOME do usuário do Looker. Se necessário, instale-o localmente no diretório looker.
Java Cryptography Extension
Faça o download e instale a Java Cryptography Extension (JCE) para Java 8 no site da Oracle.
- Localize o diretório 
jre/lib/securitypara a instalação do Java. - Remova os seguintes arquivos JAR deste diretório: 
local_policy.jareUS_export_policy.jar. - Substitua esses dois arquivos pelos arquivos JAR incluídos no download dos arquivos de política de jurisdição de força ilimitada da JCE.
 
É possível usar versões do Java anteriores ao Java 8 com a JCE instalada, mas não é recomendado.
- Localize o diretório 
 Atualize
JAVA_HOMEePATHem~looker/.bash_profilepara apontar para a instalação correta do Java esource ~/.bash_profileou saia e faça login de novo.Verifique a versão do Java com
java -version.Verifique a variável de ambiente
JAVA_HOMEcomecho $JAVA_HOME.
gss-jaas.conf
Crie um arquivo gss-jaas.conf no diretório looker com este conteúdo:
com.sun.security.jgss.initiate {
    com.sun.security.auth.module.Krb5LoginModule required
    useTicketCache=true
    doNotPrompt=true;
};
Se necessário para testes, debug=true pode ser adicionado a esse arquivo desta forma:
com.sun.security.jgss.initiate {
    com.sun.security.auth.module.Krb5LoginModule required
    useTicketCache=true
    doNotPrompt=true
    debug=true;
};
krb5.conf
O servidor que executa o Looker também precisa ter um arquivo krb5.conf válido. Por padrão, esse arquivo está em /etc/krb5.conf. Se ele estiver em outro local, isso precisa ser indicado no ambiente (KRB5_CONFIG no ambiente shell).
Talvez seja necessário copiar isso de outra máquina cliente do Kerberos.
lookerstart.cfg
Aponte para os arquivos gss-jaas.conf e krb5.conf criando um arquivo no diretório looker (o mesmo que contém o script de inicialização looker) chamado lookerstart.cfg com as seguintes linhas:
  JAVAARGS="-Djava.security.auth.login.config=/path/to/gss-jaas.conf -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.krb5.conf=/etc/krb5.conf"
  LOOKERARGS=""
Se o arquivo krb5.conf não estiver em /etc/krb5.conf, também será necessário adicionar esta variável:
  -Djava.security.krb5.conf=/path/to/krb5.conf
Para depurar, adicione estas variáveis:
  -Dsun.security.jgss.debug=true -Dsun.security.krb5.debug=true
Em seguida, reinicie o Looker com ./looker restart.
Como autenticar com o Kerberos
Autenticação do usuário
Se
krb5.confnão estiver em/etc/, use a variável de ambienteKRB5_CONFIGpara indicar o local.Execute o comando
klistpara garantir que há um tíquete válido no cache de tíquetes do Kerberos.Se não houver um tíquete, execute
kinit username@REALMoukinit usernamepara criar um.A conta usada com o Looker provavelmente será sem interface gráfica. Portanto, você pode receber um arquivo keytab do Kerberos para armazenar a credencial para uso a longo prazo. Use um comando como
kinit -k -t looker_user.keytab username@REALMpara receber o tíquete do Kerberos.
Renovação automática do tíquete
Configure um cron job que seja executado de tempos em tempos para manter um tíquete ativo no cache de tíquetes do Kerberos. A frequência de execução depende da configuração do cluster. klist precisa indicar quando os ingressos vão expirar.
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.
Preencha os detalhes da conexão da seguinte forma (consulte a página de documentação Como conectar o Looker ao seu banco de dados para mais informações):
- Nome: o nome da conexão. É assim que a conexão será referida no modelo do LookML.
 Dialeto: Cloudera Impala 3.1+, Cloudera Impala 3.1+ com driver nativo ou Cloudera Impala com driver nativo.
Host: nome do host.
Porta: porta do banco de dados (21050 por padrão).
Banco de dados: o esquema/banco de dados padrão que será modelado. Quando nenhum banco de dados é especificado para uma tabela, esse é o padrão.
Nome de usuário: deixe em branco.
Senha: deixe em branco.
Ativar TDPs: use essa opção para ativar as tabelas derivadas persistentes. Quando as TDPs estão ativadas, a janela Conexão mostra outras configurações de TDP e a seção Substituições de TDP.
Banco de dados temporário: um esquema/banco de dados temporário para armazenar PDTs. Ele precisa ser criado com antecedência.
Parâmetros JDBC adicionais: outros parâmetros para a string JDBC. Indique o principal do Kerberos aqui, por exemplo,
;principal=impala/impala.company.com@REALM. Os principais de três partes são padrão. O primeiro (impala) geralmente é o nome do serviço, e o último (REALM) geralmente é o domínio.SSL: marque para usar conexões SSL. Se o certificado SSL não for emitido por uma autoridade de certificação amplamente reconhecida e você estiver usando um certificado personalizado, será necessário:
- Copie o arquivo de certificado para o servidor do Looker. Essa opção só está disponível para implantações do Looker hospedadas pelo cliente.
 - Adicione os seguintes parâmetros ao campo Parâmetros JDBC adicionais:
 
  sslTrustStore=/path/to/your/trust_store.jks;trustStorePassword=yourpassword
Consulte a documentação do Cloudera para mais detalhes sobre como formar as strings JDBC corretas para bancos de dados do Impala.
- Fuso horário do banco de dados: o fuso horário dos dados armazenados no banco de dados. Normalmente, esse campo pode ser deixado em branco ou definido como UTC.
 
É recomendável que o nome do servidor (impala.company.com neste exemplo) seja o nome canônico do servidor e que busca DNS reversa do endereço IP resulte nesse nome. No entanto, o nome do servidor precisa ser o que está listado no controlador de domínio do Kerberos:
  nslookup servername  # get canonical server name and IP address
  nslookup ipaddress  # get the canonical name back
Às vezes, o nome do servidor é definido como o nome do host, e não o nome de domínio totalmente qualificado. Nesse caso, talvez seja necessário modificar os arquivos /etc/hosts e /etc/nsswitch.conf para garantir que as pesquisas inversas sejam resolvidas conforme o esperado.
Teste a conexão para verificar se ela está configurada corretamente.
Depuração
- Documentação da Cloudera sobre como depurar problemas de autenticação do Impala.
 - Quando você adiciona a depuração à configuração, as informações extras de depuração acabam em 
looker/logs/looker.log. 
Recursos
- Como ativar a autenticação Kerberos para o Impala (documentação da Cloudera)
 - Página do manual do kinit
 - Página do manual do klist
 - Documentação do gss-jaas.conf
 - Documentação do Krb5LoginModule
 
Permissões para PDTs
O usuário que se conecta ao esquema temporário para tabelas derivadas permanentes (PDTs) precisa ter permissões de leitura/gravação.
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.
Cloudera Impala com driver nativo
O Cloudera Impala com driver nativo oferece suporte aos seguintes recursos a partir do Looker 25.18:
| Recurso | Compatível? | 
|---|---|
| Nível de suporte | Com suporte  | 
| Looker (Google Cloud Core) | Não  | 
| Agregações simétricas | Não  | 
| Tabelas derivadas | Sim  | 
| Tabelas derivadas persistentes do 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 | Não  | 
| Parâmetros adicionais do JDBC | Sim  | 
| Diferenciação entre maiúsculas e minúsculas | Sim  | 
| Tipo de local | Sim  | 
| Tipo de lista | Não  | 
| Percentil | Não  | 
| 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 | Não  | 
| Comentários de contexto | Sim  | 
| Pooling de conexão | Não  | 
| Esboços HLL | Não  | 
| Reconhecimento agregado | Sim  | 
| TDPs incrementais | Não  | 
| Milissegundos | Sim  | 
| Microssegundos | Sim  | 
| Visualizações materializadas. | Não  | 
| Medidas de comparação de períodos | Não  | 
| Contagem aproximada aproximada | Sim  | 
Cloudera Impala 3.1+
O Cloudera Impala 3.1+ é compatível com os seguintes recursos a partir do Looker 25.18:
| 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 do 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 | Não  | 
| Parâmetros adicionais do JDBC | Sim  | 
| Diferenciação entre maiúsculas e minúsculas | Sim  | 
| Tipo de local | Sim  | 
| Tipo de lista | Não  | 
| Percentil | Não  | 
| 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 | Não  | 
| Comentários de contexto | Sim  | 
| Pooling de conexão | Não  | 
| Esboços HLL | Não  | 
| Reconhecimento agregado | Sim  | 
| TDPs incrementais | Não  | 
| Milissegundos | Sim  | 
| Microssegundos | Sim  | 
| Visualizações materializadas. | Não  | 
| Medidas de comparação de períodos | Não  | 
| Contagem aproximada aproximada | Sim  | 
Cloudera Impala 3.1+ com driver nativo
O Cloudera Impala 3.1 ou mais recente com driver nativo é compatível com os seguintes recursos a partir do Looker 25.18:
| Recurso | Compatível? | 
|---|---|
| Nível de suporte | Com suporte  | 
| Looker (Google Cloud Core) | Não  | 
| Agregações simétricas | Sim  | 
| Tabelas derivadas | Sim  | 
| Tabelas derivadas persistentes do 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 | Não  | 
| Parâmetros adicionais do JDBC | Sim  | 
| Diferenciação entre maiúsculas e minúsculas | Sim  | 
| Tipo de local | Sim  | 
| Tipo de lista | Não  | 
| Percentil | Não  | 
| 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 | Não  | 
| Comentários de contexto | Sim  | 
| Pooling de conexão | Não  | 
| Esboços HLL | Não  | 
| Reconhecimento agregado | Sim  | 
| TDPs incrementais | Não  | 
| Milissegundos | Sim  | 
| Microssegundos | Sim  | 
| 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.