Amazon Athena

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.

  1. 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.

  2. Na seção Administrador do Looker, selecione Conexões e clique em Adicionar conexão.

  3. 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 em 443. 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 como 0 por padrão.
      • Parâmetros extras opcionais a serem adicionados à string de conexão JDBC.
    • 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

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.