一般性问题

问:什么是 Amazon Athena?
Amazon Athena 是一种交互式查询服务,让您能够轻松使用标准 SQL 分析 Amazon S3 中的数据。Athena 是无服务器式服务,因此您无需设置或管理基础设施即可马上开始分析数据。您甚至无需将数据加载到 Athena 中,因为它可以直接处理 S3 中存储的数据。要开始使用,您只需登录到 Athena 管理控制台,定义 schema,然后开始查询即可。Amazon Athena 使用 Presto 并为标准 SQL 提供了完整的支持,可处理 CSV、JSON、ORC、Apache Parquet 和 Avro 等各种标准数据格式。Amazon Athena 不仅是交互式分析的理想选择,可与 Amazon QuickSight 集成轻松实现可视化,而且还能处理复杂的分析,包括大型联接、窗口函数和数组。
 
问:Amazon Athena 可以用来做什么?
Amazon Athena 可帮助您分析存储在 Amazon S3 中的数据。您可以使用 ANSI SQL 通过 Athena 运行交互式分析,而无需将数据聚合或加载到 Athena 中。Amazon Athena 能够处理非结构化、半结构化和结构化的数据集。示例包括 CSV、JSON、Avro 或列式数据格式,如 Apache Parquet 和 Apache ORC。Amazon Athena 可与 Amazon QuickSight 集成,轻松实现可视化。此外,您还可以使用 Amazon Athena 生成报表,或借助商业智能工具或 SQL 客户端(通过 ODBCJDBC 驱动程序进行连接)浏览数据。
 
问:如何开始使用 Amazon Athena?
要开始使用 Amazon Athena,您只需登录到 Athena 的 AWS 管理控制台,然后通过在控制台中编写 DDL 语句或使用创建表向导来创建 schema 即可。然后,您可以使用内置的查询编辑器开始查询数据。Athena 直接从 Amazon S3 查询数据,因此无需加载数据。
 
问:如何访问 Amazon Athena?
您可以通过 AWS 管理控制台、API 或者 ODBC 或 JDBC 驱动程序访问 Amazon Athena。您可以使用 ODBCJDBC 驱动程序以编程方式运行查询、添加表或分区。
 
问:Amazon Athena 有哪些服务限制?
单击此处详细了解服务限制。
 
问:Amazon Athena 采用了何种基础技术?
Amazon Athena 使用完全支持标准 SQL 的 Presto,可处理 CSV、JSON、ORC、Avro 和 Parquet 等各种标准数据格式。Athena 能够处理复杂的分析,包括大型联接、开窗函数和数组。Amazon Athena 使用 Amazon S3 作为基础数据存储,因此具有高可用性和持久性(数据冗余地存储在多个设施和每个设施中的多个设备上)。请访问 此处,了解有关 Presto 的更多信息。
 
问:Amazon Athena 如何存储表定义和 schema?
Amazon Athena 使用托管的数据目录来存储有关您为 Amazon S3 中存储的数据创建的数据库和表的信息及 schema。在提供 AWS Glue 的区域内,您可以升级到结合使用 AWS Glue 数据目录和 Amazon Athena。在不提供 AWS Glue 的区域内,Athena 使用内部目录。
您可以使用 DDL 语句或通过 AWS 管理控制台修改目录。您定义的任何 schema 都会自动保存,除非明确将其删除。Athena 使用基于读取的 schema 技术,这意味着表定义在执行查询时会应用于您存储在 S3 中的数据。无需加载或转换数据。您可以删除表定义和 schema,这不会影响存储在 Amazon S3 上的基础数据。
 
