Aspectos generales
Amazon Athena para SQL
- Repositorio de metadatos unificado: AWS Glue está integrado en varios servicios de AWS. AWS Glue admite datos almacenados en Amazon Aurora, Amazon Relational Database Service (RDS) para MySQL, Amazon RDS para PostgreSQL, Amazon Redshift y S3, así como bases de datos MySQL y PostgreSQL en su nube virtual privada (VPC) de Amazon ejecutada en Amazon Elastic Compute Cloud (EC2). AWS Glue proporciona integración inmediata con Athena, Amazon EMR, Amazon Redshift Spectrum y cualquier aplicación compatible con el almacén de metadatos Apache Hive.
- Reconocimiento automático de esquemas y particiones: AWS Glue rastrea automáticamente sus orígenes de datos, identifica los formatos de datos y sugiere esquemas y transformaciones. Los rastreadores pueden ayudar a automatizar la creación de tablas y la carga automática de particiones.
Para obtener más información sobre los límites de servicio, consulte la Guía del usuario de Amazon Athena: Service Quotas.
Creación de tablas, formatos de datos y particiones
- Apache Web Logs: “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" u "org.openx.data.jsonserde.JsonSerDe"
Consultas, formatos de datos y análisis multinube
Puede escribir las UDF en Java con Athena Query Federation SDK. Cuando se utiliza una UDF en una consulta SQL enviada a Athena, se invoca y ejecuta en AWS Lambda. Las UDF se pueden utilizar tanto en las cláusulas SELECT como FILTER de una consulta SQL. Es posible invocar varias UDF en la misma consulta.
Consulta federada
P: ¿Qué es una consulta federada?
Si tiene datos en orígenes distintos de S3, puede utilizar Athena para consultar los datos en el lugar o crear canalizaciones que extraigan datos de varios orígenes de datos y los almacenen en S3. Con Athena Federated Query, puede ejecutar consultas SQL en datos almacenados en orígenes de datos relacionales, no relacionales, de objetos y personalizados.
P: ¿Por qué debería hacer consultas federadas en Athena?
Las organizaciones suelen almacenar datos en un origen de datos que satisface las necesidades de sus aplicaciones o procesos empresariales. Estas pueden incluir bases de datos relacionales, de clave-valor, de documentos, en memoria, de búsqueda, de gráficos, de series temporales y de libro mayor, además de almacenar datos en un lago de datos S3. La realización de análisis a partir de fuentes tan diversas puede ser compleja y requerir mucho tiempo, ya que suele ser necesario aprender nuevos lenguajes de programación o creación de bases de datos y crear complejas canalizaciones para extraer, transformar y duplicar los datos antes de poder utilizarlos para el análisis. Athena reduce esta complejidad porque permite ejecutar consultas SQL sobre los datos allí donde se encuentran. Puede utilizar componentes SQL conocidas para consultar datos a través de múltiples orígenes de datos para un análisis rápido, o utilizar consultas SQL programadas para extraer y transformar datos de múltiples fuentes de datos y almacenarlos en S3 para su posterior análisis.
P: ¿Qué orígenes de datos se admiten?
Athena proporciona conectores integrados a 30 almacenes de datos populares de AWS, en las instalaciones y otros almacenes de datos en la nube, incluidos Amazon Redshift, Amazon DynamoDB, Google BigQuery, Google Cloud Storage, Azure Synapse, Azure Data Lake Storage, Snowflake y SAP Hana. Estos conectores pueden utilizarse para permitir casos de uso de análisis SQL en tipos de almacenamiento de datos estructurados, semiestructurados, de objetos, de gráficos, de series temporales, etc. Para obtener una lista de los orígenes compatibles, consulte la Guía del usuario de Amazon Athena: Conectores de orígenes de datos disponibles.
También puede utilizar el SDK de conectores de datos de Athena para crear un conector de orígenes de datos personalizado y consultarlo con Athena. Para empezar, consulte la documentación y el ejemplo de implementación de conectores.
P: ¿Qué casos de uso permite la consulta federada?
Con Athena, puede utilizar sus conocimientos de SQL para extraer información de diversos orígenes de datos sin necesidad de aprender un nuevo lenguaje, desarrollar secuencias de comandos para extraer (y duplicar) datos ni administrar la infraestructura. Con Amazon Athena, puede realizar las siguientes tareas:
- ejecutar análisis bajo demanda de datos dispersos en múltiples almacenes de datos con una sola herramienta y dialecto SQL.
- visualizar datos en aplicaciones de BI que envían uniones complejas de múltiples fuentes al motor informático distribuido de Athena a través de interfaces ODBC y JDBC.
- Diseñe canalizaciones ETL de autoservicio y flujos de trabajo de procesamiento de datos basados en eventos con la integración de Athena con AWS Step Functions.
- Unifique diversos orígenes de datos para producir características de entrada enriquecidas para los flujos de trabajo de formación de modelos de ML.
- Desarrolle aplicaciones de datos como producto orientadas a usuarios, que arrojen información de las distintas arquitecturas de malla de datos.
- Respalde casos de uso de análisis mientras su organización migra fuentes locales a AWS.
P: ¿Puedo utilizar consultas federadas para ETL?
Athena guarda los resultados de la consulta en un archivo en S3. Esto significa que puede utilizar Athena para poner los datos federados a disposición de otros usuarios y aplicaciones. Si quiere realizar análisis sobre los datos con Athena sin consultar repetidamente la fuente subyacente, utilice la función CREATE TABLE AS de Athena. También puede utilizar la función UNLOAD de Athena para consultar los datos y almacenar los resultados en un formato de archivo específico en S3.
P: ¿Cómo funcionan los conectores de orígenes de datos?
Un conector de origen de datos es un fragmento de código que se ejecuta en Lambda y que traduce entre el origen de datos de destino y Athena. Cuando se utiliza un conector de origen de datos para registrar un almacén de datos con Athena, se pueden ejecutar consultas SQL en almacenes de datos federados. Cuando se ejecuta una consulta en una fuente federada, Athena llama a la función de Lambda y le asigna la tarea de ejecutar las partes de la consulta que son específicas de la fuente federada. Para más información, consulte la Guía del usuario de Amazon Athena: Uso de la consulta federada de Amazon Athena.
P: ¿Qué orígenes de datos se admiten?
Athena proporciona conectores integrados a 30 almacenes de datos populares de AWS, en las instalaciones y otros almacenes de datos en la nube, incluidos Amazon Redshift, Amazon DynamoDB, Google BigQuery, Google Cloud Storage, Azure Synapse, Azure Data Lake Storage, Snowflake y SAP Hana. Estos conectores pueden utilizarse para permitir casos de uso de análisis SQL en tipos de almacenamiento de datos estructurados, semiestructurados, de objetos, de gráficos, de series temporales, etc. Para obtener una lista de los orígenes admitidos, consulte Uso de conectores de orígenes de datos de Athena.
También puede utilizar el SDK de conectores de datos de Athena para crear un conector de orígenes de datos personalizado y consultarlo con Athena. Para empezar, consulte la documentación y el ejemplo de implementación de conectores.
Machine learning
P: ¿Qué casos de uso admite Athena para el ML integrado?
Los casos de uso de Athena para ML abarcan diferentes sectores, como 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 les permitan generar paneles comerciales previsores más completos que estimen ingresos. Los analistas de marketing pueden utilizar modelos de agrupación k-means para poder determinar sus diferentes segmentos de clientes. Los analistas de seguridad pueden utilizar modelos de regresión logística para encontrar anomalías y detectar incidentes de seguridad a partir de los registros.
P: ¿Qué modelos de ML se pueden utilizar con Athena?
Athena puede invocar cualquier modelo de ML que se implemente en SageMaker. Dispone de flexibilidad para entrenar su propio modelo a partir de sus propios datos o utilizar un modelo ya entrenado y desplegado en SageMaker. Por ejemplo, es probable que el análisis de clústeres se entrene en sus propios datos porque desea clasificar los nuevos registros en las mismas categorías que utilizó para los registros anteriores. Como alternativa, para predecir acontecimientos deportivos del mundo real, podría utilizar un modelo disponible públicamente porque los datos de entrenamiento ya serían de dominio público. Las predicciones específicas del dominio o de la industria se entrenarán normalmente con sus propios datos en SageMaker, mientras que las necesidades indiferenciadas de ML podrían utilizar modelos externos.
P: ¿Puedo entrenar mi modelo de ML con Athena?
No es posible entrenar e implementar modelos de ML en SageMaker con Athena. Puede entrenar su modelo ML o utilizar un modelo ya entrenado y desplegado en SageMaker con Athena. Lea la documentación que describe los pasos de formación 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?
Athena solo admite la invocación de modelos de ML implementados en SageMaker. Agradecemos sus comentarios sobre qué otros servicios quiere 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?
Constantemente se agregan mejoras de rendimiento operativo a nuestras funciones y servicios. Para mejorar el rendimiento de sus consultas Athena ML, las filas se agrupan por lotes al invocar su modelo de ML de SageMaker para la inferencia. En este momento, no se admiten anulaciones de tamaño de lote de filas proporcionadas por el usuario.
P: ¿Qué funciones admite el ML de Athena?
Athena ofrece capacidades de inferencia (predicción) de ML en una interfaz SQL. También puede llamar a una UDF de Athena para invocar la lógica de procesamiento previo o posterior en su conjunto de resultados. El contenido de entrada puede incluir cualquier columna, registro o tabla; también se pueden agrupar varias llamadas juntas para lograr una escalabilidad mayor. Puede ejecutar inferencias en la fase Select o Filter. Para más información, consulte la Guía del usuario de Amazon Athena: Using Machine Learning (ML) with Amazon Athena (Uso del machine learning [ML] con Amazon Athena).
P: ¿Qué modelos de ML puedo usar?
SageMaker admite varios algoritmos de ML. También puede crear su propio modelo ML e implementarlo en SageMaker. Por ejemplo, es probable que el análisis de clústeres se entrene en sus propios datos porque desea clasificar los nuevos registros en las mismas categorías que utilizó para los registros anteriores. Otra posibilidad, para predecir acontecimientos deportivos del mundo real, sería utilizar un modelo disponible públicamente, ya que los datos de entrenamiento utilizados serían de dominio público.
Esperamos que las predicciones específicas del dominio o de la industria se entrenen normalmente con sus propios datos en SageMaker, mientras que las necesidades de ML no diferenciadas, como la traducción automática, utilizarán modelos externos.
Seguridad y disponibilidad
P: ¿Cómo puedo controlar el acceso a mis datos?
Amazon Athena es compatible con el control de acceso detallado con AWS Lake Formation. AWS Lake Formation permite administrar de forma centralizada los permisos y el control de acceso para los recursos del catálogo de datos en su lago de datos de S3. Puede aplicar políticas de control de acceso detalladas en consultas de Athena para datos almacenados en cualquier formato de archivo compatible mediante formatos de tabla como Apache Iceberg, Apache Hudi y Apache Hive. Tiene la flexibilidad de elegir la tabla y el formato de archivo que mejor se adapte a su caso de uso y obtiene el beneficio del control de datos centralizado para asegurar el acceso a los datos cuando usa Athena. Por ejemplo, puede usar el formato de tabla Iceberg para almacenar datos en su lago de datos de S3 para transacciones de escritura confiables a escala, junto con filtros de seguridad de nivel de fila en Lake Formation para que los analistas de datos que residen en diferentes países obtengan acceso a datos de clientes únicamente ubicados en su propio país para cumplir con los requisitos reglamentarios. La nueva compatibilidad ampliada para formatos de tablas y archivos no necesita ningún cambio en la configuración de políticas de control de acceso detalladas en Lake Formation y requiere la versión 3 del motor Athena, que ofrece nuevas funciones y un mejor rendimiento de las consultas. Athena también permite controlar el acceso a sus datos mediante políticas de AWS Identity and Access Management (IAM), listas de control de acceso (ACL) y políticas de bucket de 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 en S3, puede restringir a los usuarios la posibilidad de consultarlos mediante Athena.
P: ¿Athena puede consultar datos cifrados en S3?
Sí, puede consultar datos cifrados mediante cifrado del servidor (SSE) con claves de cifrado administradas por S3, SSE con claves administradas por AWS Key Management Service (KMS) y cifrado del cliente (CSE) con claves administradas por AWS KMS. Athena también se integra con AWS KMS y proporciona una opción para cifrar sus conjuntos de resultados.
P: ¿Athena tiene alta disponibilidad?
Sí. Athena ofrece una alta disponibilidad y ejecuta consultas mediante recursos de computación en varias instalaciones, y enruta automáticamente las consultas de forma adecuada si no se puede acceder a una instalación en particular. Athena utiliza S3 como su almacén de datos subyacente, con lo que sus datos están altamente disponibles y son duraderos. S3 proporciona una infraestructura duradera para almacenar datos importantes. Sus datos se almacenan de forma redundante en diversas instalaciones y en diferentes dispositivos de cada instalación.
P: ¿Puedo proporcionar acceso entre cuentas al bucket de S3 de otra persona?
Sí, puede proporcionar acceso entre cuentas a S3.
Precios y facturación
P: ¿Cuáles son los precios de Athena?
Con Athena, puede elegir pagar por consulta en función de los datos analizados o en función del cálculo que necesitan sus consultas. El precio por consulta se basa en la cantidad de datos analizados, en terabytes (TB), por la consulta. Puede almacenar datos en varios formatos en S3. Si comprime los datos, los divide en particiones o los convierte en formatos de almacenamiento en columnas, paga menos porque sus consultas analizan menos datos. Convertir los datos a un formato en columnas permite a Athena leer solo las columnas que debe procesar la consulta. Con la opción de capacidad aprovisionada, paga un precio por hora por la capacidad de procesamiento de consultas, no por los datos analizados. Puede utilizar la facturación por consulta y la facturación por cálculo en la misma cuenta. Para obtener más detalles, consulte la página de precios de Amazon Athena.
P: ¿Por qué se me cobra menos si utilizo un formato en columnas?
Con la facturación por consulta, Athena cobra en función de la cantidad de datos analizados por consulta. La compresión de sus datos permite a Athena analizar 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 costos. Para más detalles, consulte la página de precios de Amazon Athena.
P: ¿Cómo puedo reducir los costos?
Con la facturación por consulta, puede ahorrar entre un 30 % y un 90 % en costos de consulta y obtener un mejor rendimiento si comprime, particiona y convierte sus datos en formatos en columnas. Cada una de estas operaciones reduce la cantidad de datos analizados y el tiempo necesario para su ejecución. Estas operaciones también se recomiendan cuando se utiliza la capacidad aprovisionada, ya que suelen reducir la cantidad de tiempo que una consulta dedica a ejecutarse.
P: ¿Athena cobra por las consultas fallidas?
Con el precio por consulta, no se cobra por las consultas fallidas.
P: ¿Athena cobra por las consultas canceladas?
Sí. Si cancela una consulta, se cobrará por la cantidad de datos analizados hasta el momento en que canceló la consulta.
P: ¿Existen cargos adicionales asociados con Athena?
Athena consulta los datos directamente desde S3, por lo que sus datos de origen se facturan según las tarifas de S3. Cuando Athena ejecuta una consulta, almacena los resultados en un bucket de S3 de su elección. A continuación, se le facturarán estos conjuntos de resultados según las tarifas estándar de S3. Se recomienda supervisar estos buckets y utilizar políticas de ciclo de vida para controlar cuántos datos se retienen.
P: ¿Se me cobrará por usar el catálogo de datos?
Sí. El uso del catálogo de datos se cobra aparte. Para más información sobre los precios del catálogo de datos, consulte la página de precios de AWS Glue.
Amazon Athena para Apache Spark
P: ¿Qué es Amazon Athena para Apache Spark?
Athena es compatible con el marco Apache Spark para permitir que los analistas e ingenieros de datos puedan disfrutar de la experiencia interactiva y completamente administrada de Athena. Apache Spark es un sistema popular de procesamiento distribuido de código abierto que se perfeccionó para realizar cargas de trabajo de análisis rápidas contra datos de cualquier tamaño y que ofrece un rico sistema de bibliotecas de código abierto. Ahora puede crear aplicaciones de Spark en lenguajes expresivos como Python mediante una experiencia de cuadernos simplificados en la consola de Athena o a través de las API de Athena. Puede consultar datos de diversas fuentes, encadenar múltiples cálculos y visualizar los resultados de sus análisis. En el caso de las aplicaciones Spark interactivas, perderá menos tiempo de espera y será más productivo, ya que Athena inicia la ejecución de las aplicaciones en menos de un segundo. Los clientes obtienen una experiencia Spark simplificada y diseñada específicamente que minimiza el trabajo necesario para las actualizaciones de versiones, el ajuste del rendimiento y la integración con otros servicios de AWS.
P: ¿Por qué debería utilizar Athena para Apache Spark?
Utilice Athena para Apache Spark cuando necesite usar una experiencia analítica interactiva totalmente administrada y una estrecha integración con los servicios de AWS. Puede utilizar Spark para realizar análisis en Athena utilizando lenguajes familiares y expresivos como Python y el creciente entorno de paquetes Spark. Ahora también puede introducir sus aplicaciones de Spark a través de las API de Athena, o en cuadernos simplificados en la consola de Athena, y empezar a ejecutar aplicaciones de Spark en un segundo sin necesidad de configurar y ajustar la infraestructura subyacente. Igual que sucede con las capacidades de consulta SQL de Athena, Athena ofrece una experiencia de Spark totalmente administrada y se encarga del ajuste del desempeño, las configuraciones de las máquinas y la aplicación de parches de software de forma automática, para que no tenga que preocuparse por mantenerse al día con las actualizaciones de versión. Además, Athena se integra estrechamente con otros servicios de análisis del sistema de AWS, como el catálogo de datos. Por lo tanto, puede crear aplicaciones de Spark sobre datos en lagos de datos S3 haciendo referencia a tablas de su catálogo de datos.
P: ¿Cómo empiezo a trabajar con Athena para Apache Spark?
Para comenzar a utilizar Athena para Apache Spark, puede iniciar un bloc de notas en la consola de Athena o iniciar una sesión mediante la interfaz de línea de comandos (CLI) de AWS o la API de Athena. En su cuaderno, puede empezar a ingresar y cerrar aplicaciones Spark con Python. Athena también se integra con el catálogo de datos, por lo que puede trabajar con cualquier origen de datos referenciado en el catálogo, incluidos los datos directamente en los lagos de datos S3. Gracias a los cuadernos, ahora puede consultar datos de diversos orígenes, encadenar múltiples cálculos y visualizar los resultados de sus análisis. En tus aplicaciones Spark, puedes comprobar el estado de ejecución y revisar los registros y el historial de ejecución en la consola Athena.
P: ¿En qué versión de Spark se basa Athena?
Athena para Apache Spark se basa en la versión estable Spark 3.2. Como motor totalmente administrado, Athena proporcionará una compilación personalizada de Spark y se encargará de la mayoría de las actualizaciones de versiones de Spark de forma automática y compatible con versiones anteriores sin necesidad de que usted intervenga.
P: ¿Cuál es el precio de Athena para Apache Spark?
Solo paga por el tiempo de ejecución de su aplicación de Apache Spark. Se le cobra una tarifa por hora en función de la cantidad de unidades de procesamiento de datos (o DPU) que utilice para ejecutar la aplicación de Apache Spark. Una sola DPU proporciona 4 vCPU y 16 GB de memoria. Se le cobrará en incrementos de 1 segundo, redondeados al minuto más cercano.
Cuando inicia una sesión de Spark, ya sea mediante el inicio de un cuaderno en la consola de Athena o el uso de la API de Athena, se aprovisionan dos nodos para su aplicación: un nodo del cuaderno que actuará como servidor para la interfaz de usuario del cuaderno y un nodo controlador de Spark que coordina esa aplicación de Spark y se comunica con todos los nodos de trabajo de Spark. Athena le cobrará por los nodos controlador y de trabajo a lo largo de la duración de la sesión. Amazon Athena proporciona cuadernos en la consola como interfaz de usuario para crear, enviar y ejecutar aplicaciones de Apache Spark y se lo ofrece sin costo adicional. Athena no cobra por los nodos del cuaderno utilizados durante la sesión de Spark.
Cuándo utilizar Athena en lugar de otros servicios de macrodatos
Amazon Athena y Amazon Redshift sin servidor abordan diferentes necesidades y casos de uso, aun cuando ambos servicios son sin servidor y permiten usuarios SQL.
EMR sin servidor es la forma más sencilla de ejecutar aplicaciones de Spark y Hive en la nube y la única solución de Hive sin servidor del sector. Con EMR sin servidor, puede eliminar la sobrecarga operativa que supone ajustar, redimensionar, proteger, parchear y administrar clústeres, y pagar únicamente por los recursos que sus aplicaciones utilizan en realidad. Con el tiempo de ejecución optimizado para el rendimiento de EMR, obtendrá un rendimiento dos veces más ágil que el del código abierto estándar, por lo que sus aplicaciones se ejecutarán más rápido y se reducirán los costos de computación. El tiempo de ejecución optimizado para el rendimiento de EMR es 100 % compatible con la API de código abierto estándar, por lo que no tendrá que reescribir sus aplicaciones para ejecutarlas en EMR. Tampoco se necesita un gran conocimiento de Spark para activarlas, ya que vienen activadas de forma predeterminada. EMR le ofrece la opción de ejecutar aplicaciones en clústeres EMR, clústeres EKS o EMR sin servidor. Los clústeres de EMR son adecuados para clientes que necesitan obtener el máximo control y flexibilidad a la hora de ejecutar su aplicación. Con EMR en los clústeres, los clientes pueden elegir el tipo de instancia de EC2, personalizar la AMI de Amazon Linux Image, personalizar la configuración de la instancia de EC2, personalizar y ampliar los marcos de código abierto e instalar software personalizado adicional en las instancias del clúster. EMR en EKS es adecuado para clientes que quieren estandarizar EKS para administrar clústeres entre aplicaciones o usar diferentes versiones de un marco de código abierto en el mismo clúster. EMR sin servidor es adecuado para clientes que quieren evitar la administración y operación de clústeres y simplemente quieren ejecutar aplicaciones utilizando marcos de código abierto.
Las consultas SQL de Athena pueden invocar modelos ML implementados en Amazon SageMaker. Puede especificar la ubicación S3 donde se quiere almacenar los resultados de estas consultas SQL Athena.

Explore todas las opciones de precios que ofrece Amazon Athena.

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

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