使用 Amazon Athena 联合查询
如果您在 Amazon S3 以外的源中拥有数据,则可以使用 Athena 联合查询来查询数据或构建从多个数据来源提取数据并将数据存储在 Amazon S3 中的管道。通过 Athena Federated Query,您可以对存储在关系数据来源、非关系数据来源、对象数据来源和自定义数据来源中的数据运行 SQL 查询。有关支持的数据来源的完整列表,请参阅可用数据来源连接器。
对某个数据来源运行查询时,Athena 会调用相应的连接器来确定要读取的数据、管理并行度以及下推筛选器谓词。连接器还可以根据提交查询的用户,限制对数据的访问。
Athena 使用数据来源连接器对底层数据运行联合查询。Athena 支持两种具有不同功能的数据来源连接器:
-
AWS Glue Data Catalog 联合连接器:这些连接器使用 AWS Glue 连接以连接至数据来源。它们可以通过 Lake Formation 用于支持精细的数据治理控制。有关更多信息,请参阅《AWS Lake Formation 开发人员指南》中的联合目录数据连接。
-
可以选择手动将 Lambda 的关联连接器注册为 AWS Glue Data Catalog,以便与 Lake Formation 配合使用,实现精细的数据治理
-
从 2026 年 4 月 21 日起,某些新创建的连接器将自动注册为 Glue 数据目录,并且不会在您的 AWS 账户中使用 Lambda 函数
-
-
Athena 数据目录联合连接器:这些连接器是 Athena 的专用连接器,不能注册为 AWS Glue Data Catalog 联合目录。它们需要在您的 AWS 账户中提供 Lambda 函数来查询数据。使用 Athena Query Federation SDK 开发的自定义连接器为 Athena 数据目录连接器。有关更多信息,请参阅 使用 Athena Query Federation SDK 编写数据来源连接器。
有关兼容各个类型的数据来源清单,请参阅数据来源支持的连接器类型。
注意
第三方开发人员可能已经使用 Athena Query Federation SDK 来写入数据来源连接器。有关这些数据来源连接器的支持或许可问题,请与您的连接器提供商联系。这些连接器不受 AWS 的测试或支持。
注意事项和限制
-
视图 - 您可以创建和查询联合数据来源的视图。联合视图存储在 AWS Glue 中,而不是底层数据来源中。有关更多信息,请参阅 查询联合视图。
-
分隔标识符:分隔标识符(也称为“带引号的标识符”)以双引号 (") 开头和结尾。目前,Athena 联合查询不支持分隔标识符。
-
写入操作 – 写入操作不受支持,例如 INSERT INTO。尝试这样做可能会导致出现错误消息
This operation is currently not supported for external catalogs(外部目录目前不支持此操作)。 -
定价 – 有关定价信息,请参阅 Amazon Athena 定价
。 -
JDBC 驱动程序:若要将 JDBC 驱动程序与联合查询或外部 Hive 元存储结合使用,请在 JDBC 连接字符串中加入
MetadataRetrievalMethod=ProxyAPI。有关 JDBC 驱动程序的信息,请参阅 通过 JDBC 连接到 Amazon Athena。 -
Secrets Manager – 要将 Athena Federated Query 功能与 AWS Secrets Manager 结合使用,您必须为 Secrets Manager 配置 Amazon VPC 私有端点。有关更多信息,请参阅《AWS Secrets Manager 用户指南》中的 创建 Secrets Manager VPC 私有端点。
-
传递查询:数据来源注册为 AWS Glue Data Catalog 后不支持传递查询。
数据来源支持的连接器类型
下表显示各数据来源支持的连接器类型。2026 年 4 月 21 日或之后创建的某些 AWS Glue Data Catalog 联合目录连接器不需要 Lambda。
| 数据来源 | AWS Glue Data Catalog 联合连接器 | Athena 数据目录联合连接器 | |
|---|---|---|---|
| 没有 Lambda | 带有 Lambda | ||
| Amazon CloudWatch Logs | 是 | 是 | |
| Amazon CloudWatch 指标 | 支持 | 是 | |
| Amazon DocumentDB | 支持 | 是 | 是 |
| Amazon DynamoDB | 支持 | 是 | 是 |
| Amazon MSK | 是 | ||
| Amazon Neptune | 是 | ||
| Amazon OpenSearch | 支持 | 是 | 是 |
| Amazon Redshift | 支持 | 是 | 是 |
| Amazon Timestream | 支持 | 是 | |
| Azure Data Lake 存储 | 支持 | 是 | |
| Azure Synapse | 支持 | 是 | |
| Cloudera Hive | 支持 | 是 | |
| Cloudera Impala | 支持 | 是 | |
| CMDB | 支持 | 是 | |
| Confluent | 是 | ||
| 自定义 | 是 | ||
| Db2 | 支持 | 是 | |
| Db2 iSeries | 支持 | 是 | |
| Google BigQuery | 支持 | 是 | 是 |
| Google Cloud Storage | 支持 | 是 | |
| HBase | 支持 | 是 | |
| Hortonworks (Hive) | 是 | ||
| Kafka | 是 | ||
| MySQL | 支持 | 是 | 是 |
| Oracle | 支持 | 是 | 是 |
| PostgreSQL | 支持 | 是 | 是 |
| Redis OSS | 是 | ||
| SAP HANA | 支持 | 是 | 是 |
| Snowflake | 支持 | 是 | 是 |
| SQL Server | 支持 | 是 | 是 |
| Teradata | 支持 | 是 | 是 |
| TPC-DS | 支持 | 是 | |
| Vertica | 支持 | 是 | |
视频
观看以下视频,了解有关使用 Athena Federated Query 的更多信息。
视频:在 Quick 中分析 Amazon Athena 中的联合查询结果
以下视频说明了如何在 Quick 中分析 Athena 联合查询的结果。
视频:Gaming Analytics Pipeline
以下视频演示了如何部署可扩展的无服务器数据管道,以便使用 Amazon Athena 联合查询从游戏和服务中获取、存储和分析遥测数据。