P: ¿Qué es Amazon Athena?

Amazon Athena es un servicio de consultas interactivo que facilita el análisis de petabytes de datos en Amazon S3 con SQL estándar. Athena no tiene servidor, por lo que no es necesario configurar ni administrar infraestructura, y puede comenzar a analizar los datos al instante. Ni siquiera tiene que cargar los datos en Athena, ya que funciona directamente con los datos almacenados en S3. Para comenzar, inicie sesión en la consola de administración de Athena, defina sus esquemas y comience a realizar consultas. Amazon Athena utiliza Presto con compatibilidad absoluta con SQL estándar y admite varios formatos de datos estándar, como CSV, JSON, ORC, Apache Parquet y Avro. Mientras que Amazon Athena es ideal para realizar consultas ad-hoc rápidas y se integra con Amazon QuickSight para una visualización sencilla, también es capaz de realizar análisis complejos, incluidas cadenas de gran tamaño, funciones de ventana y matrices.

P: ¿Qué puedo hacer con Amazon Athena?

Amazon Athena le ayuda a analizar los datos almacenados en Amazon S3. Puede usar Athena para ejecutar consultas ad-hoc con ANSI SQL, sin necesidad de agregar o cargar los datos en Athena. Amazon Athena es capaz de procesar conjuntos de datos sin estructurar, semiestructurados y estructurados. Entre los ejemplos se incluyen CSV, JSON, Avro o formatos de datos en columnas como Apache Parquet y Apache ORC. Amazon Athena se integra con Amazon QuickSight para una visualización sencilla. También puede utilizar Amazon Athena para generar informes o explorar datos con herramientas de inteligencia empresarial o clientes SQL conectados mediante un controlador JDBC.

P: ¿Cómo puedo comenzar a utilizar Amazon Athena?

Para comenzar con Amazon Athena, inicie sesión en la consola de administración de AWS de Athena y cree sus esquemas escribiendo declaraciones DDL en la consola o usando el asistente de creación de tablas. A continuación, puede comenzar a realizar consultas en los datos con el editor de consultas integrado. Athena realiza consultas en los datos directamente desde Amazon S3, por lo que no es necesario cargarlos.  

P: ¿Cómo se accede a Amazon Athena?

Puede acceder a Amazon Athena a través de la consola de administración de AWS, de una API o de un controlador JDBC. Puede ejecutar consultas mediante programación, añadir tablas o crear particiones con el controlador JDBC.  

P: ¿Cuáles son los límites del servicio asociados con Amazon Athena?

Haga clic aquí para obtener más información acerca de los límites del servicio.

P: ¿Cuál es la tecnología subyacente de Amazon Athena?

Amazon Athena utiliza Presto con compatibilidad absoluta con SQL estándar y admite varios formatos de datos estándar, como CSV, JSON, ORC, Avro y Parquet. Amazon Athena es capaz de realizar análisis complejos, incluidas cadenas de gran tamaño, funciones de ventana y matrices. Como Amazon Athena utiliza Amazon S3 como almacén de datos subyacente, cuenta con alta disponibilidad y durabilidad y los datos se almacenan de manera redundante en varias ubicaciones y en numerosos dispositivos de cada ubicación.

P: ¿Cómo almacena Amazon Athena definiciones y esquemas de tablas?

Amazon Athena utiliza un catálogo de datos administrado para almacenar información y esquemas sobre las bases de datos y las tablas que crea para los datos almacenados en Amazon S3. En las regiones en las que AWS Glue está disponible, puede pasarse al catálogo de datos de AWS Glue con Amazon Athena. En las regiones en las que AWS Glue no está disponible, Athena usa un catálogo interno.

Puede modificar el catálogo con declaraciones DDL o mediante la consola de administración de AWS. Cualquier esquema que defina se guardará automáticamente a menos que lo elimine explícitamente. Athena utiliza tecnología de esquemas bajo lectura, lo que significa que las definiciones de sus tablas se aplican a sus datos en S3 cuando se ejecutan las consultas. No es necesario cargar ni transformar datos. Puede eliminar las definiciones y los esquemas de las tablas sin que los datos subyacentes almacenados en Amazon S3 se vean afectados.