问:我为什么应该升级到 AWS Glue 数据目录?
AWS Glue 是一项完全托管式 ETL 服务。Glue 有三个主要组件:1) 抓取程序,用于自动扫描数据源、识别数据格式和推断 schema;2) 完全托管的 ETL 服务,支持您转换数据并将其移动至多个目标;以及 3) 数据目录,用于存储有关 S3 或者符合 ODBC 或 JDBC 规范的数据存储中所存储的数据库和表的元数据信息。要发挥 Glue 的优势,您必须从使用 Athena 的内部数据目录升级为使用 Glue 数据目录。
升级到 Glue 数据目录具有以下优势:
  1. 统一的元数据存储库:AWS Glue 可以与各种 AWS 服务集成。AWS Glue 支持在 Amazon Aurora、Amazon RDS MySQL、Amazon RDS PostreSQL、Amazon Redshift 和 Amazon S3,以及 Amazon EC2 上运行的 Virtual Private Cloud (Amazon VPC) 中的 MySQL 和 PostgreSQL 数据库中存储的数据。AWS Glue 可与 Amazon Athena、Amazon EMR、Amazon Redshift Spectrum 以及任何 Apache Hive Metastore 兼容的应用程序进行开箱即用的集成。
  2. 自动 schema 和分区识别:AWS Glue 可以自动抓取您的数据源、识别数据格式并提出 schema 和转换建议。抓取程序可帮助自动创建表并自动加载分区。
  3. 轻松构建管道:AWS Glue 的 ETL 引擎能生成可自定义、可重用且可移植的 Python 代码。您可以使用喜爱的 IDE 或笔记本电脑编辑代码,并使用 GitHub 将其与其他人共享。ETL 作业准备就绪后,您可以安排它在 AWS Glue 完全托管的扩展 Spark 基础设施上运行。AWS Glue 是一项无服务器服务,因此它可以对运行 ETL 作业所需的资源进行预置、配置和扩展,从而让您能够将 ETL 与工作流程紧密集成。
单击 此处以了解有关 Glue 数据目录的更多信息。
 
问:是否有升级到 AWS 数据目录的分步指导?
有。您可以在 此处查看分步指南。
 
问:Amazon Athena 在哪些区域可用?
有关 Amazon Athena 在各个区域的可用性方面的详细信息,请参阅 区域性产品和服务

何时该使用 Athena,何时该使用其他大数据服务

问:Amazon Athena、Amazon EMR 和 Amazon Redshift 之间有何差异?
查询服务(如 Amazon Athena)、数据仓库(如 Amazon Redshift)和复杂的数据处理框架(如 Amazon EMR)都可以满足不同的需求和使用案例。您只需要为作业挑选适当的工具即可。Amazon Redshift 为企业报告和商业智能工作负载提供最快的查询性能,这一点在涉及具有多个联接和子查询的极为复杂的 SQL 查询方面尤为明显。与本地部署相比,Amazon EMR 使运行高度分布式的处理框架(如 Hadoop、Spark 和 Presto)变得简单且经济高效。Amazon EMR 非常灵活 - 您可以运行自定义的应用程序和代码,定义特定的计算、内存、存储和应用程序参数,以优化您的分析需求。Amazon Athena 为针对 S3 中的数据运行交互式查询提供了最简单的方法,您不必设置或管理任何服务器。
 
问:什么时候该使用 Amazon Redshift 这样功能全面的企业数据仓库?什么时候该使用 Amazon Athena 这样的查询服务呢?
当您需要将许多不同来源(如库存系统、财务系统和零售系统)的数据汇总成一种通用格式并长期存储时,或者需要从历史数据生成复杂的业务报告时,像 Amazon Redshift 这样的数据仓库是您最好的选择。
 
数据仓库从公司的各个位置收集数据,并充当生成和分析报告的“单一信息源”。数据仓库从不同来源提取数据、格式化并组织数据、存储数据,同时支持生成业务报告的复杂、高速查询。Amazon Redshift 中的查询引擎经过优化,在需要运行联接大量非常大的数据库表的复杂查询使用案例中执行得非常好。TPC-DS 是旨在复制此使用案例的标准基准,与针对非结构化数据进行优化的查询服务相比,Redshift 将此类查询的运行速度提高了高达 20 倍。当需要针对高度结构化的数据运行查询并需要在许多大型表之间进行大量联接时,您应选择 Amazon Redshift。
 
