- Análises›
- Amazon Athena›
- Perguntas frequentes
Perguntas frequentes sobre o Amazon Athena
Tópicos da página
GeralGeral
O que é o Amazon Athena?
O Athena é um serviço de análise interativa que simplifica a análise de dados no Amazon Simple Storage Service (S3) usando SQL. O Athena não usa servidor, de forma que não existe uma infraestrutura para configurar ou gerenciar. É possível começar a analisar os dados imediatamente. Não é necessário nem mesmo carregar dados no Athena. Ele trabalha diretamente com os dados armazenados no Amazon S3. O Amazon Athena para SQL usa Trino e Presto, com suporte completo a SQL padrão, e funciona com diversos formatos de dados padrão, como CSV, JSON, Apache ORC, Apache Parquet e Apache Avro. O Athena para Apache Spark é compatível com SQL e permite usar o Apache Spark, um sistema de processamento distribuído de código aberto utilizado para workloads de big data. Para começar a usá-lo, faça login no Console de Gerenciamento do Athena e comece a interagir com os dados usando o editor de consultas ou os cadernos.
O que posso fazer com o Athena?
Com o Athena, você pode analisar dados armazenados no S3 e em 30 fontes de dados diferentes, incluindo fontes de dados on-premises ou outros sistemas de nuvem. É possível usar o Athena para executar análises interativas usando SQL ANSI ou Python sem a necessidade de agregar ou carregar os dados no Athena. O Athena pode processar conjuntos de dados estruturados, semiestruturados e não estruturados. Alguns exemplos são os formatos de dados CSV, JSON e Avro, além dos formatos de dados colunares, como Parquet e ORC. O Amazon Athena for SQL se integra ao Amazon QuickSight para visualização de dados ou criação de painéis. Você também pode usar o Athena para gerar relatórios ou explorar dados com ferramentas de business intelligence ou clientes SQL conectados por meio de um driver ODBC ou JDBC.
Como faço para começar a usar o Athena?
Faça login no Console de Gerenciamento da AWS para o Athena e crie seu esquema escrevendo instruções Data Definition Language (DDL) no console ou usando um assistente de criação de tabelas. Depois, você pode começar a consultar dados usando um editor de consultas incorporado. O Athena consulta dados diretamente pelo Amazon S3, para que nenhum carregamento seja necessário.
Amazon Athena for SQL
Como faço para acessar o Athena?
Qual é a tecnologia por trás do Athena for SQL?
O Athena for SQL usa o Trino com suporte completo a SQL padrão, e funciona com diversos formatos de dados padrão, como CSV, JSON, ORC, Avro e Parquet. O Athena consegue lidar com análises complexas, inclusive grandes associações, funções de janela e matrizes. Com o mecanismo SQL do Amazon Athena versão 3 criado no Trino, continuamos a aumentar a performance e a fornecer novos recursos, semelhante à nossa abordagem no mecanismo do Amazon Athena versão 2 criado no Presto. Um dos aspectos mais empolgantes da v3 é sua nova abordagem de integração contínua para gerenciamento de software de código aberto, que manterá os clientes atualizados com os projetos Trino e PrestoDB. Nosso objetivo é ficar entre 60 e 90 dias após o lançamento do Trino com código aberto. A equipe de desenvolvimento do Athena está contribuindo ativamente com correções de bugs e aprimoramentos de segurança, escalabilidade, performance e recursos para essas bases de código aberto. O objetivo é que qualquer pessoa que use o Trino, o Presto e o Apache Iceberg possa se beneficiar das contribuições da equipe.
Como o Athena for SQL armazena definições e esquemas de tabela?
O Athena for SQL usa um Catálogo de Dados do AWS Glue gerenciado para armazenar informações e esquemas sobre os bancos de dados e as tabelas que você cria para os dados armazenados no S3. Nas regiões em que o AWS Glue está disponível, você pode fazer upgrade para usar o Catálogo de Dados com o Athena. Nas regiões em que o AWS Glue não está disponível, o Athena usa um catálogo interno.
Você pode modificar o catálogo usando instruções DDL ou pelo Console de Gerenciamento da AWS. Todos os esquemas que você definir serão automaticamente salvos, a menos que você explicitamente os exclua. O Athena usa a tecnologia esquema na leitura, o que significa que suas definições de tabela serão aplicadas aos dados no S3 quando as consultas estiverem sendo executadas. Não é necessário carregar nem transformar dados. Você pode excluir as definições de tabela e o esquema sem afetar os dados subjacentes armazenados no S3.
Por que devo fazer upgrade para o Catálogo de Dados?
O AWS Glue é um serviço totalmente gerenciado de extração, transformação e carregamento (ETL). O AWS Glue tem três componentes principais: 1) um crawler que automaticamente verifica fontes de dados, identifica formatos de dados e infere esquemas, 2) um serviço totalmente gerenciado de ETL que permite transformar e migrar dados para vários destinos e 3) um Catálogo de Dados que armazena informações de metadados sobre tabelas e bancos de dados armazenados no S3 ou em um datastore compatível com ODBC ou JDBC. Para aproveitar os benefícios do AWS Glue, faça upgrade, deixando de usar o catálogo interno de dados do Athena e adotando o Catálogo de Dados do Glue.
Os benefícios do upgrade para o Catálogo de Dados são:
- Repositório de metadados unificado: o AWS Glue é integrado a vários serviços da AWS. O AWS Glue aceita dados armazenados no Amazon Aurora, no Amazon Relational Database Service (RDS) for MySQL, no Amazon RDS para PostgreSQL, no Amazon Redshift e no S3, bem como nos bancos de dados MySQL e PostgreSQL da Virtual Private Cloud (Amazon VPC) em execução no Amazon Elastic Compute Cloud (EC2). O AWS Glue disponibiliza integração pronta para uso com os serviços Amazon Athena, Amazon EMR e Amazon Redshift Spectrum e com aplicações compatíveis com o metastore do Apache Hive.
- Reconhecimento automático de esquema e partição: o AWS Glue faz automaticamente crawling de fontes de dados, identifica formatos de dados e sugere esquemas e transformações. Os crawlers podem ajudar a automatizar a criação de tabelas e o carregamento automático de partições.
Para saber mais sobre o Catálogo de Dados, acesse a página da Web AWS Glue.
Há algum processo detalhado sobre o upgrade para o Catálogo de Dados?
Sim. Para ver o processo detalhado, leia o Guia do usuário do Amazon Athena: Integration with AWS Glue (Integração com o AWS Glue).
Em quais regiões o Athena está disponível?
Para ver os detalhes da disponibilidade do serviço Athena por região, consulte a Lista de serviços regionais da AWS.
Quais são os limites do serviço associados ao Athena?
Para saber mais sobre os limites do serviço, leia o Guia do usuário do Amazon Athena: Service Quotas.
Criação de tabelas, formatos de dados e partições
Como faço para criar tabelas e esquema para meus dados no S3?
O Athena usa a DDL do Apache Hive para definir tabelas. Você pode executar instruções DDL por meio do console do Athena, de um driver ODBC ou JDBC, da API ou do assistente de criação de tabelas do Athena. Se você usa o Catálogo de Dados com o Athena, também pode usar os crawlers do AWS Glue para inferir automaticamente esquemas e partições. Um crawler do AWS Glue se conecta a um datastore, analisa uma lista priorizada de classificadores para extrair o esquema dos dados e de outras estatísticas e, por fim, preenche o Catálogo de Dados com os metadados obtidos. Os crawlers podem ser executados periodicamente para detectar a disponibilidade de novos dados, bem como alterações feitas nos dados atuais, inclusive alterações de definição de tabela. Os crawlers adicionam automaticamente novas tabelas, novas partições para tabelas atuais e novas versões de definições de tabela. É possível personalizar os crawlers do AWS Glue para classificar seus próprios tipos de arquivos.
Quando você cria um esquema de tabela no Athena, ele é armazenado no Catálogo de Dados e usado ao realizar consultas, mas não modifica os dados no S3. O Athena usa uma abordagem conhecida como esquema na leitura, que permite projetar o esquema nos dados ao realizar uma consulta. Isso elimina a necessidade de carregar ou transformar dados. Saiba mais sobre criação de tabelas.
Que formatos de dados o Athena aceita?
O Athena é compatível com vários formatos de dados, como CSV, TSV, JSON ou Textfiles, e com formatos colunares de código aberto, como ORC e Parquet. Ele também é compatível com dados compactados em formato Snappy, Zlib, LZO e GZIP. Você pode melhorar a performance e reduzir os custos compactando, particionando e usando formatos colunares.
Quais tipos de dados o Athena aceita?
O Athena é compatível com tipos de dados simples, como INTEGER, DOUBLE, VARCHAR, e com tipos de dados complexos, como MAPS, ARRAY e STRUCT.
Posso realizar uma consulta Hive no Athena?
O Athena só usa o Hive para DDL e criação/modificação e exclusão de tabelas ou partições. Para ver a lista completa de instruções aceitas, leia o Guia do usuário do Amazon Athena: DDL statements (Instruções DDL). O Athena usa o Trino e o Presto para realizar consultas SQL no S3. Você pode executar instruções SELECT de SQL compatíveis com ANSI para consultar seus dados no S3.
O que é SerDe?
SerDe é a sigla de Serializer/Deserializer (serializador/desserializador), que são bibliotecas que dizem ao Hive como interpretar formatos de dados. As instruções DDL do Hive exigem que você especifique um SerDe, de forma que o sistema saiba como interpretar os dados para os quais você está apontando. O Athena usa SerDes para interpretar os dados lidos pelo S3. O conceito de SerDes no Athena é o mesmo que o conceito usado no Hive. O Amazon Athena é compatível com os seguintes SerDes:
- Logs do Apache Web: "org.apache.hadoop.hive.serde2.RegexSerDe"
- CSV: "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
- TSV: "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
- Delimitadores personalizados: "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
- Parquet: "org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe"
- Orc: "org.apache.hadoop.hive.ql.io.orc.OrcSerde"
- JSON: “org.apache.hive.hcatalog.data.JsonSerDe” ou "org.openx.data.jsonserde.JsonSerDe"
Como faço para adicionar meu próprio SerDe ao Athena?
Atualmente, não é possível adicionar seu próprio SerDe ao Athena. Como valorizamos seu feedback, se houver algum SerDe que você gostaria de adicionar, entre em contato com a equipe do Athena pelo endereço [email protected].
Se eu criar arquivos Parquet/ORC usando Spark/Hive, poderei consultá-los no Athena?
Sim, arquivos Parquet e ORC criados com Spark podem ser lidos no Athena.
Se eu tenho dados do Amazon Kinesis Data Firehose, como faço para consultá-los usando o Athena?
Se os dados do Kinesis Data Firehose estiverem armazenados no S3, você poderá consultá-los usando o Athena. Basta criar um esquema para os dados no Athena e iniciar a consulta. Recomendamos que você organize os dados em partições para otimizar a performance. Você pode adicionar partições criadas pelo Data Firehose usando instruções DDL ALTER TABLE. Saiba mais sobre particionamento de dados.
O Athena permite particionar dados?
Sim. Você pode particionar seus dados em qualquer coluna com o Athena. As partições permitem limitar a quantidade de dados lidos a cada consulta, economizando custos e acelerando a performance. Você pode especificar o esquema de particionamento usando a cláusula PARTITIONED BY na instrução CREATE TABLE. O Amazon Athena oferece suporte a índices de partição do Catálogo de Dados do AWS Glue para otimizar o planejamento de consultas e reduzir o runtime de consultas. Quando você consulta uma tabela contendo um grande número de partições, o Athena recupera as partições disponíveis do Catálogo de Dados do AWS Glue e determina quais delas são exigidas pela sua consulta. À medida que novas partições são adicionadas, o tempo necessário para recuperar as partições aumenta e pode fazer com que o tempo de execução da consulta aumente. O Catálogo de Dados do AWS Glue permite que os clientes criem índices de partição que reduzem o tempo necessário para recuperar e filtrar metadados de partições em tabelas com dezenas e centenas de milhares de partições.
Como faço para adicionar novos dados a uma tabela no Athena?
Se os seus dados forem particionados, você precisará realizar uma consulta de metadados (ALTER TABLE ADD PARTITION) para adicionar a partição ao Athena depois que novos dados forem disponibilizados no S3. Se eles não estiverem particionados, a simples adição de novos dados (ou arquivos) ao prefixo existente adicionará automaticamente os dados ao Athena. Saiba mais sobre particionamento de dados.
Caso eu já tenha um grande volume de dados de log no S3, posso usar o Athena para consultá-los?
Sim, o Athena simplifica a realização de consultas SQL padrão nos dados de log existentes. O Athena consulta os dados diretamente pelo Amazon S3, então não é necessário mover nem carregar dados. Basta definir seu esquema usando instruções DDL e iniciar imediatamente a consulta dos dados.
Consultas, formatos de dados e multinuvem
Que tipos de consulta o Athena permite fazer?
O Athena oferece suporte a consultas SQL ANSI. O Athena usa o Trino, um mecanismo SQL distribuído na memória e de código aberto, e é capaz de lidar com análises complexas, inclusive grandes junções, funções de janela e arrays.
Posso usar o QuickSight com o Athena?
Sim. O Athena se integra ao QuickSight, então você pode visualizar os dados armazenados no S3 sem problema.
O Athena é compatível com outras ferramentas de business intelligence (BI) e outros clientes SQL?
Como faço para acessar as funções compatíveis com o Athena?
Saiba mais sobre as funções compatíveis com o Athena.
Como faço para melhorar a performance da minha consulta?
Você pode melhorar a performance da sua consulta compactando, particionando ou convertendo os dados em formatos colunares. O Athena aceita formatos de dados colunares de código aberto, como Parquet e ORC. A conversão dos dados em um formato compactado e colunar diminui o custo e melhora a performance da consulta permitindo que o Athena examine menos dados do S3 ao realizar a consulta.
O Athena é compatível com funções definidas pelo usuário (UDFs)?
Sim. O Athena é compatível com UDFs, então você pode escrever funções escalares personalizadas e chamá-las em consultas SQL. Embora o Athena tenha funções internas, as UDFs ajudam a realizar um processamento personalizado, como compactar e descompactar dados, eliminar dados sigilosos ou aplicar descriptografia personalizada.
Você pode escrever suas UDFs em Java usando o SDK Athena Query Federation. Quando uma UDF é usada em uma consulta SQL enviada ao Athena, ela é chamada e executada no AWS Lambda. As UDFs podem ser usadas nas cláusulas SELECT e FILTER de uma consulta SQL. Você pode chamar várias UDFs na mesma consulta.
Qual é a experiência do usuário durante a escrita de uma UDF?
Você pode usar o SDK Athena Query Federation para escrever sua UDF. Veja alguns exemplos de UDF. Você pode carregar sua função no Lambda e depois chamá-la na sua consulta do Athena. Para saber como fazer isso, consulte o Guia do usuário do Amazon Athena: Creating and deploying a UDF using Lambda (Criar e implantar uma UDF usando o Lambda).
O Athena chamará a sua UDF em um lote de linhas do conjunto de dados para aprimorar a performance.
O Athena oferece suporte à análise multinuvem?
Sim, o Athena oferece vários conectores de fonte de dados que você pode usar para analisar dados em outros provedores de serviços de nuvem e outros serviços de armazenamento em nuvem sem mover ou transformar os dados. Os conectores de fonte de dados estão disponíveis para 30 fontes de dados, incluindo Azure Synapse, Azure Data Lake Storage, Google BigQuery e Google Cloud Storage. Saiba mais sobre as soluções da AWS para ambientes híbridos e multinuvem.
Consulta federada
O que é uma consulta federada?
Se você tiver dados em fontes diferentes do S3, poderá usar o Athena para consultar os dados no local ou criar pipelines que extraem dados de várias fontes de dados e os armazenam no S3. Com o Athena Federated Query, você pode realizar consultas SQL em dados armazenados em fontes de dados relacionais, não relacionais, de objetos e personalizadas.
Por que devo usar consultas federadas no Athena?
As organizações geralmente armazenam dados em uma fonte de dados que atende às necessidades de suas aplicações ou processos de negócios. Alguns exemplos são bancos de dados relacionais, de chave-valor, de documento, na memória, de pesquisa, de grafos, de séries temporais e ledger para armazenar dados em um data lake do S3. A realização de análises em fontes tão diversas pode ser complexa e demorada, porque normalmente requer aprender novas linguagens de programação ou estruturas de banco de dados e criar pipelines complexos para extrair, transformar e duplicar dados antes que possam ser usados para análise. O Athena reduz essa complexidade permitindo realizar consultas SQL nos dados onde estão. Você pode usar estruturas SQL conhecidas para consultar dados em várias fontes de dados para uma análise rápida ou usar consultas SQL agendadas para extrair e transformar dados de várias fontes de dados e armazená-los no S3 para análises adicionais.
Quais fontes de dados são aceitas?
O Athena fornece conectores integrados para 30 armazenamentos de dados populares da AWS, on-premises e outros armazenamentos de dados na nuvem, incluindo Amazon Redshift, Amazon DynamoDB, Google BigQuery, Google Cloud Storage, Azure Synapse, Azure Data Lake Storage, Snowflake e SAP Hana. Você pode usar esses conectores para habilitar casos de uso de análise SQL em estruturados, semiestruturados, objetos, gráficos, séries temporais e outros tipos de armazenamento de dados. Para obter uma lista de fontes compatíveis, consulte Usar conectores de fonte de dados do Athena.
Você também pode usar o SDK do conector de dados do Athena para criar um conector de fonte de dados personalizado e consultá-lo com o Athena. Comece lendo a documentação e conferindo o exemplo de implementação do conector.
Quais casos de uso a consulta federada permite?
Com o Athena, você pode usar seu conhecimento existente sobre SQL para extrair insights de várias fontes de dados sem aprender uma nova linguagem, desenvolver scripts para extrair (e duplicar) dados nem gerenciar infraestrutura. Usando o Amazon Athena, você pode realizar as seguintes tarefas:
- Realizar análises sob demanda em dados espalhados por vários datastores usando uma única ferramenta e dialeto SQL.
- Visualizar dados em aplicações de BI que enviam junções complexas e de várias fontes para o mecanismo de computação distribuída do Athena por meio de interfaces ODBC e JDBC.
- Projetar pipelines de ETL de autoatendimento e fluxos de trabalho de processamento de dados baseados em eventos com a integração do Athena ao AWS Step Functions.
- Unificar diversas fontes de dados para criar recursos de entrada avançados para fluxos de trabalho de treinamento de modelos de ML.
- Desenvolver aplicações de dados como um produto voltadas para o usuário que apresentam insights em arquiteturas de malha de dados.
- Possibilitar casos de uso de análise enquanto sua organização migra fontes on-premises para a AWS.
Posso usar a consulta federada para ETL?
O Athena salva os resultados da consulta em um arquivo no S3. Por isso, você pode usar o Athena para disponibilizar dados federados para outros usuários e aplicações. Se você deseja realizar análises nos dados usando o Athena sem consultar repetidamente a fonte subjacente, use a função CREATE TABLE AS do Athena. Você também pode usar a função UNLOAD do Athena para consultar os dados e armazenar os resultados em um formato de arquivo específico no S3
Como funcionam os conectores de fonte de dados?
Um conector de fonte de dados é um trecho de código executado no Lambda que faz a tradução entre sua fonte de dados de destino e o Athena. Quando usar um conector de fonte de dados para registrar um datastore no Athena, você poderá realizar consultas SQL em datastores federados. Quando uma consulta é realizada em uma fonte federada, o Athena chama a função do Lambda e a encarrega de executar as partes da consulta que são específicas à fonte federada. Para saber mais, consulte o Guia do usuário do Amazon Athena: Usar o Amazon Athena Federated Query.
Machine learning
Quais casos de uso o Athena permite para ML incorporado?
Os casos de uso do Athena para ML abrangem diferentes setores, como nos exemplos a seguir. Os analistas de dados de risco financeiro podem executar análises hipotéticas e simulações de Monte Carlo. Os analistas de negócios podem executar modelos de regressão linear ou de previsão para prever valores futuros que os ajudam a criar painéis de negócios mais sofisticados e prospectivos que preveem receitas. Os analistas de marketing podem usar modelos de clustering de k-means para ajudar a determinar seus diferentes segmentos de clientes. Os analistas de segurança podem usar modelos de regressão logística para encontrar anomalias e detectar incidentes de segurança de logs.
Quais modelos de ML podem ser usados com o Athena?
O Athena pode invocar qualquer modelo de ML implantado no SageMaker. Você tem a flexibilidade de treinar seu próprio modelo usando seus dados proprietários ou usar um modelo pré-treinado e implantado no SageMaker. Por exemplo, a análise de cluster provavelmente seria treinada com seus próprios dados, pois você deseja categorizar novos registros nas mesmas categorias usadas nos registros anteriores. Já para prever eventos esportivos reais, você poderia usar um modelo disponível ao público, pois os dados de treinamento usados já seriam de domínio público. As previsões específicas do domínio ou do setor geralmente serão treinadas com seus próprios dados no SageMaker, e as necessidades indiferenciadas de ML poderão usar modelos externos.
Posso treinar meu modelo de ML usando o Athena?
Você não pode treinar e implantar seus modelos de ML no SageMaker usando o Athena. Você pode treinar seu modelo de ML ou usar um modelo pré-treinado existente que é implantado no SageMaker usando o Athena. Leia a documentação que detalha as etapas de treinamento no SageMaker.
Posso executar inferência em modelos implantados em outros serviços, como o Comprehend, Forecasting ou Models, implantados em meu próprio cluster do EC2?
O Athena oferece suporte apenas à invocação de modelos ML implantados no SageMaker. Agradecemos o feedback sobre outros serviços que você deseja usar com o Athena. Envie seu feedback para: [email protected].
Quais são as implicações de performance do uso de consultas do Athena para inferência do SageMaker?
Melhorias de performance operacional estão sendo constantemente adicionadas aos nossos recursos e serviços. Para aprimorar a performance de suas consultas de ML do Athena, lotes de linhas são criados ao invocar seu modelo de ML do SageMaker para inferência. No momento, substituições de tamanho de lote de linhas fornecidas pelo usuário não são permitidas.
Quais recursos o ML do Athena oferece?
O Athena oferece recursos de inferência (previsão) de ML envolvidos por uma interface SQL. Você também pode chamar uma UDF do Athena para invocar a lógica de pré ou pós-processamento no seu conjunto de resultados. As entradas podem incluir qualquer coluna, registro ou tabela e várias chamadas podem ser agrupadas em lote para maior escalabilidade. Você pode executar a inferência na fase Selecionar ou na fase Filtrar. Para saber mais, consulte o Guia do usuário do Amazon Athena: Usar machine learning (ML) com o Amazon Athena.
Quais modelos de ML posso usar?
O SageMaker é compatível com vários algoritmos de ML. Você também pode criar seu modelo de ML proprietário e implantá-lo no SageMaker. Por exemplo, a análise de cluster provavelmente seria treinada com seus próprios dados, pois você deseja categorizar novos registros nas mesmas categorias usadas nos registros anteriores. Já para prever eventos esportivos reais, você poderia usar um modelo disponível ao público, pois os dados de treinamento usados seriam de domínio público.
Esperamos que as previsões específicas do domínio ou do setor geralmente serão treinadas com seus próprios dados no SageMaker, e as necessidades indiferenciadas de ML como tradução automática poderão usar modelos externos.
Segurança e disponibilidade
Como controlo o acesso aos meus dados?
O Amazon Athena oferece suporte ao controle de acesso detalhado com o AWS Lake Formation. Com o AWS Lake Formation, é possível gerenciar de forma centralizada permissões e controle de acesso a recursos de catálogo de dados em um data lake do S3. Você pode aplicar políticas de controle de acesso detalhadas em consultas do Athena que usam dados armazenados em qualquer formato de arquivo compatível, usando formatos de tabelas como Apache Iceberg, Apache Hudi e Apache Hive. Você tem a flexibilidade de escolher o formato de tabela e arquivo mais adequado ao caso de uso e conta com o benefício da governança de dados centralizada para proteger o acesso aos dados quando usa o Athena. Por exemplo, você pode usar o formato de tabelas do Iceberg para armazenar dados em um data lake do S3 e conseguir transações de gravação confiáveis em grande escala, em conjunto com filtros de segurança por linha no Lake Formation para que analistas de dados residentes em países diferentes tenham acesso apenas aos dados dos clientes de seu próprio país para cumprir requisitos regulatórios. O novo suporte ampliado aos formatos de tabelas e arquivos não precisa de nenhuma mudança na forma como você configura políticas de controle de acesso detalhadas no Lake Formation e exige a versão 3 do mecanismo do Athena, que oferece novos atributos e melhor performance de consultas. O Athena também permite controlar o acesso aos seus dados usando políticas do AWS Identity and Access Management (IAM), listas de controle de acesso (ACLs) e políticas de bucket do S3. Com as políticas do IAM, você pode conceder aos usuários do IAM controle fino aos buckets do S3. Ao controlar o acesso aos dados no S3, você pode restringir quais usuários podem fazer consultas usando o Athena.
O Athena pode consultar dados criptografados no S3?
Sim, você pode consultar dados criptografados usando a criptografia do lado do servidor (SSE) com chaves de criptografia gerenciadas pelo S3, a SSE com chaves gerenciadas pelo AWS Key Management Service (KMS) e a criptografia do lado do cliente (CSE) com as chaves gerenciadas pelo AWS KMS. O Athena também tem integração com o AWS KMS e oferece uma opção de criptografar seus conjuntos de resultados.
O Athena tem alta disponibilidade?
Sim. O Athena tem alta disponibilidade e realiza consultas usando recursos computacionais em vários locais, encaminhando automaticamente as consultas da forma adequada se determinada unidade não estiver acessível. O Athena usa o S3 como datastore subjacente, conferindo alta disponibilidade e durabilidade aos seus dados. O S3 oferece uma infraestrutura durável para armazenar dados importantes. Seus dados são armazenados com redundância em várias instalações e diversos dispositivos em cada instalação.
Posso oferecer acesso entre contas ao bucket do S3 de outra pessoa?
Sim, você pode oferecer acesso entre contas ao S3.
Definição de preço e faturamento
Como é determinado o preço do Athena?
Com o Athena, você pode optar por pagar por consulta com base nos dados verificados ou com base na computação necessária para suas consultas. O preço por consulta é baseado na quantidade de dados verificados, em terabytes (TB), pela consulta. Você pode armazenar dados em vários formatos no S3. Se você compactar seus dados, particioná-los ou convertê-los em formatos de armazenamento colunar, pagará menos, pois suas consultas examinam menos dados. A conversão dados em um formato colunar permite que o Athena leia somente as colunas de que precisa para processar a consulta. Com a capacidade provisionada, você paga um preço por hora pela capacidade de processamento de consultas, não pelos dados verificados. Você pode usar o faturamento por consulta e o faturamento baseado em computação na mesma conta. Para ver mais detalhes, acesse a página de preços do Amazon Athena.
Por que a cobrança é menor quando uso um formato colunar?
Com o faturamento por consulta, o Athena cobra com base na quantidade de dados verificados por consulta. Compactar seus dados permite que o Athena verifique menos dados. A conversão dos dados em formatos colunares permite que o Athena leia seletivamente apenas as colunas necessárias para processar os dados. Particionar seus dados também permite que o Athena restrinja a quantidade de dados examinados. Isso economiza custos e melhora a performance. Para ver mais detalhes, acesse a página de preços do Amazon Athena.
Como faço para diminuir meus custos?
Com o faturamento por consulta, você pode economizar de 30% a 90% por consulta e obter melhor performance compactando, particionando e convertendo seus dados em formatos colunares. Cada uma dessas operações reduz a quantidade de dados verificados e o tempo necessário para a execução. Essas operações também são recomendadas ao usar a capacidade provisionada, pois costumam reduzir a quantidade de tempo que uma consulta gasta em execução.
O Athena poderá me cobrar por consultas que falharem?
Com o preço por consulta, você não é cobrado por consultas que falharem.
O Athena pode me cobrar por consultas canceladas?
Sim. Se você cancelar uma consulta, a quantidade de dados examinados até o ponto em que cancelou a consulta será cobrada.
Há alguma cobrança adicional associada ao Athena?
O Athena consulta dados diretamente pelo S3, então seus dados de origem são cobrados segundo as taxas do S3. Quando o Athena realiza uma consulta, ele armazena os resultados no bucket do S3 de sua preferência. Depois, você recebe a cobrança calculada com as taxas-padrão do S3 referentes a esses conjuntos de resultados. É recomendado que você monitore esses buckets e use políticas de ciclo de vida para controlar quantos dados ficam retidos.
O uso do Catálogo de Dados é cobrado?
Sim. O uso do Catálogo de Dados é cobrado separadamente. Para saber mais sobre os preços do Catálogo de Dados, acesse a página de preços do AWS Glue.
Amazon Athena para Apache Spark
O que é o Amazon Athena para Apache Spark?
O Athena oferece suporte à estrutura do Apache Spark para permitir que analistas e engenheiros de dados tenham a experiência interativa e totalmente gerenciada do Athena. O Apache Spark é um sistema popular de processamento distribuído de código aberto que foi otimizado para workloads rápidas de análise com dados de qualquer tamanho e que funciona como um sistema avançado para bibliotecas de código aberto. Agora você pode criar aplicações Spark em linguagens expressivas, como Python, tendo uma experiência simplificada de notebook no console do Athena ou pelas APIs do Athena. É possível consultar dados de várias fontes, vincular diversos cálculos e visualizar os resultados das análises. Para aplicações Spark interativas, você passa menos tempo esperando e aumenta a produtividade, pois o Athena começa a executar aplicações em menos de um segundo. Os clientes têm uma experiência simplificada e personalizada do Spark que minimiza o trabalho necessário para upgrades de versão, ajuste de performance e integração com outros serviços da AWS.
Por que devo usar o Athena para Apache Spark?
Use o Athena para Apache Spark quando precisar de uma experiência interativa e totalmente gerenciada de análise e uma forte integração com os serviços da AWS. Você pode usar o Spark para realizar análises no Athena usando linguagens familiares e expressivas, como Python e o ambiente crescente de pacotes do Spark. Também é possível abrir aplicações Spark pelas APIs do Athena ou notebooks simplificados no console do Athena e começar a executar aplicações Spark em menos de um segundo sem configurar nem ajustar a infraestrutura subjacente. Além dos recursos de consulta SQL, o Athena oferece uma experiência gerenciada do Spark e realiza automaticamente o ajuste de performance, as configurações de máquina e a aplicação de patches em software para que você não precise se preocupar em sempre fazer upgrade de versões. E mais: o Athena tem forte integração com outros serviços de análise do sistema da AWS, como o Catálogo de Dados. Por isso, você pode criar aplicações Spark com dados em data lakes do S3 referenciando tabelas do seu Catálogo de Dados.
Como faço para começar a usar o Athena for Apache Spark?
Abra um notebook no console do Athena ou inicie uma sessão usando a AWS Command Line Interface (AWS CLI) ou uma API do Athena. No notebook, você pode começar a abrir e desativar aplicações Spark usando Python. O Athena se integra ao Catálogo de Dados, então você pode trabalhar com qualquer fonte de dados referenciada no catálogo, inclusive com dados diretamente de data lakes do S3. Agora, usando os notebooks, você pode consultar dados de várias fontes, vincular diversos cálculos e visualizar os resultados das análises. Nas aplicações Spark, você pode verificar o status de execução, além de ver logs e o histórico de execução no console do Athena.
Em qual versão do Spark o Athena é baseado?
O Athena para Apache Spark é baseado na versão estável Spark 3.2. Como um mecanismo totalmente gerenciado, o Athena disponibiliza uma build personalizada do Spark e realiza automaticamente a maioria das atualizações de versão do Spark de maneira retrocompatível sem que você precise se envolver
Como o preço do Athena para Apache Spark é definido?
Você paga apenas pelo tempo que sua aplicação Apache Spark leva para ser executada. É cobrada uma taxa por hora com base no número de unidades de processamento de dados (ou DPUs) usadas para executar a aplicação do Apache Spark. Uma única DPU fornece 4 vCPUs e 16 GB de memória. Você será cobrado em incrementos de 1 segundo, arredondado para o minuto mais próximo.
Quando você inicia uma sessão do Spark iniciando um caderno no console do Athena ou usando a API do Athena, dois nós são provisionados para sua aplicação: um nó de caderno que atuará como servidor para a interface do usuário do caderno e um nó de driver Spark que coordena essa aplicação Spark e se comunica com todos os nós de processamento do Spark. No Athena haverá cobrança pelos nós de driver e processamento durante a duração da sessão. O Amazon Athena fornece cadernos no console como uma interface de usuário para criar, enviar e executar aplicações Apache Spark e os oferece a você sem custo adicional. No Athena não há cobrança pelos nós de caderno usados durante a sessão do Spark.
Quando usar o Athena em vez de outros serviços de big data
Qual é a diferença entre o Athena, o Amazon EMR e o Amazon Redshift?
Serviços de consulta, como o Athena, data warehouses, como o Amazon Redshift, e estruturas sofisticadas de processamento de dados, como o Amazon EMR, atendem a diferentes necessidades e casos de uso. Você só precisa escolher a ferramenta certa para o trabalho. O Amazon Redshift tem a maior rapidez na performance de consulta para relatórios corporativos e workloads de business intelligence, especialmente naquelas que envolvem SQL extremamente complexo com várias junções e subconsultas. O Amazon EMR simplifica o processo e oferece boa relação custo-benefício para a execução de estruturas de processamento altamente distribuídas, como Apache Hadoop, Spark e Presto, em comparação com implantações on-premises. O Amazon EMR é flexível: você pode executar aplicações e códigos personalizados, além de definir parâmetros específicos de computação, memória, armazenamento e aplicações para otimizar os requisitos analíticos. O Athena é a maneira mais fácil de executar consultas interativas para dados no S3 sem a necessidade de configurar nem gerenciar servidores.
Como o suporte para SQL do Athena se compara ao Redshift e como faço para escolher entre os dois serviços?
O Amazon Athena e o Amazon Redshift Serverless atendem a diferentes necessidades e casos de uso, mesmo que ambos os serviços sejam sem servidor e permitam usuários de SQL.
Com sua arquitetura Massively Parallel Processing (MPP) que separa recursos de otimização automática de armazenamento e computação e machine learning, um data warehouse como o Amazon Redshift, seja sem servidor ou provisionado, é uma ótima opção para clientes que precisam da melhor performance de preço em qualquer escala para workloads complexas de BI e análise. O Redshift é mais adequado para gerar análises escalonadas e conjuntos de dados maciços, estruturados e semiestruturados. Ele tem uma boa performance para relatórios corporativos e workloads de business intelligence, especialmente aquelas que envolvem SQL extremamente complexo com múltiplas junções e subconsultas. O Redshift oferece integração profunda com banco de dados, análises e serviços de ML da AWS para que os clientes acessem os dados no local ou ingiram/movam dados facilmente para o warehouse a fim de promover análises de alta performance, por meio de ETL mínimo e métodos sem código. Com recursos de consulta federada, Amazon Redshift Spectrum, integração com Amazon Aurora, AWS Data Exchange, serviços de dados de streaming e outros, o Redshift permite que você use dados de várias fontes, combine com os dados no warehouse e conduza análises e machine learning no topo disso. O Redshift oferece opções provisionadas e sem servidor para começar a analisar facilmente sem gerenciamento de infraestrutura.
O Athena é adequado para análises interativas e exploração de dados no Amazon Simple Storage Service (S3) ou qualquer fonte de dados por meio de um framework extensível de conectores (inclui mais de 30 conectores prontos para uso para aplicações e sistemas de análise on-premises ou em nuvem ) com uma sintaxe SQL fácil de usar. O Amazon Athena é baseado em mecanismos e frameworks de código aberto, como Spark, Presto e Apache Iceberg, oferecendo aos clientes a flexibilidade de usar Python ou SQL ou trabalhar em formatos de dados abertos. Se os clientes quiserem fazer análises interativas usando frameworks de código aberto e formatos de dados, o Amazon Athena é um ótimo lugar para começar. É totalmente sem servidor, o que significa que não há infraestrutura para gerenciar ou configurar. A abertura do Athena aumenta a portabilidade de dados, permitindo que nosso cliente mova dados entre diferentes aplicações, programas e até provedores de serviços em nuvem. Ele adotou recentemente uma nova abordagem de integração contínua para o gerenciamento de software de código aberto que integrará constantemente os recursos mais recentes dos projetos Trino, PrestoDB e Apache Iceberg.
Quando devo usar o Amazon EMR em vez do Athena?
O Amazon EMR vai muito além da simples execução de consultas SQL. Com o Amazon EMR, você pode executar diversas tarefas de processamento de dados com aumento da escala horizontal para aplicações como machine learning (ML), análise de grafos, transformação de dados, streaming de dados e praticamente qualquer coisa que você puder programar. Use o Amazon EMR se utilizar código personalizado para processar e analisar conjuntos de dados grandes com as estruturas mais recentes de processamento de big data, como Apache HBase, Spark, Hadoop ou Presto. O Amazon EMR lhe dá controle total sobre a configuração dos seus clusters e do software instalado neles.
Use o Athena se quiser realizar consultas SQL interativas nos dados no S3 sem ter de gerenciar infraestruturas ou clusters.
Como o suporte do Spark do Athena se compara ao EMR Serverless para Spark? Quando um cliente usaria o Spark no Athena em vez do EMR Serverless?
O EMR Serverless é a maneira mais fácil de executar aplicações Spark e Hive na nuvem e a única solução Hive sem servidor do setor. Com o EMR Serverless, você pode eliminar a sobrecarga operacional de ajuste, redimensionamento, proteção, aplicação de patches e gerenciamento de clusters e pagar apenas pelos recursos que suas aplicações realmente usam. Com o tempo de execução otimizado para performance do EMR, você obtém performance duas vezes mais rápida do que o código aberto padrão, para que suas aplicações sejam executados mais rapidamente, e reduz seus custos de computação. O tempo de execução otimizado para performance do EMR é 100% compatível com API com código aberto padrão, portanto você não precisa reescrever suas aplicações para executá-las no EMR. Você também não precisa de profundo conhecimento do Spark para ativá-las, pois elas são ativadas por padrão. O EMR oferece a opção de executar aplicações em clusters do EMR, clusters do EKS ou EMR Serverless. Os clusters do EMR são perfeitos para clientes que precisam de controle e flexibilidade máximos sobre o modo de execução das aplicações. Com os clusters do EMR, os clientes podem escolher o tipo de instância do EC2, personalizar a Amazon Linux Image AMI, personalizar a configuração da instância do EC2, personalizar e estender estruturas de código aberto e instalar software personalizado adicional em instâncias de cluster. O EMR no EKS é perfeito para clientes que desejam padronizar no EKS para gerenciar clusters entre aplicações ou usar versões diferentes de um framework de código aberto no mesmo cluster. O EMR Serverless é perfeito para clientes que desejam evitar o gerenciamento e a operação de clusters e querem apenas executar aplicações usando frameworks de código aberto.
Se os clientes quiserem uma ativação instantânea, uma experiência interativa semelhante à de consulta baseada em SQL com o Amazon Athena, eles podem escolher o Amazon Athena para Apache Spark. A experiência do cliente no Athena é otimizada para aplicações interativas com tempos de execução curtos e que exigem um tempo de inicialização inferior a um segundo. O Amazon Athena lida com o ajuste de performance, configurações, aplicação de patches de software e atualizações automaticamente sem o envolvimento do cliente. Para o analista de dados e desenvolvedor com profundidade na linguagem de programação PySpark e interesse na exploração de dados e execução de análises interativas imediatamente, o Amazon Athena para Apache Spark oferece uma experiência fácil de usar.
Posso usar o Athena para consultar dados que processo usando o Amazon EMR?
Sim, o Athena é compatível com muitos dos mesmos formatos de dados que o Amazon EMR. O Catálogo de Dados do Athena é compatível com o metastore do Hive. Se você estiver usando o Amazon EMR e já tiver um metastore do Hive, basta executar as instruções DDL no Athena e começar a consultar os dados imediatamente, sem afetar os trabalhos no Amazon EMR.
Qual é a relação entre a consulta federada no Athena SQL e os outros serviços da AWS?
A consulta federada no Athena permite realizar consultas SQL em várias fontes de dados relacionais, não relacionais e personalizadas de modo unificado.
Qual é a relação entre o ML no Athena e os outros serviços da AWS?
As consultas SQL do Athena podem chamar modelos de ML implantados no Amazon SageMaker. Você pode especificar a localização do S3 em que deseja armazenar os resultados dessas consultas SQL do Athena.