Aspectos generales

P: ¿Qué es Amazon Athena?
Amazon Athena es un servicio de consultas interactivo que facilita el análisis 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. Si bien 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 permitir visualizar los datos de forma 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 ODBC o 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 ODBC o JDBC. Puede ejecutar consultas mediante programación, añadir tablas o crear particiones con el controlador ODBC o 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 que se esconde detrás 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. Obtenga más información sobre Presto aquí.
 
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 ODBC o 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 proporciona integración original 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 bloc de notas 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 conocer la disponibilidad del servicio Amazon Athena por región.

Características de la versión preliminar

P: ¿Qué características de la versión preliminar se encuentran disponibles en Athena?
Ahora es posible invocar modelos de aprendizaje automático de SageMaker en una consulta SQL de Athena para ejecutar tareas de inferencia. La posibilidad de utilizar modelos de aprendizaje automático en consultas SQL permite que tareas complejas, como la detección de anomalías, el análisis de cohortes de clientes y las predicciones de ventas, sean tan simples como escribir una consulta SQL. Más información.
 
Con la consulta federada, ahora puede analizar datos almacenados en diferentes almacenes de datos —ya sea que se encuentren alojados en un entorno local o en AWS— dentro de la misma consulta. Athena admite la consulta federada en orígenes de datos relacionales, no relacionales, de objetos o personalizados. También puede escribir su propio conector de origen de datos con Query Federation SDK. Más información.
 
Con las funciones definidas por los usuarios (UDF), ahora puede escribir funciones propias en Java e invocarlas en su consulta SQL de Athena. Más información.
 
Puede conectar Athena con Apache Hive Metastore externo. Si un conjunto de datos está almacenado en Amazon S3, además de usar el catálogo de datos de AWS Glue como almacén de metadatos, puede conectar Athena con Hive Metastore a través de un conector de origen de datos basado en AWS Lambda. Más información.
 
P: ¿De qué forma puedo probar las características de la versión preliminar?
Todas las consultas de Athena que se originen a partir del grupo de trabajo AmazonAthenaPreviewFunctionality se considerarán consultas de prueba de versión preliminar. Es posible crear y configurar un grupo de trabajo AmazonAthenaPreviewFunctionality nuevo con las API de Athena o la experiencia de usuario de Athena. Siga estos pasos para crear el grupo de trabajo nuevo.
 
Las siguientes notas son importantes para el uso de las características de versión preliminar. No modifique el nombre del grupo de trabajo. Puede modificar otras propiedades del grupo de trabajo, como Enable CloudWatch Metrics (Activar métricas de CloudWatch) y Enable Requester Pays (Activar pagos de solicitantes). Puede usar la consola de Athena, los controladores JDBC/ODBC o las API para enviar solicitudes de prueba. Asegúrese de especificar el grupo de trabajo: AmazonAthenaPreviewFunctionality al momento de enviar consultas de prueba. La funcionalidad de la versión preliminar solo está disponible en las regiones us-east-1, us-west-2, ap-south-1 y eu-west-1. Si utiliza Athena en cualquier otra región y envía consultas usando el grupo de trabajo AmazonAthenaPreviewFunctionality, la consulta no se realizará correctamente. No se admiten las llamadas entre regiones de AWS en el modo versión preliminar.
 
P: ¿Es seguro utilizar las características de la versión preliminar de Athena en una cuenta de producción?
Recomendamos no incorporar cargas de trabajo de producción al grupo de trabajo de la versión preliminar AmazonAthenaPreviewFunctionality. El rendimiento de las consultas puede variar entre el grupo de trabajo de la versión preliminar y otros grupos de trabajo de su cuenta. Además, es posible que agreguemos características nuevas y correcciones de errores al grupo de trabajo de la versión preliminar que tal vez no sean compatibles con versiones anteriores.
 
P: ¿Cómo envío las consultas?
Puede enviar consultas con la consola de Athena, las API de Athena o con el controlador JDBC de la versión preliminar de Athena con cualquier herramienta de visualización de resultados y consultas disponible comercialmente, como SQL WorkBench.
 
P: ¿Cómo envío comentarios acerca de la funcionalidad de las características de la versión preliminar?
Sus comentarios son importantes para nosotros. Envíelos a athena-feedback@amazon.com.
 