P: ¿Por qué debería pasarme al catálogo de datos de AWS Glue?

AWS Glue es un servicio ETL totalmente administrado. Glue tiene tres componentes principales: 1) un rastreador que escanea sus fuentes de datos, identifica formatos de datos e infiere esquemas automáticamente, 2) un servicio ETL totalmente administrado que le permite transformar datos y llevarlos a diversos destinos, y 3) un catálogo de datos que almacena información de metadatos sobre las bases de datos y tablas almacenadas en S3 o un almacén de datos conforme con JDBC. Para aprovechar los beneficios de Glue, debe pasar de usar el catálogo de datos interno de Athena al catálogo de datos de Glue.

Los beneficios de pasarse al catálogo de datos de Glue son:

  1. Repositorio de datos unificado: AWS Glue se integra con una amplia variedad de servicios de AWS. AWS Glue admite datos almacenados en Amazon Aurora, Amazon RDS MySQL, Amazon RDS PostreSQL, Amazon Redshift y Amazon S3, así como bases de datos MySQL y PostgreSQL en su nube privada virtual (Amazon VPC) ejecutada en Amazon EC2. AWS Glue se integra de serie con Amazon Athena, Amazon EMR, Amazon Redshift Spectrum, y cualquier aplicación compatible con Apache Hive Metastore.
  2. Reconocimiento automático de esquemas y particiones: AWS Glue rastrea sus fuentes de datos, identifica formatos de datos y sugiere esquemas y transformaciones automáticamente. Los rastreadores pueden ayudarle a automatizar la creación de tablas y la carga de particiones.
  3. Canalizaciones sencillas de crear: el motor ETL de AWS Glue genera código Python personalizable, reutilizable y portátil. Puede editar el código con su IDE o notebook favorito y compartirlo con los demás con GitHub. Una vez que esté listo el trabajo ETL, puede programarlo para que se ejecute en la infraestructura totalmente gestionada y escalable Spark de AWS Glue. AWS Glue no tiene servidor, de modo que gestiona el aprovisionamiento, la configuración y el escalado de los recursos necesarios para ejecutar sus trabajos ETL, lo que le permite integrar ETL a la perfección en su flujo de trabajo.

Haga clic aquí para obtener más información sobre el catálogo de datos de Glue.

P: ¿Existe una guía paso a paso para pasarse al catálogo de datos de AWS?

Sí. Puede encontrar una guía paso a paso aquí.

P: ¿En qué regiones está disponible Amazon Athena?

Consulte Productos y servicios regionales para obtener detalles sobre la disponibilidad por región del servicio Amazon Athena.

P: ¿Cuál es la diferencia entre Amazon Athena, Amazon EMR y Amazon Redshift?

Los servicios de consultas como Amazon Athena, los almacenes de datos como Amazon Redshift y los marcos de procesamiento de datos sofisticados como Amazon EMR satisfacen diferentes necesidades y casos de uso cada uno. Simplemente tiene que elegir la herramienta adecuada para el trabajo. Amazon Redshift proporciona el desempeño de consultas más rápido para cargas de trabajo de informes e inteligencia empresarial, en particular aquellas con SQL extremadamente complejo con numerosas cadenas y subconsultas. Amazon EMR hace que resulte sencillo y rentable ejecutar marcos de procesamiento altamente distribuido, como Hadoop, Spark y Presto, en comparación con implementaciones on-premise. Amazon EMR es flexible: puede ejecutar aplicaciones y código personalizados y definir parámetros específicos de capacidad informática, memoria, almacenamiento y aplicaciones para optimizar sus requisitos de análisis. Amazon Athena proporciona la manera más sencilla de ejecutar consultas ad-hoc en datos de S3 sin necesidad de configurar o administrar servidores.

