Amazon Athena

O Looker oferece suporte a conexões com o Amazon Athena, um serviço de consulta interativa 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ê só paga pelas consultas executadas.

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

Como configurar uma conexão do Amazon Athena

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 S3 contendo 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 S3 por um papel ou por 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, porque isso pode bloquear acidentalmente 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 ao banco de dados.

    • Conhecimento da localização dos dados da instância do Amazon Athena. 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:

    • Nome: especifique o nome da conexão. É assim que você vai se referir à conexão nos projetos do LookML.
    • Dialeto: selecione Amazon Athena.
    • Host e Porta: especifique o nome do host e da porta, conforme descrito na documentação do Athena sobre o formato de URL JDBC. O host precisa ser um endpoint válido da Amazon, como athena.eu-west-1.amazonaws.com, e a porta precisa permanecer em 443. Uma lista atualizada de endpoints compatíveis com 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. Outros bancos de dados podem ser acessados, mas o Looker trata esse banco de dados como padrão.
    • Nome de usuário: especifique o ID da chave de acesso da AWS.
    • Senha: especifique a chave de acesso secreta da AWS.
    • Ativar TDPs: use esse botão para ativar as tabelas derivadas persistentes (PDTs). A ativação das TDPs revela mais campos de TDP e a seção Substituições de TDP da conexão.
    • 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 suas PDTs. O caminho completo para o diretório de saída precisa ser especificado no campo Parâmetros adicionais do JDBC. Consulte a seção Como especificar o bucket do S3 para a saída dos resultados da consulta e as PDTs nesta página.
    • Número máximo de conexões do criador de TDP: especifique o número de possíveis builds de TDP simultâneas na 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 banco de dados.
    • Outros parâmetros do JDBC: especifique outros parâmetros para a conexão:
      • O parâmetro s3_staging_dir é o bucket do S3 que o Looker deve usar para a saída dos resultados da consulta e das PDTs. Consulte a seção Como especificar o 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, adicione ;UseResultsetStreaming=1 ao final dos outros parâmetros JDBC para melhorar significativamente o desempenho da extração de um conjunto de resultados grande. Esse parâmetro é definido como 0 por padrão.
      • Outros parâmetros opcionais a serem adicionados à string de conexão do JDBC.
    • SSL: ignore. Por padrão, todas as conexões com a API da AWS serão criptografadas.
    • Máximo de conexões por nó: por padrão, é definido como 5. É possível aumentar esse número em até 20 se o Looker for o principal mecanismo de consulta executado no Athena. Consulte a documentação sobre limites de serviço do Athena para mais detalhes. Consulte a página de documentação Como conectar o Looker ao banco de dados para mais informações.
    • Tempo limite do pool de conexão: especifique o tempo limite do pool de conexão. Por padrão, o tempo limite é definido como 120 segundos. Consulte a página de documentação Como conectar o Looker ao banco de dados para mais informações.
    • Pré-cache do SQL Runner: desmarque essa opção se preferir que o SQL Runner carregue informações da tabela somente quando uma tabela for selecionada. Consulte a página de documentação Como conectar o Looker ao 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 a conversão de fuso horário. Para mais informações, consulte a página de documentação Como usar configurações de fuso horário.

Para verificar se a conexão foi bem-sucedida, clique em Testar. Consulte a página de documentação Como testar a conectividade do banco de dados para informações sobre solução de problemas.

Para salvar essas configurações, clique em Conectar.

Como especificar o bucket do S3 para a saída dos resultados da consulta e TDPs

Use o campo Outros parâmetros do JDBC 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 especificar o nome do diretório de saída no bucket 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 as opções de driver JDBC para saber mais e ver uma lista de todas as opções disponíveis.

No campo Outros parâmetros do JDBC, 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 no campo Banco de dados temporário. Por exemplo, se você quiser que o Looker grave PDTs em s3://<s3-bucket>/looker_scratch, insira isso no campo Banco de dados temporário:

`looker_scratch`

Digite apenas o caminho do diretório. O Looker recebe o nome do bucket do S3 do parâmetro s3_staging_dir inserido no campo Parâmetros adicionais do JDBC.

Considerações sobre o bucket S3

É recomendável configurar os ciclos de vida de objetos do Amazon S3 para limpar periodicamente os arquivos desnecessários no bucket especificado do S3. Há motivos para isso acontecer:

  • O Athena armazena os resultados de cada consulta em um bucket do S3. Consulte Consultas do Athena.
  • Se as TDPs estiverem ativadas, quando uma TDP for criada, os metadados sobre a tabela criada serão armazenados no bucket do S3.

Recursos

Depuração

A Amazon oferece opções de drivers JDBC LogLevel e LogPath para depurar conexões. Para usá-los, adicione ;LogLevel=DEBUG;LogPath=/tmp/athena_debug.log ao final do campo Outros parâmetros do JDBC e teste a conexão novamente.

Se o Looker estiver hospedando a instância, o suporte do Looker ou seu analista vai precisar recuperar esse arquivo para continuar a depuraçã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.

O Amazon Athena é compatível com os seguintes recursos a partir do Looker 24.10:

Engenharia de Compatível?
Nível do suporte
Compatível
Looker (Google Cloud Core)
Sim
Agregações simétricas
Sim
Tabelas derivadas
Sim
Tabelas derivadas de SQL persistentes
Sim
Tabelas derivadas nativas nativas
Sim
Visualizações estáveis
Sim
Eliminação de consultas
Sim
Dinâmicas baseadas em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
No
Parâmetros adicionais do JDBC
Sim
Diferenciar maiúsculas e minúsculas
Sim
Tipo de local
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
No
Processos de exibição do SQL Runner
No
Tabela de descrição do executor do SQL
Sim
Mostrar índices do SQL Runner
No
Seleção do SQL Runner 10
Sim
Contagem de executores do SQL
Sim
Explicação do SQL
No
Credenciais OAuth
No
Comentários de contexto
Sim
Pool de conexão
No
Esboços do HLL
Sim
Agregar reconhecimento
Sim
TDPs incrementais
No
Milissegundos
Sim
Microssegundos
No
Visualizações materializadas
No
Contagem aproximada diferente
Sim

Próximas etapas

Depois de concluir a conexão do banco de dados, configure as opções de autenticação.