相比之下,Amazon Athena 这样的查询服务可以直接对 Amazon S3 中的数据运行交互式查询,您不必操心格式化数据或管理基础设施之类的繁琐细节。例如,如果只需要对某些网络日志运行快速查询以诊断站点上的性能问题,则 Athena 就是一种很好的选择。通过查询服务,您可以迅速开始工作。您只需为数据定义一个表,即可使用标准 SQL 开始查询。
 
此外,您还可以将两项服务配合使用。如果您在将数据加载到 Amazon Redshift 之前将其暂存在 Amazon S3 上,则也可以将这些数据注册到 Amazon Athena 并通过其进行查询。
 
问:分别应在何时使用 Amazon EMR 和Amazon Athena?
Amazon EMR 的功能远不止运行 SQL 查询。借助 EMR,您可以为 Machine Learning、图形分析、数据转换、流式处理数据以及您可以编写代码的几乎任何应用运行各种横向扩展的数据处理任务。如果需要使用自定义代码通过最新的大数据处理框架(如 Spark、Hadoop、Presto 或 Hbase)来处理和分析超大数据集,则应该使用 Amazon EMR。通过 Amazon EMR,您可以全面掌控集群及其上安装的软件的配置。
 
如果需要对 Amazon S3 上的数据运行交互式 SQL 查询,又不想管理任何基础设施或集群,则应该使用 Amazon Athena。
 
问:可以使用 Amazon Athena 查询使用 Amazon EMR 处理的数据吗?
可以。Amazon Athena 支持许多与 Amazon EMR 相同的数据格式。Athena 的数据目录兼容 Hive 元存储。如果您正在使用 EMR 并且已有 Hive 元存储,则只需在 Amazon Athena 上执行 DDL 语句,即可开始查询数据,这不会对您的 Amazon EMR 作业产生任何影响。
 
问:Athena 中的联合查询与其他 AWS 服务有何关联?
Athena 中的联合查询允许您跨各种关系、非关系和自定义数据源运行 SQL 查询。您可以通过一种统一方式跨多个数据存储运行 SQL 查询。
 
问:Athena 中的机器学习与其他 AWS 服务有何关联?
Athena SQL 查询可以调用 Amazon SageMaker 上部署的 ML 模型。您可以指定它们想要存储这些 Athena SQL 查询结果的 Amazon S3 位置。

创建表、数据格式和分区

问:如何在 Amazon S3 上为我的数据创建表和 schema?
Amazon Athena 使用 Apache Hive DDL 定义表。您可以使用 Athena 控制台、通过 ODBC 或 JDBC 驱动程序、通过 API 或使用 Athena 创建表向导来运行 DDL 语句。如果将 AWS Glue 数据目录与 Athena 配合使用,您还可以使用 Glue 抓取程序来自动推断 schema 和分区。AWS Glue 抓取程序可连接到数据存储,使用分类器的优先级列表来提取数据和其他统计数据的 schema,然后使用该元数据填充 Glue 数据目录。抓取程序可定期运行,以检测新数据的可用性以及现有数据的更改,包括表定义的更改。抓取程序会自动将新表、新分区以及新版本的表定义添加到现有表。您可以自定义 Glue 抓取程序以对自己的文件类型进行分类。
 
当您在 Amazon Athena 中创建新的表 schema 时,schema 将存储在数据目录中,并在执行查询时使用,但不会修改您存储在 S3 中的数据。Athena 采用称作“基于读取的 schema”的方法,它在您执行查询时将 schema 投射到数据。这样就无需加载或转换任何数据。了解有关 创建表的更多信息。
 
问:Amazon Athena 支持哪些数据格式?
Amazon Athena 支持许多类型的数据格式,如 CSV、TSV、JSON、Textfiles 等;此外,它还支持开源列格式,如 Apache ORC 和 Apache Parquet。Athena 还支持 Snappy、Zlib、LZO 和 GZIP 格式的压缩数据。通过压缩、分区和使用列格式,您可以提高性能并降低成本。
 
问:Amazon Athena 支持哪些数据类型?
Amazon Athena 支持简单数据类型(如 INTEGER、DOUBLE、VARCHAR)及复杂数据类型(如 MAPS、ARRAY、STRUCT)。 
 