P: ¿Cuándo debería utilizar un almacén de datos empresarial completo, como Amazon Redshift, en lugar de un servicio de consultas, como Amazon Athena?

Un almacén de datos como Amazon Redshift es la mejor opción cuando necesita extraer datos de muchas fuentes distintas (como sistemas de inventario, sistemas financieros y sistemas de venta al por menor) en un formato común y almacenarlos durante periodos largos de tiempo, con el fin de crear informes empresariales sofisticados a partir de datos históricos. Para ello, se recomienda un almacén de datos como Amazon Redshift.

Los almacenes de datos recopilan datos de toda la compañía y actúan a modo de “única fuente de la verdad” para la generación de informes y el análisis. Los almacenes de datos extraen datos de numerosas fuentes, los formatean, los organizan y los almacenan, y admiten consultas complejas a gran velocidad que proporcionan informes empresariales. El motor de consultas de Amazon Redshift se ha optimizado para ofrecer un desempeño particularmente excelente en este caso de uso, la ejecución de consultas complejas que unen grandes cantidades de tablas de bases de datos muy grandes. TPC-DS es una referencia estándar diseñada para replicar este caso de uso, y Redshift ejecuta estas consultas hasta 20 veces más rápido que los servicios de consultas optimizados para datos sin estructurar. Si necesita ejecutar consultas en datos muy estructurados con numerosas uniones en un amplio número de tablas de gran tamaño, debería elegir Amazon Redshift.

En comparación, servicios de consultas como Amazon Athena facilitan la ejecución de consultas interactivas en datos directamente en Amazon S3 sin preocuparse de formatear datos ni administrar infraestructura. Por ejemplo, Athena es excelente si simplemente necesita ejecutar una consulta rápida en logs web para resolver un problema con el desempeño en sus instalaciones. Con los servicios de consultas, puede ponerse en marcha con rapidez. Basta con definir una tabla para los datos y comenzar a realizar consultas con SQL estándar.

También puede utilizar ambos servicios al mismo tiempo. Si coloca los datos en Amazon S3 antes de cargarlos en Amazon Redshift, también pueden registrarse y consultarse con Amazon Athena.

P: ¿Cuándo debería utilizar Amazon EMR en lugar de Amazon Athena?

Amazon EMR va mucho más allá que la ejecución de consultas SQL. Con EMR, puede ejecutar una gran variedad de tareas de procesamiento de datos de escalado para aplicaciones como el aprendizaje automático, el análisis de gráficos, la transformación de datos, los datos de streaming y prácticamente cualquier cosa que pueda codificar. Debería utilizar Amazon EMR si usa código personalizado para procesar y analizar conjuntos de datos extremadamente grandes con los marcos de procesamiento de big data más novedosos, como Spark, Hadoop, Presto o Hbase. Amazon EMR le aporta control absoluto sobre la configuración de los clústeres y el software instalado en ellos.

Debería utilizar Amazon Athena si desea ejecutar consultas SQL ad-hoc interactivas en datos en Amazon S3 sin necesidad de administrar infraestructura o clústeres.

P: ¿Puedo utilizar Amazon Athena para realizar consultas en los datos que proceso con Amazon EMR?

Sí, Amazon Athena admite muchos de los mismos formatos de datos que Amazon EMR. El catálogo de datos de Athena es compatible con el metaalmacén de Hive. Si utiliza EMR y ya tiene un metaalmacén de Hive, simplemente tiene que ejecutar sus declaraciones DDL en Amazon Athena y, a continuación, podrá comenzar a realizar consultas de inmediato sin que sus trabajos de Amazon EMR se vean afectados.

P: ¿Cómo puedo crear tablas y esquemas para mis datos en Amazon S3?