P: ¿Se aplican cargos por probar características de la versión preliminar?
Durante el período de versión preliminar, no se cobran los datos analizados a partir de orígenes de datos federados. Sin embargo, se cobran las tarifas estándares de Athena en datos analizados a partir de Amazon S3. También se cobran las tarifas estándares de los servicios de AWS que utilice con Athena, como Amazon S3, AWS Lambda, AWS Glue, Amazon SageMaker y AWS Serverless Application Repository. Por ejemplo, se cobran las tarifas de S3 por almacenamiento, solicitudes y transferencia de datos entre regiones. Por defecto, los resultados de las consultas se almacenan en el bucket de S3 que elija y se facturan de acuerdo con las tarifas estándar de Amazon S3. Si utiliza AWS Lambda, se le cobrará en función del número de solicitudes destinadas a sus funciones y la duración, el tiempo necesario para ejecutar el código.
 
P: ¿Qué sucederá cuando finalice el período de versión preliminar?
No se ejecutarán correctamente las consultas que se envíen con el grupo de trabajo AmazonAthenaPreviewFunctionality. Puede continuar enviando consultas a partir de otros grupos de trabajo. Si no especifica ningún grupo de trabajo, la consulta se ejecutará automáticamente con el grupo de trabajo principal predeterminado. Tenga en cuenta que el período de versión preliminar de las características puede finalizar en cualquier momento.

Cuándo se debe utilizar Athena en lugar de otros servicios de big data

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 rendimiento 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 locales. 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 “voz única” para generar informes y 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 rendimiento 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 rendimiento 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.
 
¿Cuándo debería utilizar Amazon EMR en lugar de Amazon Athena?
Amazon EMR no se limita a 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 Hive Metastore, solo 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: ¿Cuál es la relación entre la consulta federada de Athena y otros servicios de AWS? [versión preliminar]
La consulta federada de Athena permite ejecutar consultas SQL en diferentes orígenes de datos relacionales, no relacionales y personalizados, por lo que se obtiene un medio unificado para ejecutar consultas SQL en varios almacenes de datos.
 
P: ¿Cuál es la relación entre el aprendizaje automático de Athena y otros servicios de AWS? [versión preliminar]
Las consultas SQL de Athena pueden invocar modelos de aprendizaje automático implementados en Amazon SageMaker. Es posible especificar la ubicación de Amazon S3 en la que se desea almacenar los resultados de estas consultas SQL de Athena.

Creación de tablas, formatos de datos y particiones

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 ODBC o 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 rendimiento 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 rendimiento. 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 rendimiento 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.

Consultas y formatos de datos

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 ODBC y JDBC que puede utilizar con otras herramientas de inteligencia empresarial y clientes SQL. Obtenga más información acerca de cómo usar un controlador ODBC o JDBC con Athena.

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 rendimiento de mi consulta?
Puede mejorar el rendimiento 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 costos y mejora el rendimiento de las consultas al permitir que Athena analice menos datos de S3 al ejecutar una consulta.
 
P: ¿Athena admite las funciones definidas por el usuario (UDF) [versión preliminar]?
Amazon Athena ahora admite las funciones definidas por el usuario (UDF), lo que permite escribir funciones escalares personalizadas e invocarlas en consultas SQL. Athena provee funciones integradas, mientras que las UDF permiten realizar procesamientos personalizados, como compresión y descompresión de datos, ocultamiento de información confidencial e implementación de descifrado personalizado.

Puede escribir las UDF en Java con Athena Query Federation SDK. Cuando una UDF se utiliza en una consulta SQL enviada a Athena, esta se invoca y ejecuta en AWS Lambda. Las UDF se pueden utilizar tanto en cláusulas SELECT como FILTER de una consulta SQL. Es posible invocar varias UDF en la misma consulta.
 
P: ¿Cuál es la experiencia de usuario cuando se escribe una UDF? [versión preliminar]
Puede usar Athena Query Federation SDK para escribir una UDF. Haga clic aquí para ver ejemplos de UDF. Puede cargar una función a AWS Lambda y, posteriormente, invocarla en una consulta de Athena. Haga clic aquí para empezar.
 
Athena invocará una UDF en un lote de filas del conjunto de datos para optimizar el rendimiento.

Consulta federada (versión preliminar)