问:可以在 Athena 上运行 Hive 查询吗?
Amazon Athena 只将 Hive 用于 DDL(数据定义语言)以及创建/修改和删除表和/或分区。请 单击此处查看受支持语句的完整列表。在 Amazon S3 上运行 SQL 查询时,Athena 使用 Presto。您可以运行符合 ANSI 标准的 SQL SELECT 语句来查询 Amazon S3 中的数据。
 
问:什么是 SerDe?
SerDe 表示串行器/解串器 (Serializer/Deserializer),它们是告诉 Hive 如何解释数据格式的库。Hive DDL 语句要求您指定 SerDe,以便系统知道如何解释您指向的数据。Amazon Athena 使用 SerDe 解释从 Amazon S3 读取的数据。SerDe 在 Athena 中的概念与在 Hive 中使用的概念相同。Amazon Athena 支持以下 SerDe:
  1. Apache Web 日志:“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. 自定义分隔符:“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”或“org.openx.data.jsonserde.JsonSerDe”
 
问:可以向 Amazon Athena 添加自己的 SerDe(串行器/解串器)吗?
目前,您无法向 Amazon Athena 添加自己的 SerDe。感谢您的反馈!如果您希望添加任何 SerDe,请与 Athena 团队 ( Athena-feedback@amazon.com) 联系
 
问:我使用 Spark/Hive 创建了 Parquet/ORC 文件。我可以通过 Athena 查询它们吗?
可以。您可以在 Athena 中读取通过 Spark 创建的 Parquet 和 ORC 文件。
 
问:我的数据来自 Kinesis Firehose。如何使用 Athena 查询?
如果您的 Kinesis Firehose 数据存储在 Amazon S3 中,您可以使用 Amazon Athena 进行查询。只需在 Athena 中为您的数据创建 schema 并开始查询即可。建议您将数据组织到分区中,以优化性能。您可以使用 ALTER TABLE DDL 语句添加 Kinesis Firehose 创建的分区。了解有关 分区的更多信息。
 
问:Amazon Athena 是否支持数据分区?
是。Amazon Athena 允许您对任意列上的数据进行分区。分区能够限制查询扫描的数据量,从而节省成本并提高性能。您可以在 CREATE TABLE 语句中使用 PARTITIONED BY 子句指定分区 scheme。了解有关 分区数据的更多信息。
 
问:如何在 Amazon Athena 中向现有的表添加新数据?
如果您的数据已分区,只要 Amazon S3 上有新数据可用,就需要运行元数据查询 (ALTER TABLE ADD PARTITION) 将此分区添加到 Athena。如果您的数据未分区,只需将新数据(或文件)添加到现有前缀,即可将数据自动添加到 Athena。了解有关 分区数据的更多信息。
 
问:我在 Amazon S3 中存储着大量日志数据。可以使用 Amazon Athena 进行查询吗?
可以。通过 Amazon Athena 您可以方便地对现有日志数据运行标准 SQL 查询。Athena 直接从 Amazon S3 查询数据,因此无需移动或加载数据。只需使用 DDL 语句定义 schema,即可开始查询数据。

查询和数据格式

问:Amazon Athena 支持哪些类型的查询?
Amazon Athena 支持 ANSI SQL 查询。Amazon Athena 使用 Presto(一种开源的内存分布式 SQL 引擎),能够处理复杂的分析,包括大型联接、开窗函数和数组。

问:能否将 Amazon QuickSight 与 Amazon Athena 配合使用?
可以。Amazon Athena 与 Amazon QuickSight 集成,可方便地直观呈现存储在 Amazon S3 中的数据。

问:Athena 是否支持其他 BI 工具和 SQL 客户端?
是。Amazon Athena 随附 ODBC 和 JDBC 驱动程序,您可以将其与其他商业智能工具和 SQL 客户端配合使用。详细了解如何将 ODBCJDBC 驱动程序与 Athena 配合使用。

问:如何访问 Amazon Athena 支持的函数?
有关 Amazon Athena 支持的函数的更多信息,请单击 此处
 