Amazon Athena utiliza Apache Hive DDL para definir tablas. Puede ejecutar declaraciones DDL con la consola de Athena, a través de un controlador JDBC, mediante la API o con el asistente de creación de tablas de Athena. Si usa el catálogo de datos de AWS Glue con Athena, también puede usar los rastreadores de Glue para inferir automáticamente esquemas y particiones. Un rastreador de AWS Glue se conecta con un almacén de datos, avanza a través de una lista priorizada de clasificadores para extraer los esquemas de sus datos y otras estadísticas, y rellena el catálogo de datos de Glue con estos metadatos. Los rastreadores pueden ejecutarse de manera periódica para detectar la disponibilidad de nuevos datos, así como cambios en los datos existentes, incluidos cambios en la definición de una tabla. Los rastreadores añaden nuevas tablas, nuevas particiones a tablas existentes y nuevas versiones de las definiciones de tablas de manera automática. Puede personalizar los rastreadores de Glue para que clasifiquen sus propios tipos de archivos.

Cuando crea un nuevo esquema de tablas en Amazon Athena, este se almacena en el catálogo de datos y se utiliza al ejecutar consultas, pero no modifica los datos de S3. Athena utiliza un enfoque denominado esquema bajo lectura, que le permite proyectar el esquema en sus datos cuando ejecuta una consulta. Así se elimina la necesidad de cargar o transformar datos. Obtenga más información sobre la creación de tablas.

P: ¿Qué formatos de datos admite Amazon Athena?

Amazon Athena admite una gran variedad de formatos de datos, como CSV, TSV, JSON o archivos de texto, así como formatos en columnas de código abierto como Apache ORC y Apache Parquet. Athena también es compatible con datos comprimidos en formatos Snappy, Zlib, LZO y GZIP. Al comprimir los datos, crear particiones y usar formatos en columnas puede mejorar el desempeño y reducir sus costes.

P: ¿Qué tipos de datos admite Amazon Athena?

Amazon Athena admite tipos de datos sencillos como INTEGER, DOUBLE y VARCHAR y complejos como MAPS, ARRAY y STRUCT.  

P: ¿Puedo ejecutar una consulta de Hive en Athena?

Amazon Athena utiliza Hive solamente para el DDL (lenguaje de definición de datos) y para la creación, modificación y eliminación de tablas y/o particiones. Haga clic aquí para consultar una lista completa de las declaraciones admitidas. Athena utiliza Presto cuando ejecuta consultas SQL en Amazon S3. Puede ejecutar declaraciones SQL SELECT conformes con ANSI para realizar consultas en sus datos en Amazon S3.

P: ¿Qué es un SerDe?

SerDe significa serializador/deserializador, que son bibliotecas que le dicen a Hive cómo interpretar los formatos de datos. Las declaraciones DDL de Hive requieren que especifique un SerDe, para que el sistema pueda saber cómo interpretar los datos a los que está apuntando. Amazon Athena usa SerDes para interpretar los datos leídos de Amazon S3. Los SerDes en Athena tienen la misma función que en Hide. Amazon Athena admite los siguientes SerDes:

  1. Apache Web Logs: "org.apache.hadoop.hive.serde2.RegexSerDe"
  2. CSV: "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
  3. TSV: "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
  4. Delimitadores personalizados: "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
  5. Parquet: "org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe"
  6. Orc: "org.apache.hadoop.hive.ql.io.orc.OrcSerde"
  7. JSON: “org.apache.hive.hcatalog.data.JsonSerDe” OR org.openx.data.jsonserde.JsonSerDe

P: ¿Puedo añadir mi propio SerDe (serializador/deserializador) a Amazon Athena?

En la actualidad, no es posible añadir su propio SerDe a Amazon Athena. Apreciamos sus comentarios, de modo que, si hay algún SerDe que le gustaría que se añadiera, contacte con el equipo de Athena en Athena-feedback@amazon.com

P: He creado archivos Parquet/ORC con Spark/Hive. ¿Puedo realizar consultas en ellos con Athena?

Sí, los archivos Parquet y ORC creados en Spark pueden leerse en Athena.

P: Tengo datos procedentes de Kinesis Firehose. ¿Cómo puedo realizar consultas en ellos con Athena?