P: ¿Cuáles son los beneficios de utilizar consultas federadas en Athena? (versión preliminar)
Además de almacenar sus datos en S3, con frecuencia los desarrolladores seleccionan bases de datos de diferentes tipos: relacional, clave-valor, documentos, en memoria, búsqueda, gráficos, serie temporal y registro. Ejecutar análisis en datos distribuidos en una amplia variedad de orígenes de datos puede convertirse en una tarea compleja y lenta. A menudo, los analistas deben aprender lenguajes de programación y constructos de bases de datos nuevos, además de crear canalizaciones complejas que extraigan, transformen y creen copias de los datos, antes de poder analizarlos. Del mismo modo, con frecuencia los científicos de datos deben extraer datos a partir de varios orígenes para crear un conjunto de datos que se adapte a la extracción y al entrenamiento de características. Este proceso es lento e impide la creación de plataformas con modalidad autoservicio en las que los analistas y científicos de datos puedan crear fácilmente canalizaciones que posibiliten la extracción de datos a partir de varios orígenes. Generalmente, los analistas dependen de que los equipos de ingeniería de datos creen dichas canalizaciones, lo que genera demoras y aumenta la complejidad. La consulta federada suprime estos obstáculos porque provee un servicio sencillo, sin servidor y de pago por consulta que permite ejecutar consultas SQL en una variedad de dichos almacenes de datos. Es posible utilizar constructos SQL conocidos para realizar consultas en datos ubicados en diferentes orígenes de datos y ejecutar análisis rápidos, o bien usar consultas SQL programadas para extraer y transformar datos a partir de varios orígenes de datos, y almacenarlos en S3 para análisis posteriores.
 
Además, también puede tener bases de datos y catálogos personalizados o registrados. Las consultas federadas de Athena pueden expandirse porque permiten escribir conectores propios o utilizar otros desarrollados por comunidades para ejecutar consultas SQL en cualquier origen de datos o catálogo personalizado que elija. Existen implementaciones de referencia de código abierto para varios de dichos orígenes de datos que se pueden utilizar como referencia para desarrollar otras nuevas.
 
P: ¿Qué casos de uso admiten las consultas federadas de Athena? (versión preliminar)
Las consultas federadas de Athena admiten una amplia gama de casos de uso. Un ejemplo es el análisis ad hoc, en el que a menudo se tienen datos almacenados en diferentes almacenes de datos. Consideremos una compañía de comercio electrónico que utiliza Amazon ElasticCache Redis para almacenar órdenes activas; Amazon DocumentDB o MongoDB para almacenar información específica de los clientes, como dirección de e-mail y de envío; Amazon CloudWatch Logs (por ej., para un almacén de datos personalizado) para almacenar eventos de registros de aplicaciones de procesamiento de órdenes. Es posible que se quiera saber qué sucedió con una orden específica que se informó como demorada. Se puede usar una consulta simple para unir datos de los diferentes almacenes de datos y así ejecutar un análisis rápidamente.
 
Otro ejemplo son los procesos de extracción, transformación y carga (ETL) que se realizan a partir de varios orígenes de datos. Con frecuencia, la ejecución de análisis implica recopilar datos de varios orígenes para que se puedan publicar en un almacén o bien consultarse con motores como Athena, Apache Spark o Apache Presto. Dicha recopilación implica crear canalizaciones de datos que puedan extraer y transformar datos provenientes de varios orígenes en función de un cronograma. La creación de canalizaciones de datos con frecuencia conlleva el aprendizaje de lenguajes de programación nuevos, como Python y Java, o el uso de sistemas distribuidos de gran escala, como Apache Spark. Muchas veces, los analistas dependen de que los equipos de ingeniería de datos creen dichas canalizaciones. Con las consultas federadas de Athena, cualquier persona puede expresar las canalizaciones como declaraciones SQL y programarlas para que se ejecuten en función de un cronograma.
 
Un tercer ejemplo involucra extractos de aprendizaje automático: con frecuencia, los científicos de datos deben extraer datos a partir de varios orígenes para crear un conjunto de datos que se adapte a la extracción y al entrenamiento de características. Este proceso es lento e impide la creación de plataformas con modalidad autoservicio.
 
P: ¿Cómo funcionan los conectores de orígenes de datos de Athena? (versión preliminar)
Es posible ejecutar consultas SQL en almacenes de datos nuevos si el almacén se registra en Athena. Para registrar un origen de datos, se debe usar un conector de orígenes de datos de Athena específico para dicho origen. El conector se puede utilizar para ampliar la capacidad de consulta de Athena a orígenes de datos nuevos. Se pueden usar los conectores de código abierto provistos por AWS, crear conectores propios, realizar contribuciones destinadas a conectores existentes o usar otros creados por comunidades o en mercados. En función del tipo de origen de datos, un conector administra información de metadatos, identifica partes específicas de las tablas que deben analizarse, leerse o filtrarse, y administra el paralelismo.
 