问:如何提高查询性能?
您可以通过压缩、分区或将数据转换为列格式来提高查询性能。Amazon Athena 支持开源列数据格式,如 Apache Parquet 和 Apache ORC。将数据转换为压缩的列格式可降低成本,并通过减少 Athena 在执行查询时从 S3 扫描的数据来提高查询性能。
 
问:Athena 支持用户自定义函数 (UDF) 吗?
Amazon Athena 支持用户定义函数 (UDF) 以使您能够编写自定义标量函数并在 SQL 查询中调用它们。虽然 Athena 提供了内置函数,但 UDF 让您能够执行自定义处理,例如压缩和解压数据、编写敏感数据或应用自定义解密。

您可以使用 Athena Query Federation SDK 在 Java 中编写 UDF。在提交到 Athena 的 SQL 查询中使用 UDF 时,将会在 AWS Lambda 上调用和执行该 UDF。UDF 可用于 SQL 查询的 SELECT 和 FILTER 子句。您可以在同一查询中调用多个 UDF。
 
问:编写 UDF 时的用户体验是什么?
您可以使用 Athena Query Federation SDK 编写您的 UDF。 此处提供了 UDF 示例。 您可以将函数上传到 AWS Lambda,然后在 Athena 查询中调用它。 单击此处可以开始。
 
Athena 将在一组数据集行上调用 UDF 以优化性能。

联合查询

问:什么是联合查询?
如果您有 Amazon S3 以外的数据来源,可以使用 Athena 就地查询数据或者构建从多个数据源提取数据并将其存储在 Amazon S3 中的管道。使用 Athena 联合查询,您可以跨关系、非关系、对象和自定义数据源运行 SQL 查询。

问:为何应在 Athena 中使用联合查询?
企业经常将数据存储在满足其应用程序或业务流程需要的数据源中。除了在 S3 数据湖中存储数据之外,这些数据源可能还包括关系、键值、文档、内存中、搜索、图形、时间序列和分类账数据库。在这些不同的数据源上执行分析可能是复杂且耗时的,因为它通常需要学习新的编程语言或数据库构造,并在用于分析之前构建复杂的管道来提取、转换和复制数据。Athena 通过允许您对它所在的数据运行 SQL 查询,消除了这种复杂性。您可以跨多个数据源使用众所周知的 SQL 构造查询数据以实现快速分析,或使用调度的 SQL 查询从多个数据源提取和转换数据,并将它们存储在 S3 中以用于将来的分析。

问:支持哪些数据源?
Athena 为几个常见的数据存储提供了内置连接器,包括 Amazon Redshift 和 Amazon DynamoDB。您可以使用这些连接器在结构化、半结构化、对象、图形、时间序列和其他数据存储类型上支持 SQL 分析使用案例。有关支持的源列表,请参阅使用 Athena 数据源连接器

您还可以使用 Athena 的数据连接器开发工具包创建自定义数据源连接器并使用 Athena 查询它。首先查看我们的文档和示例连接器实施。

问:联合查询支持哪些使用案例?
通过 Athena,您可以利用现有的 SQL 知识从广泛的数据源中提取洞察,而无需学习一门新的语言,开发脚本来提取(和复制)数据,或管理基础设施。使用 Amazon Athena,您可以:

  • 使用单一工具和 SQL 方言对分布在多个数据存储中的的数据进行按需分析
  • 可视化商业智能应用程序中的数据,这些应用程序通过 JDBC 和 ODBC 接口将复杂的多源连接下推到 Athena 的分布式计算引擎
  • 通过 Athena 与 AWS Step Functions 的集成,设计自助式 ETL 管道和基于事件的数据处理工作流
  • 统一多种数据源,为机器学习模型训练工作流生成丰富的输入功能
  • 开发面向用户的数据即产品应用程序,提供跨数据网格架构的洞察
  • 在您的企业将本地部署资源迁移到 AWS 云时,支持分析使用案例