Si los datos de Kinesis Firehose están almacenados en Amazon S3, puede realizar consultas en ellos con Amazon Athena. Simplemente cree un esquema para sus datos en Athena y comience a realizar consultas. Le recomendamos que organice los datos en particiones para optimizar el desempeño. Puede añadir particiones creadas por Kinesis Firehose con declaraciones DDL ALTER TABLE. Obtenga más información acerca de las particiones.

P: ¿Admite Amazon Athena las particiones de datos?

Sí. Amazon Athena le permite crear particiones de datos en cualquier columna. Con las particiones, puede limitar la cantidad de datos que escanea cada consulta, lo que se traduce en un desempeño más rápido y una reducción de los costes. Puede especificar su esquema de partición con la cláusula PARTITIONED BY en la declaración CREATE TABLE. Obtenga más información acerca de las particiones de datos.

P: ¿Cómo puedo añadir datos nuevos a una tabla existente de Amazon Athena?

Si sus datos están divididos en particiones, tendrá que ejecutar una consulta de metadatos (ALTER TABLE ADD PARTITION) para añadir la partición a Athena una vez que los nuevos datos estén disponibles en Amazon S3. Si los datos no están divididos en particiones, basta con añadir los nuevos datos (o archivos) al prefijo existente y estos se añadirán automáticamente a Athena. Obtenga más información acerca de las particiones de datos.

P: Tengo grandes cantidades de datos de logs en Amazon S3. ¿Puedo usar Amazon Athena para realizar consultas en ellos?

Sí, Amazon Athena facilita la ejecución de consultas SQL en sus datos de logs existentes. Athena realiza consultas en los datos directamente en Amazon S3, por lo que no es necesario transferir ni cargar datos. Simplemente defina los esquemas con declaraciones DDL y comience a realizar consultas en los datos al instante.

P: ¿Qué tipos de consultas admite Amazon Athena?

Amazon Athena admite consultas SQL ANSI. Amazon Athena usa Presto, un motor SQL distribuido en memoria de código abierto capaz de realizar análisis complejos, como cadenas largas, funciones de ventanas y matrices.

P: ¿Puedo usar Amazon QuickSight con Amazon Athena?

Sí. Amazon Athena se integra con Amazon QuickSight, que le permite visualizar sus datos almacenados en Amazon S3 de manera sencilla.

P: ¿Es compatible Athena con otras herramientas de inteligencia empresarial y clientes SQL?

Sí. Amazon Athena incluye un controlador JDBC que puede utilizar con otras herramientas de inteligencia empresarial y clientes SQL. Obtenga más información sobre cómo utilizar un controlador JDBC con Athena.

P: ¿Admite Athena las funciones definidas por el usuario (UDF)?

En la actualidad, Athena no admite las UDF personalizadas. Si necesita compatibilidad con UDF personalizadas, envíenos un correo electrónico a athena-feedback@amazon.com para que podamos obtener más información sobre sus requisitos.

P: ¿Cómo puedo acceder a las funciones que admite Amazon Athena?

Haga clic aquí para obtener más información acerca de las funciones que admite Amazon Athena.

P: ¿Cómo puedo mejorar el desempeño de mi consulta?

Puede mejorar el desempeño de su consulta si comprime los datos, los divide en particiones o los convierte en formatos en columna. Amazon Athena es compatible con formatos de datos en columnas de código abierto, como Apache Parquet y Apache ORC. La conversión de los datos en un formato comprimido en columnas reduce los costes y mejora el desempeño de las consultas al permitir que Athena escanee menos datos de S3 al ejecutar su consulta.

P: ¿Cómo puedo controlar el acceso a mis datos?

Amazon Athena le permite controlar el acceso a los datos utilizando políticas de AWS Identity and Access Management (IAM), listas de control del acceso (ACL) y políticas de buckets de Amazon S3. Con las políticas de IAM, puede otorgar a los usuarios de IAM un control minucioso de sus buckets de S3. Al controlar el acceso a los datos de S3, puede impedir que los usuarios realicen consultas en ellos con Athena.