Los conectores se ejecutan como funciones de AWS Lambda en la cuenta del cliente. Cada conector está conformado por dos funciones de Lambda específicas para un origen de datos: una para los metadatos y otra para la lectura de registros. Puede implementar funciones de Lambda mediante el uso de código en el repositorio Github o bien utilizar funciones de Lambda previamente implementadas de AWS Serverless Application Repository. Una vez que las funciones de Lambda estén implementadas, generarán un nombre de recurso de Amazon, o ARN, único. Los ARN se deben registrar en Athena. El registro de un ARN le permite a Athena saber a qué función de Lambda dirigirse durante la ejecución de consultas. Una vez que se registren ambos ARN, podrá realizar consultas en el origen de datos registrado. El proceso debe repetirse para cada origen de datos.
 
Cuando una consulta se ejecute en un origen de datos federado, Athena distribuirá las invocaciones de Lambda que estén leyendo metadatos y datos en paralelo. La cantidad de invocaciones en paralelo dependerá de los límites de simultaneidad de Lambda de su cuenta. Por ejemplo, si tiene un límite de 300 invocaciones de Lambda simultáneas, Athena puede ejecutar 300 funciones de Lambda paralelas para la lectura de registros. Para dos consultas que se ejecuten en paralelo, Athena invocará el doble de ejecuciones simultáneas. Es posible definir sus propios límites, lo que les permitirá controlar el costo y rendimiento del origen de datos.
 
P: ¿Qué conectores están disponibles para la consulta federada de Athena? (versión preliminar)
Athena tiene conectores de orígenes de datos de código abierto para Apache HBase, Amazon DocumentDB, Amazon DynamoDB, Amazon CloudWatch Logs y CloudWatch Metrics. Athena también tiene un conector JDBC genérico que se conecta a cualquier origen de datos que cumpla los requisitos de JDBC y un conector de AWS Configuration Management Database (CMDB) que permite a los clientes ejecutar consultas en metadatos de recursos de AWS.
 
P: ¿Cómo se usa Query Federation SDK? (versión preliminar)
Puede usar Query Federation SDK para crear un conector propio que utilizará cuando realice consultas en un origen de datos con Athena. Se proveen implementaciones con plantillas para cada uno de los conectores. Puede utilizar las plantillas como referencia. Para comenzar, consulte la documentación.
 
P: ¿Puedo usar las capacidades de consulta federada para procesos de extracción, transformación y carga (ETL)? ¿Cómo es el flujo de trabajo? (versión preliminar)
Todos los resultados de las consultas de Athena se almacenan en una ubicación de Amazon S3 que usted define. Puede usar las capacidades de consulta federada de Athena para ejecutar una consulta que analice orígenes de datos de su elección y almacenar el resultado en S3 en una consulta SQL. Se admiten constructos SQL comunes como JOIN, cláusulas Filter, etc. Además, también puede definir funciones propias mediante el uso de la funcionalidad de UDF de Athena para procesar, con anterioridad o posterioridad, el conjunto de datos de resultados.
 
P: ¿Se van a lanzar SDK compatibles en otros lenguajes de programación que no sean JAVA? (versión preliminar)
Envíe un correo electrónico a athena-feedback@amazon.com e infórmenos qué lenguajes de programación le gustaría que se admitiesen.
 
P: ¿Cuáles son las limitaciones que ya se conocen de Query Federation SDK? (versión preliminar)
Al momento del lanzamiento de la versión preliminar, Query Federation SDK solo admite funciones de Lambda basadas en JAVA y Reads.

Aprendizaje automático (versión preliminar)

P: ¿Qué casos de uso admite Athena para el aprendizaje automático integrado? (versión preliminar)
Los casos de uso de Athena para aprendizaje automático alcanzan diferentes sectores, como se muestra en los siguientes ejemplos. Los analistas de datos de riesgo financiero pueden ejecutar análisis hipotéticos y simulaciones Monte Carlo. Los analistas empresariales pueden ejecutar modelos de predicción y regresión lineales para predecir valores futuros que los ayuden a generar paneles comerciales previsores más completos que estimen ingresos. Los analistas de marketing pueden usar modelos de agrupación de clústeres k-means que los ayuden a determinar los diferentes segmentos de clientes. Los analistas de seguridad pueden usar modelos de regresión logística (bivariantes y multivariantes) para encontrar anomalías y detectar incidentes de seguridad a partir de diferentes registros.
 
