Uso de consulta federada de Amazon Athena
Si tiene datos en orígenes distintos de Amazon S3, puede utilizar la consulta federada de Athena para consultar los datos en el lugar o crear canalizaciones que extraen datos de varios orígenes de datos y almacenarlos en Amazon S3. Con la consulta federada de Athena, puede ejecutar consultas SQL en datos almacenados en orígenes de datos relaciones, no relacionales, personalizados y de objetos.
Athena utiliza conectores de origen de datos que se ejecutan en AWS Lambda para ejecutar consultas federadas. Un conector de origen de datos es un fragmento de código que puede traducirse entre el origen de datos de destino y Athena. Puede pensar en un conector como una extensión del motor de consultas de Athena. Existen conectores de orígenes de datos de Athena para orígenes de datos como Amazon CloudWatch Logs, Amazon DynamoDB, Amazon DocumentDB y Amazon RDS, y orígenes de datos relacionales compatibles con JDBC como MySQL y PostgreSQL con licencia Apache 2.0. También puede utilizar el SDK de Athena Query Federation para escribir conectores personalizados. Para elegir, configurar e implementar un conector de origen de datos en su cuenta, puede utilizar las consolas Athena y Lambda o AWS Serverless Application Repository. Después de implementar conectores de origen de datos, el conector se asocia a un catálogo que puede especificar en consultas SQL. Puede combinar instrucciones SQL de varios catálogos y abarcar varios orígenes de datos con una sola consulta.
Cuando se envía una consulta en un origen de datos, Athena invoca el conector correspondiente para identificar partes de las tablas que deben leerse, administrar el paralelismo y derribar los predicados de filtro. Según el usuario que envía la consulta, los conectores pueden proporcionar o restringir el acceso a elementos de datos específicos. Los conectores usan Apache Arrow como formato para devolver los datos solicitados en una consulta, lo que permite que los conectores se implementen en lenguajes como C, C++, Java, Python y Rust. Dado que los conectores se ejecutan en Lambda, se pueden utilizar para acceder a datos desde cualquier origen de datos en la nube o en las instalaciones accesible desde Lambda.
Para escribir su propio conector de origen de datos, puede utilizar el SDK de Athena Query Federation para personalizar uno de los conectores prediseñados que Amazon Athena proporciona y mantiene. Puede modificar una copia del código de origen desde el repositorio de GitHub
nota
Es posible que los desarrolladores de terceros hayan utilizado el SDK de Athena Query Federation para escribir conectores de origen de datos. Trabaje con su proveedor de conectores en caso de problemas de soporte o licencia con estos conectores de origen de datos. AWS no prueba ni admite estos conectores.
Para obtener una lista de conectores de orígenes de datos escritos y probados por Athena, consulte Conectores de orígenes de datos disponibles.
Para obtener información sobre cómo escribir su propio conector de origen de datos, consulte Example Athena connector
Consideraciones y limitaciones
-
Versiones del motor: la consulta federada de Athena solo se admite en la versión 2 o una versión posterior del motor Athena. Para obtener más información acerca de las versiones de motor Athena, consulte Control de versiones del motor Athena.
-
Vistas: puede crear y consultar vistas en orígenes de datos federados. Las vistas federadas se almacenan en AWS Glue, no en el origen de datos subyacente. Para obtener más información, consulte Consulta de vistas federadas.
-
Operaciones de escritura: las operaciones de escritura como INSERT INTO no son compatibles. Si se intenta hacerlo, puede aparecer el mensaje de error
This operation is currently not supported for external catalogs
(Esta operación no es compatible actualmente con catálogos externos). -
Precios: para obtener información sobre precios, consulte Precios de Amazon Athena
. Controlador JDBC: para utilizar el controlador JDBC con consultas federadas o un metaalmacén externo de Hive, incluya
MetadataRetrievalMethod=ProxyAPI
en su cadena de conexión JDBC. Para obtener información acerca del controlador JDBC, consulte Conexión a Amazon Athena con JDBC. -
Secrets Manager: para utilizar la característica de consulta federada de Athena con AWS Secrets Manager, debe configurar un punto de enlace privado de Amazon VPC para Secrets Manager. Para obtener más información, consulte Creación de un punto de conexión privado de VPC de Secrets Manager en la Guía del usuario de AWS Secrets Manager.
Los conectores de origen de datos pueden requerir acceso a los siguientes recursos para funcionar correctamente. Si utiliza un conector prediseñado, compruebe la información del conector para asegurarse de que ha configurado correctamente la VPC. Además, asegúrese de que las entidades principales de IAM que ejecutan consultas y crean conectores dispongan de privilegios para las acciones necesarias. Para obtener más información, consulte Ejemplos de políticas de permisos de IAM para permitir la consulta federada de Athena.
-
Amazon S3: además de escribir los resultados de la consulta en la ubicación de resultados de la consulta de Athena en Amazon S3, los conectores de datos también escriben en un bucket de vertido en Amazon S3. Se requiere conectividad y permisos para esta ubicación de Amazon S3.
-
Athena: los orígenes de datos necesitan conectividad con Athena y viceversa para verificar el estado de la consulta y evitar el sobreescaneo.
-
AWS Glue Data Catalog: se requiere conectividad y permisos si el conector utiliza el catálogo de datos para metadatos complementarios o principales.
Videos
Vea los siguientes videos para obtener más información sobre el uso de la consulta federada de Athena.
Video: Analizar los resultados de la consulta federada de Amazon Athena en Amazon QuickSight
En el siguiente video, se muestra cómo analizar los resultados de una consulta federada de Athena en Amazon QuickSight.
Video: Canalización de análisis de juegos
En el siguiente video, se muestra cómo implementar una canalización de datos escalable sin servidor para capturar, almacenar y analizar datos de telemetría de juegos y servicios mediante consultas federadas de Amazon Athena.