问:我是否能够将联合查询用于 ETL(提取、转换、加载)?
Athena 将查询结果存储在 Amazon S3 中的一个文件中。这意味着您可以使用 Athena 让其他用户和应用程序能够使用联合数据。如果您想要使用 Athena 对数据执行分析而不重复查询基础源,请使用 Athena 的 CREATE TABLE AS 函数。您还可以使用 Athena 的 UNLOAD 函数查询数据并将结果以特定文件格式存储在 Amazon S3 上。

问:数据源连接器是如何工作的?
数据源连接器是运行在 AWS Lambda 上的一段代码,它在目标数据源和 Athena 之间进行转换。当您使用数据源连接器向 Athena 注册数据存储后,就可以在联合数据存储上运行 SQL 查询。当查询在联合源上运行时,Athena 会调用 Lambda 函数,并让它执行特定于联合源的查询的各个部分。要了解更多信息,请参阅使用 Amazon Athena 联合查询

机器学习

问:Athena 支持哪些嵌入式 ML 用例?
Athena 的 ML 用例跨越多个不同的行业,如以下示例所示。金融风险数据分析师可以运行 what-if 分析和蒙特卡洛模拟。业务分析师可以运行线性回归或预测模型来预测未来价值,帮助他们创建更丰富的、有前瞻性的、能够预测收入的业务仪表板。营销分析师可以使用 K-均值集群模型来帮助确定不同的客户群体。安全分析师可以使用逻辑回归模型,通过对数发现异常和检测安全事故。 
 
问:哪些 ML 模型可以与 Athena 一起使用?
Athena 可以调用 Amazon SageMaker 上部署的任何 ML 模型。您可以灵活地使用专有数据训练自己的模型,或使用预先训练好并部署到 SageMaker 上的模型。例如,集群分析很可能是根据您自己的数据训练的,因为您想要将新记录分类到用于先前记录的相同类别中。在另一方面,为了预测真实世界体育赛事,您可以使用公开可用的模型,因为所用的训练数据已经位于公共领域中。领域特定或行业特定预测通常将根据您在 SageMaker 中的数据进行训练,而无差别 ML 需求可能会使用外部模型。
 
问:如何使用 Athena 训练我的 ML 模型?
您不能使用 Athena 在 SageMaker 上训练和部署您的 ML 模型。您可以训练 ML 模型,或使用通过 Athena 在 SageMaker 上部署的预先训练好的现有模型。 这里提供了详细记录 SageMaker 上的训练步骤的文档。
 
问:我可以在其他服务(如 Comprehend、Forecasting)上部署的模型或我自己的 EC2 集群上部署的模型上运行推理吗?
Athena 仅支持调用 SageMaker 上部署的 ML 模型。我们欢迎您提供反馈,告诉我们您想要将哪些服务与 Athena 结合使用。请将您的反馈通过电子邮件发送至 athena-feedback@amazon.com。
 
问:使用 Athena 查询进行 SageMaker 推理有哪些性能影响?
我们会持续地向我们的功能和服务增加工作性能改进。为优化 Athena ML 查询的性能,在您调用 SageMaker ML 模型进行推理时,我们会将行整理为批次。目前,我们不支持用户提供的行批量大小覆盖。
 
问:Athena ML 支持哪些功能?
Athena 提供由 SQL 接口封装的 ML 推理(预测)功能。您还可以调用 Athena 用户定义函数 (UDF),以对结果集调用预处理或后处理逻辑。输入可以包含任何列、记录或表,多个调用可以打包在一起以提高可扩展性。您可以在 Select 阶段或 Filter 阶段运行推理。要了解更多信息,请 访问我们的文档。
 
问:我可以使用哪些 ML 模型?
Amazon SageMaker 支持多种 ML 算法。您还可以创建自己的专有 ML 模型并部署到 Amazon SageMaker。例如,集群分析很可能是根据您自己的数据训练的,因为您想要将新记录分类到用于先前记录的相同类别中。在另一方面,为了预测真实世界体育赛事,您可以使用公开可用的模型,因为所用的训练数据已经位于公共领域中。
 