P: ¿Qué modelos de aprendizaje automático se pueden utilizar con Athena? (versión preliminar)
Athena puede invocar cualquier modelo de aprendizaje automático que esté implementado en Amazon SageMaker. Tiene la flexibilidad para entrenar un modelo propio con datos patentados o usar un modelo que ya esté entrenado e implementado en SageMaker. Por ejemplo, es probable que el análisis de clústeres se entrene en datos propios, ya que querrá categorizar registros nuevos con las mismas categorías que utilizó en registros anteriores. Por otro lado, para predecir eventos deportivos reales, podría usar un modelo disponible públicamente, ya que los datos de entrenamiento utilizados serían de dominio público. Normalmente, las predicciones específicas de un dominio o sector se entrenan en datos propios en SageMaker, mientras que las necesidades no diferenciadas vinculadas con aprendizaje automático podrían utilizar modelos externos.
 
P: ¿Puedo entrenar mi modelo de aprendizaje automático con Athena? (versión preliminar)
No es posible entrenar e implementar modelos de aprendizaje automático en SageMaker con Athena. Puede entrenar un modelo de aprendizaje automático o usar un modelo existente ya entrenado que se implemente en SageMaker con Athena. Documentación que describe los pasos del entrenamiento en SageMaker.
 
P: ¿Puedo ejecutar tareas de inferencia en modelos implementados en otros servicios, como Comprehend, Forecasting o en modelos implementados en un clúster de EC2 propio? (versión preliminar)
Athena solo admite la invocación de modelos de aprendizaje automático implementados en SageMaker. Nos gustaría recibir comentarios acerca de qué otros servicios le gustaría utilizar con Athena. Envíenos un correo electrónico con sus comentarios a: athena-feedback@amazon.com.
 
P: ¿De qué forma se ve afectado el rendimiento cuando se utilizan consultas de Athena para realizar tareas de inferencia de SageMaker? (versión preliminar)
Incorporamos mejoras de rendimiento operativo de forma constante en nuestros servicios y características. Para optimizar el rendimiento de sus consultas de aprendizaje automático de Athena, agrupamos filas al momento de invocar su modelo de aprendizaje automático de SageMaker para realizar inferencias. Actualmente, no admitimos anulaciones de tamaño de lotes de filas por parte del usuario.
 
P: ¿Qué características admite el aprendizaje automático de Athena? (versión preliminar)
Athena ofrece capacidades de inferencia (predicción) de aprendizaje automático en una interfaz SQL. También puede llamar a una función definida por el usuario de Athena (UDF, incluida en la versión preliminar) para invocar lógica de procesamiento anterior o posterior en el conjunto de resultados. El contenido de entrada puede incluir cualquier columna, registro o tabla, y se pueden agrupar varias llamadas juntas para lograr una escalabilidad mayor. Puede ejecutar inferencias en la fase Select o Filter. Para obtener más información, consulte la documentación.
 
P: ¿Qué modelos de aprendizaje automático puedo usar? (versión preliminar)
Amazon SageMaker admite una variedad de algoritmos de aprendizaje automático. También puede crear un modelo de aprendizaje automático patentado e implementarlo en Amazon SageMaker. Por ejemplo, es probable que el análisis de clústeres se entrene en datos propios, ya que querrá categorizar registros nuevos con las mismas categorías que utilizó en registros anteriores. Por otro lado, para predecir eventos deportivos reales, podría usar un modelo disponible públicamente, ya que los datos de entrenamiento utilizados serían de dominio público.
 
Se espera que las predicciones específicas de un dominio o sector se entrenen en datos propios en SageMaker, mientras que las necesidades indiferenciadas vinculadas con aprendizaje automático, como la traducción automática, utilicen modelos externos.

Seguridad y disponibilidad

P: ¿Cómo puedo controlar el acceso a mis datos?
Amazon Athena le permite controlar el acceso a los datos utilizando las 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: ¿Athena tiene alta disponibilidad?
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.

Precios y facturación

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 rendimiento 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 entre un 30% y un 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 monitoree 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.
Precios de Amazon Athena
Obtenga más información sobre los precios de Amazon Athena

Explore todas las opciones de precios que ofrece Amazon Athena.

Más información 
Regístrese para abrir una cuenta de AWS
Regístrese para obtener una cuenta gratuita

Obtenga acceso instantáneo a la capa gratuita de AWS. 

Regístrese 
Comience a trabajar con Amazon Athena
Comience a crear en la consola

Comience a crear con Amazon Athena en la consola de administración de AWS.

Iniciar sesión