Usar a consulta federada do Amazon Athena - Amazon Athena

Usar a consulta federada do Amazon Athena

Se você tiver dados em origens diferentes do Amazon S3, poderá usar a consulta federada do Athena para consultá-los no local ou criar pipelines para extrair os dados de várias origens e armazená-los no Amazon S3. Com a consulta federada do Athena, é possível executar consultas SQL nos dados armazenados em origens relacionais, não relacionais, de objetos e personalizadas.

O Athena usa conectores de origem dos dados operados no AWS Lambda para executar as consultas federadas. Um conector de origem dos dados é uma parte do código que converte entre sua origem dos dados de destino e o Athena. Pense em um conector como uma extensão do mecanismo de consulta do Athena. Os conectores de origem dos dados predefinidos do Athena foram desenvolvidos para origens de dados, como Amazon CloudWatch Logs, Amazon DynamoDB, Amazon DocumentDB e Amazon RDS, e para origens de dados relacionais compatíveis com JDBC, como MySQL e PostgreSQL, na licença do Apache 2.0. Também é possível usar o Athena Query Federation SDK para escrever conectores personalizados. Para escolher, configurar e implantar um conector de origem dos dados em sua conta, você pode usar os consoles do Athena e do Lambda ou o AWS Serverless Application Repository. Depois que implantar conectores de fonte de dados, o conector será associado a um catálogo que pode ser especificado nas consultas SQL. É possível combinar instruções SQL de vários catálogos e abranger várias fontes de dados com uma única consulta.

Quando uma consulta é enviada para uma origem dos dados, o Athena invoca o conector correspondente para identificar as partes das tabelas que precisam ser lidas, gerencia o paralelismo e envia os predicados de filtro. Com base no usuário que envia a consulta, os conectores podem fornecer ou restringir o acesso a elementos de dados específicos. Os conectores usam o Apache Seta como o formato para retornar dados solicitados em uma consulta, o que permite que os conectores sejam implementados em linguagens como C, C++, Java, Python e Rust. Como os conectores são processados no Lambda, eles podem ser usados para acessar os dados de qualquer origem dos dados na nuvem ou on-premises que seja acessível pelo Lambda.

Para escrever o próprio conector de origem dos dados, você pode usar o Athena Query Federation SDK para personalizar um dos conectores predefinidos disponíveis e mantidos pelo Amazon Athena. Você pode modificar uma cópia do código-fonte do repositório do GitHub e usar a ferramenta de publicação do conector para criar seu próprio pacote do AWS Serverless Application Repository.

nota

Desenvolvedores de terceiro podem ter usado o Athena Query Federation SDK para escrever conectores de origem dos dados. Para problemas de suporte ou licenciamento com esses conectores de origem dos dados, entre em contato com o provedor dos conectores. Esses conectores não foram testados nem contam com suporte da AWS.

Para obter uma lista de conectores de origem dos dados escritos e testados pelo Athena, consulte Conectores de fonte de dados disponíveis.

Para obter informações sobre como gravar o próprio conector de origem de dados, consulte Example Athena connector (Exemplo de conector do Athena) no GitHub.

Considerações e limitações

  • Versões do mecanismo: a consulta federada do Athena é permitida apenas no mecanismo Athena versão 2 e posteriores. Para obter informações sobre as versões do mecanismo do Athena, consulte Versionamento do mecanismo do Athena.

  • Visualizações: é possível criar e consultar visualizações em fontes de dados federadas. As visualizações federadas são armazenadas no AWS Glue, não na fonte de dados subjacente. Para ter mais informações, consulte Consultar visualizações federadas.

  • Operações de gravação: operações de gravação como INSERT INTO não são suportadas. Tentar fazer isso pode gerar a mensagem de erro: This operation is currently not supported for external catalogs (Atualmente, esta operação não é suportada para catálogos externos).

  • Preço: para obter informações de preço, consulte Preços do Amazon Athena.

    Driver JDBC: para usar o driver JDBC com consultas federadas ou um metastore externo do Hive, inclua MetadataRetrievalMethod=ProxyAPI na string de conexão JDBC. Para obter informações sobre o driver JDBC, consulte Conectar-se ao Amazon Athena com JDBC.

  • Secrets Manager: para usar o recurso de consulta federada do Athena com AWS Secrets Manager, você deve configurar um endpoint privado do Amazon VPC para o Secrets Manager. Para obter mais informações, consulte Criação de um endpoint privado da VPC para o Secrets Manager no Guia do usuário do AWS Secrets Manager.

Conectores de fonte de dados podem exigir acesso aos recursos a seguir para funcionar corretamente. Se você usar um conector predefinido, verifique as informações do conector para garantir que tenha configurado sua VPC corretamente. Além disso, garanta que os principais do IAM que executam consultas e criam conectores tenham os privilégios para as ações necessárias. Para ter mais informações, consulte Exemplo de políticas de permissões do IAM para permitir consulta federada do Athena.

  • Amazon S3: além de gravar os resultados das consultas no local específico do Athena no Amazon S3, os conectores de dados gravam em um bucket de vazamento no Amazon S3. São necessárias conectividade e permissões para esse local do Amazon S3.

  • Athena: as origens de dados precisam de conectividade com o Athena e vice-versa para conferir o status da consulta e evitar a verificação em excesso.

  • AWS Glue Data Catalog: conectividade e permissões serão necessárias se o conector usar o Catálogo de dados para metadados complementares ou primários.

Vídeos

Assista aos vídeos a seguir para saber mais como usar a consulta federada do Athena.

Vídeo: Analisar os resultados da consulta federada do Amazon Athena no Amazon QuickSight

O vídeo a seguir demonstra como analisar os resultados de uma consulta federada do Athena no Amazon QuickSight.

Vídeo: Game Analytics Pipeline

O vídeo a seguir mostra como implantar um pipeline de dados escalável sem servidor para ingerir, armazenar e analisar dados de telemetria de jogos e serviços usando as consultas federadas do Amazon Athena.