¿Athena puede consultar datos encriptados en Amazon S3?

Sí, puede consultar datos encriptados usando Server-Side Encryption con Amazon S3-Managed Encryption Keys, Server-Side Encryption con AWS Key Management Service (KMS) – Managed Keys, y Client-Side Encryption con claves administradas por KMS. Amazon Athena también se integra con KMS y le ofrece la opción de encriptar sus juegos de resultados.

P: ¿Tiene alta disponibilidad Athena?

Sí. Amazon Athena tiene alta disponibilidad y ejecuta consultas con recursos informáticos de varias ubicaciones, enrutando las consultas automáticamente como corresponda si una ubicación en particular no se encuentra disponible. Athena utiliza Amazon S3 como almacenamiento de datos subyacente, por lo que los datos son duraderos y están altamente disponibles. Amazon S3 ofrece una infraestructura duradera que permite almacenar datos importantes y está diseñado para ofrecer una durabilidad del 99,999999999% de los objetos. Sus datos se almacenan de forma redundante en diversas instalaciones y en diferentes dispositivos de cada instalación.

P: ¿Puedo proporcionar acceso intercuenta al bucket de S3 de otra persona?

Sí, puede proporcionar acceso intercuenta a Amazon S3.

P: ¿Cuáles son los precios de Amazon Athena?

Los precios de Amazon Athena son por consulta y los cargos se basan en la cantidad de datos escaneados por la consulta. Puede almacenar datos en diversos formatos en Amazon S3. Si comprime los datos, los divide en particiones o los convierte en formatos de almacenamiento en columnas, pagará menos porque se escanean menos datos. Convertir los datos en un formato en columnas permite a Athena leer solo las columnas necesarias para procesar la consulta. Consulte la página de precios de Athena para obtener más detalles.

P: ¿Por qué se me cobra menos cuando utilizo un formato en columnas?

Amazon Athena le cobra por la cantidad de datos escaneados por consulta. Al comprimir los datos, Amazon Athena tiene que escanear menos datos. Convertir los datos en un formato en columnas permite a Athena leer de manera selectiva solo las columnas necesarias para procesar los datos. Al dividir los datos en particiones, se restringe la cantidad de datos escaneados por Athena. Esto se traduce en un desempeño mejor y una reducción de los costes. Consulte el ejemplo de precios para obtener más información.

P: ¿Cómo puedo reducir los costes?

Puede ahorrar un 30%-90% en los costes de consulta y obtener un desempeño mejor si comprime, divide en particiones y convierte los datos en formatos en columnas. Cada una de estas operaciones reduce la cantidad de datos que Amazon Athena debe escanear para ejecutar una consulta. Amazon Athena es compatible con Apache Parquet y ORC, dos de los formatos en columnas de código abierto más populares. Puede ver la cantidad de datos escaneados por consulta en la consola de Athena.  

P: ¿Me cobra Amazon Athena por las consultas fallidas?

No, no se le cobra por las consultas fallidas.

P: ¿Me cobra Amazon Athena por las consultas canceladas?

Sí, si cancela una consulta manualmente, se le cobra por la cantidad de datos escaneados hasta el momento en que cancela la consulta.

P: ¿Existen cargos adicionales asociados con Amazon Athena?

Amazon Athena realiza consultas en los datos directamente desde Amazon S3, por lo que los datos de origen se facturan de acuerdo con las tarifas de S3. Cuando Amazon Athena ejecuta una solicitud, almacena los resultados en el bucket de S3 que desee y se le cobra por estos conjuntos de resultados de acuerdo con las tarifas estándar de S3. Recomendamos que monitorice los buckets y utilice políticas del ciclo de vida para controlar los datos que se conservan.

P: ¿Se me cobrará por usar el catálogo de datos de AWS Glue?

Sí, el uso del catálogo de datos de AWS Glue se cobra por separado. Haga clic aquí para obtener más información sobre los precios del catálogo de datos de Glue.