O Looker oferece suporte para conexões com o Amazon Athena, um serviço de consulta interativo que facilita a análise de dados no Amazon S3 usando SQL padrão. O Amazon Athena é sem servidor, portanto, não há infraestrutura para gerenciar. Você paga somente pelas consultas que são executadas.
Nesta página, descrevemos como conectar o Looker a uma instância do Amazon Athena.
Verifique se você tem o seguinte:
- Um par de chaves de acesso da Amazon AWS.
O bucket do S3 com os dados que você quer consultar no Looker com o Amazon Athena. As chaves de acesso da Amazon AWS precisam ter acesso de leitura e gravação a esse bucket.
O Amazon Athena precisa ter acesso a esse bucket do S3 por um papel ou um conjunto de permissões, bem como por regras de firewall. Não adicione regras de segurança ao bucket do S3 para o IP do Looker, já que isso pode bloquear inadvertidamente o acesso do Amazon Athena ao bucket do S3. Para outros dialetos além do Amazon Athena, os usuários podem querer limitar o acesso aos dados da camada de rede com uma lista de permissões de IP, conforme descrito na página de documentação Como ativar o acesso seguro a banco de dados.
Saber onde os dados da instância do Amazon Athena estão localizados. O nome da região pode ser encontrado no canto superior direito do Console da Amazon.
Na seção Administrador do Looker, selecione Conexões e clique em Adicionar conexão.
Preencha os detalhes da conexão:
- Name: especifica o nome da conexão. É assim que você vai se referir à conexão em projetos LookML.
- Dialeto: selecione Amazon Athena.
- Host:Porta: especifique o nome do host e da porta. Conforme descrito na documentação do Athena sobre o formato de URL JDBC, o host deve ser um endpoint válido do Amazon (como
athena.eu-west-1.amazonaws.com
) e a porta deve permanecer em443
. Uma lista atualizada de endpoints que suportam o Athena pode ser encontrada nesta página de referência geral da AWS. - Banco de dados: especifique o banco de dados padrão que você quer modelar. É possível acessar outros bancos de dados, mas o Looker trata esse banco de dados como padrão.
- Nome de usuário: especifique o ID da chave de acesso da AWS.
- Password: especifique a chave de acesso secreta da AWS.
- Tabelas derivadas permanentes: marque para ativar as PDTs.
- Banco de dados temporário: especifique o nome do diretório de saída no bucket S3 em que você quer que o Looker grave seus PDTs. O caminho completo do diretório de saída precisa ser especificado no campo Additional Params. Consulte a seção Como especificar o bucket S3 para resultados de consulta e PDTs nesta página.
- Max PDT Builder Connections: especifica o número de possíveis builds simultâneos de PDT 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 Como conectar o Looker ao seu banco de dados.
- Parâmetros adicionais: especifique outros parâmetros para a conexão:
- O parâmetro
s3_staging_dir
é o bucket do S3 que o Looker precisa usar para a saída dos resultados da consulta e as PDTs. Consulte a seção Como especificar seu bucket do S3 para a saída dos resultados da consulta e as PDTs nesta página. - Sinalização para resultados de streaming. Se você tiver a política
athena:GetQueryResultsStream
anexada ao usuário do Athena, será possível adicionar;UseResultsetStreaming=1
ao final dos parâmetros adicionais para melhorar significativamente o desempenho da extração de grandes resultados. Esse parâmetro é definido como0
por padrão. - Parâmetros extras opcionais a serem adicionados à string de conexão JDBC.
- O parâmetro
- SSL: ignore. Por padrão, todas as conexões com a API da AWS serão criptografadas.
- Max Connections: por padrão, esse valor é definido como 5. Esse valor pode ser aumentado até 20 se o Looker for o principal mecanismo de consulta em execução no Athena. Consulte a documentação sobre limites de serviço do Athena para saber mais detalhes. Consulte a página de documentação Como conectar o Looker ao seu banco de dados para mais informações.
- Tempo limite do pool de conexões: especifique o tempo limite do pool de conexões. Por padrão, o tempo limite é definido como 120 segundos. Consulte a página de documentação Como conectar o Looker ao seu banco de dados para mais informações.
- Pré-cache do SQL Runner: desmarque essa opção se preferir que o SQL Runner carregue apenas as informações da tabela quando ela for selecionada. Consulte a página de documentação Como conectar o Looker ao seu banco de dados para mais informações.
- Fuso horário do banco de dados: especifique o fuso horário usado no banco de dados. Deixe este campo em branco se não quiser uma conversão de fuso horário. Consulte a página de documentação Usar configurações de fuso horário para mais informações.
Este guia contém mais detalhes sobre as configurações JDBC personalizadas e outras informações de configuração.
Como especificar seu bucket do S3 para a saída dos resultados da consulta e PDTs
Use o campo Parâmetros adicionais da página Conexões para configurar o caminho para o bucket do S3 que o Looker usará para armazenar a saída dos resultados da consulta e para especificar o nome do diretório de saída no bucket do S3 em que você quer que o Looker grave PDTs. Especifique essas informações usando o parâmetro s3_staging_dir
.
O parâmetro JDBC s3_staging_dir
é uma maneira alternativa de configurar a propriedade S3OutputLocation
do Amazon Athena, que é necessária para conexões JDBC do Athena. Consulte a documentação do Athena sobre opções do driver JDBC para mais informações e uma lista de todas as opções de drivers JDBC disponíveis.
No campo Parâmetros adicionais, especifique o parâmetro s3_staging_dir
usando o seguinte formato:
`s3_staging_dir=s3://<s3-bucket>/<output-path>`
Em que:
<s3-bucket>
é o nome do bucket do S3.<output-path>
é o caminho em que o Looker gravará a saída dos resultados da consulta.
O par de chaves de acesso da AWS precisa ter permissões de gravação no diretório
<s3-bucket>
.
Para configurar o diretório em que o Looker gravará PDTs, insira o caminho do diretório no bucket S3 acima no campo Temp Database.
Por exemplo, se você quiser que o Looker grave PDTs em s3://<s3-bucket>/looker_scratch
, insira isso no campo Temp Database:
`looker_scratch`
Digite apenas o caminho do diretório. O Looker recebe o nome do bucket S3 do parâmetro s3_staging_dir
que você insere no campo Parâmetros adicionais.
Considerações sobre o bucket S3
É recomendável configurar os ciclos de vida do objeto do Amazon S3 para limpar periodicamente arquivos desnecessários no bucket S3 especificado. Existem razões para isso:
- Como o Athena armazena resultados de consulta para cada consulta em um bucket do S3, consulte Consulta do Athena.
- Quando há PDTs ativados, quando um PDT é criado, os metadados sobre a tabela criada são armazenados no bucket S3.
Recursos
- Documentação da Amazon Athena
- Console do Amazon Web Services para Athena (requer um login da AWS)
- Referências do SQL da Amazon Athena e do HiveQL
Cloud Debugger
A Amazon oferece opções de driver JDBC LogLevel
e LogPath
para depuração de conexões. Para usá-los, adicione ;LogLevel=DEBUG;LogPath=/tmp/athena_debug.log
ao final do campo Outros parâmetros e teste a conexão novamente.
Se o Looker estiver hospedando a instância, o suporte do Looker ou seu analista precisará recuperar esse arquivo para continuar a depuração.
Suporte a recursos
Para que o Looker ofereça suporte a alguns recursos, seu dialeto do banco de dados também precisa aceitá-los.
Na versão mais recente do Looker, o Amazon Athena é compatível com os seguintes recursos do Looker:
Próximas etapas
Depois de concluir a conexão do banco de dados, configure as opções de autenticação.