- Análisis›
- Amazon Athena›
- Preguntas frecuentes
Preguntas frecuentes sobre Amazon Athena
Temas de la página
Aspectos generalesAspectos generales
¿Qué es Amazon Athena?
Athena es un servicio de análisis interactivo que simplifica el análisis de datos en Amazon Simple Storage Service (S3) mediante SQL. Athena no tiene servidor, por lo que no hay que configurar ni administrar ninguna infraestructura y puede empezar a analizar los datos inmediatamente. Ni siquiera hace falta cargar los datos en Athena; funciona directamente con los datos almacenados en Amazon S3. Amazon Athena para SQL utiliza Trino y Presto con compatibilidad total con SQL estándar y funciona con varios formatos de datos estándar, incluidos CSV, JSON, Apache ORC, Apache Parquet y Apache Avro. Athena para Apache Spark es compatible con SQL y permite utilizar Apache Spark, un sistema de procesamiento distribuido de código abierto que se utiliza para cargas de trabajo de big data. Para empezar, inicie sesión en Athena Management Console y comience a interactuar con sus datos a través del editor de consultas o los cuadernos.
¿Qué se puede hacer con Athena?
Con Athena, puede analizar datos almacenados en S3 y en más de 30 orígenes de datos, incluidos orígenes de datos en las instalaciones u otros sistemas en la nube. Puede utilizar Athena para ejecutar análisis interactivos mediante ANSI SQL o Python sin necesidad de agregar o cargar los datos en Athena. Athena puede procesar conjuntos de datos no estructurados, semiestructurados y estructurados. Algunos ejemplos son CSV, JSON, Avro o formatos de datos en columnas como Parquet y ORC. Amazon Athena para SQL se integra con Amazon QuickSight para visualizar sus datos o crear cuadros de mando. También puede utilizar Athena para generar informes o explorar datos con herramientas de inteligencia empresarial o clientes SQL, conectados con un controlador ODBC o JDBC.
¿Cómo puedo comenzar a utilizar Athena?
Para comenzar con Athena, inicie sesión en la consola de administración de AWS para Athena y cree su esquema por medio de la escritura de declaraciones de lenguaje de definición de datos (DDL) en la consola o mediante un asistente de creación de tablas. A continuación, puede comenzar a realizar consultas en los datos con el editor de consultas integrado. Athena consulta los datos directamente desde S3, por lo que no se requiere carga.
Amazon Athena para SQL
¿Cómo se accede a Athena?
¿En qué tecnología subyacente se basa Athena para SQL?
Athena para SQL utiliza Trino con compatibilidad completa con SQL estándar y funciona con varios formatos de datos estándar, incluidos CSV, JSON, ORC, Avro y Parquet. Athena es capaz de realizar análisis complejos, incluidas cadenas de gran tamaño, funciones de ventana y matrices. Con la versión 3 del motor SQL de Amazon Athena basado en Trino, aumentamos aún más el rendimiento y añadimos nuevas características, de forma similar a lo que hicimos con la versión 2 del motor de Amazon Athena basado en Presto. Uno de los aspectos más emocionantes de la versión 3 es su nuevo enfoque de integración continua para la administración de software de código abierto, que mantendrá a los clientes al día sobre los proyectos de Trino y PrestoDB. Nuestro objetivo es mantenernos dentro de los 60 a 90 días del lanzamiento de Trino de código abierto. El equipo de desarrollo de Athena contribuye activamente a corregir errores y a mejorar la seguridad, la escalabilidad, el rendimiento y las características de estas bases de código abierto, de modo que cualquiera que utilice Trino, Presto y Apache Iceberg se pueda beneficiar de las contribuciones del equipo.
¿De qué manera Athena para SQL almacena las definiciones de tablas y esquemas?
Athena para SQL utiliza un catálogo de datos administrado de AWS Glue para almacenar información y esquemas sobre las bases de datos y las tablas que crea para sus datos almacenados en S3. En las regiones en las que AWS Glue está disponible, puede actualizarse para utilizar el catálogo de datos con Athena. En las regiones en las que AWS Glue no está disponible, Athena utiliza un catálogo interno.
Puede modificar el catálogo mediante declaraciones DDL o a través de la consola de administración de AWS. Los esquemas que defina se guardarán automáticamente a menos que los elimine explícitamente. Athena utiliza la tecnología de esquema en lectura, lo que significa que sus definiciones de tabla se aplican a sus datos en S3 cuando se realizan las consultas. No es necesario cargar ni transformar datos. Puede eliminar definiciones de tablas y esquemas sin afectar a los datos subyacentes almacenados en S3.
¿Por qué debería pasarme al catálogo de datos?
AWS Glue es un servicio de extracción, transformación y carga (ETL) totalmente administrado. AWS Glue tiene tres componentes principales: 1) un rastreador que escanea automáticamente sus orígenes de datos, identifica formatos de datos e infiere esquemas, 2) un servicio ETL totalmente administrado que permite transformar y mover datos a varios destinos y 3) un catálogo de datos que almacena información de metadatos sobre bases de datos y tablas almacenadas en S3 o en un almacén de datos compatible con ODBC o JDBC. Para utilizar los beneficios de AWS Glue, debe actualizar el uso del catálogo de datos interno de Athena al catálogo de datos de Glue.
Entre las ventajas de actualizar al catálogo de datos se encuentran las siguientes:
- 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 ayudarle a automatizar la creación de tablas y la carga de particiones.
Para más información sobre el catálogo de datos, consulte la página web de AWS Glue.
¿Existe un proceso paso a paso para actualizar al catálogo de datos?
Sí. Para ver el proceso paso a paso, consulte la Guía del usuario de Amazon Athena: Integration with AWS Glue (Integración con AWS Glue).
¿En qué regiones está disponible Athena?
Para más detalles sobre la disponibilidad del servicio Athena por región, consulte la lista de servicios regionales de AWS.
¿Cuáles son los límites de servicio asociados con Athena?
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
¿Cómo creo tablas y esquemas para mis datos en S3?
Athena utiliza Apache Hive DDL para definir tablas. Puede ejecutar declaraciones DDL mediante la consola de Athena, con un controlador ODBC o JDBC, a través de la API o mediante el asistente de creación de tablas de Athena. Si utiliza el catálogo de datos con Athena, también puede utilizar rastreadores de AWS Glue para inferir automáticamente esquemas y particiones. Un rastreador de AWS Glue se conecta a un almacén de datos, avanza a través de una lista priorizada de clasificadores para extraer el esquema de sus datos y otras estadísticas y, a continuación, rellena el catálogo de datos con estos metadatos. Los rastreadores pueden ejecutarse periódicamente para detectar la disponibilidad de nuevos datos y los cambios en los datos existentes, incluidos los cambios en la definición de las tablas. Los rastreadores agregan de forma automática nuevas tablas, nuevas particiones a tablas existentes y nuevas versiones de definiciones de tablas. Puede personalizar los rastreadores de AWS Glue para clasificar sus propios tipos de archivos.
Cuando se crea un nuevo esquema de tabla en Athena, el esquema se almacena en el catálogo de datos y se utiliza al ejecutar consultas, pero no modifica los datos en S3. Athena utiliza un enfoque conocido como esquema en lectura, que permite proyectar el esquema sobre los datos cuando se ejecuta una consulta. Esto reduce la necesidad de cargar o transformar datos. Más información sobre la creación de tablas.
¿Qué formatos de datos admite Athena?
Athena admite varios formatos de datos, como CSV, TSV, JSON o Textfiles, y también admite formatos en columnas de código abierto, como ORC y Parquet. Athena también es compatible con datos comprimidos en formatos Snappy, Zlib, LZO y GZIP. Puede mejorar el desempeño y reducir sus costos si comprime, particiona y utiliza formatos en columnas.
¿Qué tipos de datos admite Athena?
Athena admite tanto tipos de datos simples, como INTEGER, DOUBLE y VARCHAR, como tipos de datos complejos, como MAPS, ARRAY y STRUCT.
¿Puedo ejecutar una consulta de Hive en Athena?
Athena utiliza Hive solo para DDL y para la creación, modificación y eliminación de tablas o particiones. Para obtener una lista completa de las declaraciones admitidas, consulte la Guía del usuario de Amazon Athena: DDL statements (Declaraciones DDL). Athena utiliza Trino y Presto cuando ejecuta consultas SQL en S3. Puede ejecutar declaraciones SQL SELECT compatibles con ANSI para consultar sus datos en S3.
¿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 apunta. Athena utiliza SerDes para interpretar los datos leídos de S3. Los SerDes en Athena tienen la misma función que en Hive. Amazon Athena admite los siguientes SerDes:
- 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” o "org.openx.data.jsonserde.JsonSerDe"
¿Es posible agregar un SerDe propio a Athena?
En la actualidad, no es posible agregar su propio SerDe a Athena. Agradecemos sus comentarios, así que si hay algún SerDes que le gustaría que se agregara, comuníquese con el equipo de Athena a través de athena-feedback@amazon.com.
Si se crearon archivos Parquet/ORC con Spark/Hive, ¿es posible consultarlos en Athena?
Sí, los archivos Parquet y ORC creados con Spark se pueden leer en Athena.
Si existen datos de Amazon Kinesis Data Firehose, ¿cómo se pueden consultar con Athena?
Si sus datos de Kinesis Data Firehose están almacenados en S3, puede consultarlos con Athena. Cree un esquema para sus datos en Athena y comience a realizar consultas. Recomendamos que organice los datos en particiones para mejorar el rendimiento. Puede agregar particiones creadas por Data Firehose mediante declaraciones ALTER TABLE DDL. Más información acerca de las particiones de datos.
¿Athena admite la partición de datos?
Sí. Puede dividir sus datos en cualquier columna con Athena. Con las particiones, puede limitar la cantidad de datos que analiza cada consulta, lo que se traduce en un rendimiento más rápido y una reducción de los costos. Puede especificar su esquema de partición con la cláusula PARTITIONED BY en la declaración CREATE TABLE. Amazon Athena es compatible con los índices de partición del catálogo de datos de AWS Glue para optimizar la planificación de las consultas y reducir el tiempo de ejecución de las mismas. Cuando se consulta una tabla que contiene un gran número de particiones, Athena recupera las particiones disponibles del catálogo de datos de AWS Glue y determina cuáles son necesarias para la consulta. A medida que se agregan nuevas particiones, el tiempo necesario para recuperar las particiones aumenta y puede hacer que aumente el tiempo de ejecución de la consulta. El catálogo de datos de AWS Glue permite a los clientes crear índices de partición que reducen el tiempo necesario para recuperar y filtrar metadatos de partición en tablas con decenas y cientos de miles de particiones.
¿Cómo puedo agregar datos nuevos a una tabla existente de Athena?
Si sus datos están divididos en particiones, tendrá que ejecutar una consulta de metadatos (ALTER TABLE ADD PARTITION) para agregar la partición a Athena una vez que los nuevos datos estén disponibles en Amazon S3. Si los datos no están divididos, agregar los nuevos datos (o archivos) al prefijo existente agrega los datos a Athena de manera automática. Más información acerca de las particiones de datos.
Si ya tengo grandes cantidades de datos de registro en S3, ¿puedo usar Athena para consultarlos?
Sí, Athena agiliza la ejecución de consultas SQL estándar en sus datos de registro existentes. Athena consulta los datos directamente desde S3, por lo que no se requiere movimiento ni carga de datos. Defina su esquema mediante declaraciones DDL y comience a consultar sus datos de inmediato.
Consultas, formatos de datos y análisis multinube
¿Qué tipo de consultas admite Athena?
Amazon Athena admite consultas SQL ANSI. Athena usa Trino, que es un motor SQL distribuido en la memoria y de código abierto capaz de realizar análisis complejos, como cadenas largas, funciones de ventanas y matrices.
¿Puedo usar QuickSight con Athena?
Sí. Athena se integra con QuickSight, para que pueda visualizar sin problemas sus datos almacenados en S3.
¿Athena es compatible con otras herramientas de inteligencia empresarial (BI) y clientes SQL?
¿Cómo puedo acceder a las funciones que admite Athena?
Más información sobre las funciones compatibles con Athena.
¿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. Athena admite formatos de datos en columnas de código abierto, como Parquet y ORC. La conversión de los datos a un formato comprimido y en columnas reduce los costos y mejora el rendimiento de la consulta, ya que permite a Athena escanear menos datos de S3 al ejecutar la consulta.
¿Athena admite las funciones definidas por el usuario (UDF)?
Sí. Athena soporta UDF para que puedas escribir funciones escalares personalizadas e invocarlas en consultas SQL. Aunque Athena proporciona funciones integradas, las UDF le permiten realizar procesamientos personalizados, como comprimir y descomprimir datos, redactar datos confidenciales o aplicar un descifrado personalizado.
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.
¿Cuál es la experiencia del usuario cuando se escribe una UDF?
Puede usar el SDK de Athena Query Federation para escribir una UDF. Revise los ejemplos de UDF. Puede subir su función a Lambda y luego invocarla en su consulta Athena. Para comenzar, consulte la Guía del usuario de Amazon Athena: Creating and deploying a UDF using Lambda (Creación e implementación de una UDF mediante Lambda).
Athena invocará su UDF en un lote de filas del conjunto de datos para mejorar el rendimiento.
¿Athena admite el análisis multinube?
Sí, Athena ofrece varios conectores de orígenes de datos que se pueden utilizar para analizar datos en otros proveedores de servicios en la nube y otros servicios de almacenamiento en la nube, sin necesidad de mover o transformar los datos. Hay conectores de orígenes de datos disponibles para 30 orígenes de datos, incluidos Azure Synapse, Azure Data Lake Storage, Google BigQuery y Google Cloud Storage. Obtenga más información sobre las soluciones de AWS para entornos híbridos y multinube.
Consulta federada
¿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.
¿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.
¿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 comenzar, consulte la documentación y el ejemplo de implementación de conectores.
¿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 de computación distribuida de Athena a través de interfaces ODBC y JDBC.
- Diseñar 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.
- Unificar diversos orígenes de datos para producir características de entrada enriquecidas para los flujos de trabajo de formación de modelos de ML.
- Desarrollar aplicaciones de datos como producto orientadas a usuarios, que arrojen información de las distintas arquitecturas de malla de datos.
- Respaldar casos de uso de análisis mientras su organización migra fuentes locales a AWS.
¿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
¿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.
Machine learning
¿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.
¿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.
¿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.
¿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.
¿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 características 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.
¿Qué características 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).
¿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
¿Cómo se controla el acceso a los datos?
Amazon Athena admite 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 de la gobernanza de datos centralizada 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 con formatos de tablas y archivos no requiere 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 de Athena, que ofrece nuevas características 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.
¿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.
¿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.
¿Puedo proporcionar acceso entre cuentas al bucket de S3 de otra persona?
Sí, puede proporcionar acceso entre cuentas a S3.
Precios y facturación
¿Cuáles son los precios de Athena?
Al utilizar Athena, se puede pagar por consulta en función de los datos analizados, o según el cómputo que necesiten las 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.
¿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 obtener más detalles, consulte la página de precios de Amazon Athena.
¿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.
¿Athena me cobra por las consultas fallidas?
Con el precio por consulta, no se cobra por las consultas fallidas.
¿Athena me 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.
¿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.
¿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
¿Qué es Amazon Athena para Apache Spark?
Athena admite el marco de Apache Spark de modo 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.
¿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.
¿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 la 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.
¿En qué versión de Spark se basa Athena?
Athena para Apache Spark se basa en la versión estable 3.2 de Spark. 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
¿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
¿Cuál es la diferencia entre Athena, Amazon EMR y Amazon Redshift?
Los servicios de consulta como Athena, los almacenamientos de datos como Amazon Redshift y los sofisticados marcos de procesamiento de datos como Amazon EMR abordan diferentes necesidades y casos de uso. Simplemente tiene que elegir la herramienta adecuada para el trabajo. Amazon Redshift proporciona el rendimiento de consulta más rápido para cargas de trabajo de inteligencia empresarial y generación de informes empresariales, en particular las que implican SQL complejo con múltiples uniones y subconsultas. Amazon EMR simplifica el proceso y rentabiliza la ejecución de marcos de procesamiento altamente distribuidos, como Apache Hadoop, Spark y Presto, en comparación con los despliegues locales. Amazon EMR es flexible: puede ejecutar aplicaciones y código personalizados y definir parámetros específicos de informática, memoria, almacenamiento y aplicación para mejorar sus requisitos de análisis. Athena proporciona una forma simplificada de ejecutar consultas interactivas de datos en S3 sin necesidad de configurar o administrar ningún servidor.
¿En qué se diferencia la compatibilidad con SQL de Athena con Redshift, y cómo elijo entre estos dos servicios?
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.
Con su arquitectura de procesamiento masivo en paralelo (MPP) que separa la computación y el almacenamiento y las capacidades de optimización automáticas impulsadas por el machine learning, un almacenamiento de datos como Amazon Redshift (sin importar si es sin servidor o aprovisionado) es una gran elección para clientes que necesitan la mejor relación entre precio y rendimiento a cualquier escala para cargas de trabajo complejas de inteligencia empresarial y de análisis. Redshift la opción más adecuada para impulsar análisis a escala y conjuntos de datos masivos, estructurados y semiestructurados. Tiene un buen rendimiento para cargas de trabajo de informes e inteligencia empresarial, en particular aquellas con SQL extremadamente complejo que tenga numerosas cadenas y subconsultas. Redshift ofrece una profunda integración con los servicios de base de datos, análisis y ML de AWS para que los clientes accedan a los datos en el lugar o los ingieran o trasladen de manera fácil al almacén para llevar a cabo análisis de alto rendimiento, mediante métodos ETL mínimos y sin código. Gracias a las capacidades de consulta federada, Amazon Redshift Spectrum, la integración con Amazon Aurora, AWS Data Exchange y los servicios de streaming de datos, entre otros, Redshift permite utilizar datos de varios orígenes, combinarlos con los datos del almacén y llevar a cabo análisis y machine learning sobre ellos. Redshift ofrece opciones provisionadas y sin servidor para empezar con la analítica de manera fácil sin administrar la infraestructura.
Athena es ideal para realizar análisis interactivos y explorar los datos que se encuentran en Amazon Simple Storage Service (S3) o en cualquier origen de datos, a través de un marco de conectores ampliable que incluye más de 30 conectores listos para usar destinados a aplicaciones y sistemas de análisis locales u otros sistemas analíticos en la nube, con una sintaxis de SQL fácil de usar. Amazon Athena se basa en motores y marcos de código abierto, como Spark, Presto y Apache Iceberg, lo que le da a los clientes flexibilidad para utilizar Python o SQL o trabajar con formatos de datos abiertos. Si los clientes quieren realizar análisis interactivos con marcos y formatos de datos de código abierto, Amazon Athena es un lugar estupendo para ello. Se usa completamente sin servidor, lo que significa que no hay infraestructura que administrar o configurar. La apertura de Athena aumenta la portabilidad de los datos, lo que permite a nuestros clientes mover datos entre diferentes aplicaciones, programas e incluso proveedores de servicios en la nube. Asimismo, recientemente adoptó un nuevo enfoque de integración continua para la administración de software de código abierto que integrará constantemente las últimas funciones de los proyectos Trino, PrestoDB y Apache Iceberg.
¿Cuándo debo utilizar Amazon EMR en lugar de Athena?
Amazon EMR no se limita a la ejecución de consultas SQL. Con Amazon EMR, puede ejecutar varias tareas de procesamiento de datos de escalado horizontal para aplicaciones, como machine learning (ML), análisis de gráficos, transformación de datos, streaming de datos y prácticamente cualquier cosa que pueda codificar. Utilice Amazon EMR si utiliza código personalizado para procesar y analizar grandes conjuntos de datos con los marcos de procesamiento de macrodatos más recientes, como Apache HBase, Spark, Hadoop o Presto. Amazon EMR le aporta control absoluto sobre la configuración de los clústeres y el software instalado en ellos.
Debería utilizar Athena si quiere ejecutar consultas SQL interactivas contra datos en S3 sin tener que administrar ninguna infraestructura ni clústeres.
¿Cómo se compara el soporte de Spark de Athena con EMR sin servidor para Spark? ¿Cuándo utilizaría un cliente Spark en Athena en lugar de EMR sin servidor?
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.
Si los clientes quieren una experiencia interactiva instantánea similar a la experiencia de consulta interactiva basada en SQL con Amazon Athena, pueden elegir Amazon Athena para Apache Spark. La experiencia del cliente en Athena está optimizada para aplicaciones interactivas con tiempos de ejecución cortos y que requieren un tiempo de inicio menor a un segundo. Amazon Athena se encarga del ajuste del rendimiento, las configuraciones, las revisiones de software y las actualizaciones automáticas, sin intervención del cliente. Para aquellos analistas de datos y desarrolladores que cuenten con un profundo conocimiento del lenguaje de programación PySpark e interés en la exploración de datos y la ejecución inmediata de análisis interactivos, Amazon Athena para Apache Spark les ofrece una experiencia fácil de usar.
¿Puedo utilizar Athena para consultar datos que proceso con Amazon EMR?
Sí, Athena admite muchos de los mismos formatos de datos que Amazon EMR. El catálogo de datos de Athena es compatible con el almacén de metadatos Hive. Si utiliza Amazon EMR y ya dispone de un almacén de metadatos de Hive, ejecute sus declaraciones DDL en Athena y, a continuación, podrá comenzar a consultar sus datos de inmediato sin que ello afecte a sus trabajos de Amazon EMR.
¿Cómo se relacionan las consultas federadas de Athena SQL con otros servicios de AWS?
La consulta federada en Athena proporciona una forma unificada de ejecutar consultas SQL en varios orígenes de datos relacionales, no relacionales y personalizados.
¿Cómo se relaciona el ML en Athena con otros servicios de AWS?
Las consultas SQL de Athena pueden invocar modelos de ML implementados en Amazon SageMaker. Puede especificar la ubicación S3 donde se quiere almacenar los resultados de estas consultas SQL Athena.