根据我们的预期,领域特定或行业特定预测通常将根据您在 SageMaker 中的数据进行训练,而无差别 ML 需求(如,机器翻译)可能会使用外部模型。

安全性与可用性

问:如何控制对我的数据的访问?
Amazon Athena 允许您通过使用 AWS Identity and Access Management (IAM) 策略、访问控制列表 (ACL) 和 Amazon S3 存储桶策略来控制对数据的访问。通过 IAM 策略,您可以授予 IAM 用户对 S3 存储桶的细化控制权。通过控制对 S3 中数据的访问,您可以限制用户使用 Athena 对其进行查询。
 
问:Athena 可以查询 Amazon S3 中的加密数据吗?
可以。您可以查询使用 Amazon S3 托管加密密钥在服务器端加密的数据、使用 AWS Key Management Service (KMS) 托管密钥在服务器端加密的数据以及使用 KMS 托管的密钥在客户端加密的数据。Amazon Athena 还与 KMS 实现了集成,支持加密您的结果集。
 
问:Athena 是否具有高可用性?
是。Amazon Athena 具有高可用性,它会利用跨多个设施的计算资源执行查询,如果特定设施无法访问,它会适当地自动路由查询。Athena 使用 Amazon S3 作为基础数据存储,可确保您的数据具有高可用性和高持久性。Amazon S3 提供耐久的基础设施存储重要数据,其设计旨在为对象提供 99.999999999% 的耐久性。您的数据将跨多个设施和在各个设施的多个设备间冗余存储。
 
问:我可以提供对他人 S3 存储桶的跨账户访问权限吗?
可以。您可以提供对 Amazon S3 的跨账户访问权限。

定价和计费

问:Amazon Athena 如何定价?
Amazon Athena 按查询定价,并基于查询扫描的数据量收费。您可以在 Amazon S3 上存储各种格式的数据。如果您压缩数据、分区或将其转换为列式存储格式,则由于扫描的数据较少,您需要支付的费用也会减少。将数据转换为列格式能够让 Athena 只读取处理查询所需的列。有关更多详情,请参阅 Athena 定价页面
 
问:为什么使用列格式时收费较少?
Amazon Athena 根据查询扫描的数据量收取费用。压缩数据会减少 Amazon Athena 扫描的数据量。将数据转换为列格式能够让 Athena 有选择地只读取处理数据所必需的列。对数据进行分区也能限制 Athena 扫描的数据量。这能够节省成本并提高性能。有关详细信息,请参阅 定价示例。
 
问:如何降低成本?
通过压缩、分区和将数据转换为列格式,可以节省 30%-90% 的查询成本,同时获得更好的性能。这几种操作都能减少 Amazon Athena 执行查询所需扫描的数据量。Amazon Athena 支持 Apache Parquet 和 ORC 这两种最为流行的开源列格式。您可以在 Athena 控制台中查看每次查询扫描的数据量。
 
问:查询失败时 Amazon Athena 是否收费?
否。如果查询失败,系统不会向您收取费用。
 
问:如果取消查询,Amazon Athena 是否会收费?
会。如果手动取消查询,您需要为取消查询前已扫描的数据量付费。
 
问:Amazon Athena 还有其他收费项目吗?
Amazon Athena 直接从 Amazon S3 查询数据,因此,系统会针对您的源数据按 S3 费率收费。Amazon Athena 运行查询时将结果存储在您选择的 S3 存储桶中,这些结果集也按照标准 S3 费率计费。建议您监控这些存储桶,使用生命周期策略来控制保留多少数据。
 
问:使用 AWS Glue 数据目录是否需要付费?
是。您需要单独支付使用 AWS Glue 数据目录的费用。单击 此处了解有关 Glue 数据目录定价的更多信息。
Amazon Athena 定价
了解有关 Amazon Athena 定价的更多信息

探索 Amazon Athena 提供的所有定价选项。

了解更多 
注册 AWS 账户
注册免费账户

立即享受 AWS 免费套餐。 

注册 
使用 Amazon Athena 开始构建
开始在控制台中构建

在 AWS 管理控制台中开始使用 Amazon Athena 进行构建。

登录