应在何时使用 Athena? - Amazon Athena

应在何时使用 Athena?

Amazon Athena 等查询服务、Amazon Redshift 等数据仓库以及 Amazon EMR 等复杂数据处理框架都能满足不同的需求和使用案例。以下指南可帮助您根据自己的需求选择一项或多项服务。

Amazon Athena

Athena 可帮助您分析在 Amazon S3 中存储的非结构化、半结构化和结构化数据。示例包括 CSV、JSON 或列式数据格式,如 Apache Parquet 和 Apache ORC。您可以使用 ANSI SQL 通过 Athena 运行临时查询,而无需将数据聚合或加载到 Athena 中。

Athena 与 Amazon QuickSight 集成,轻松实现数据可视化。您可以使用 Athena 生成报表,或借助商业智能工具或 SQL 客户端浏览数据(通过 JDBC 或 ODBC 驱动程序进行连接)。有关更多信息,请参阅《Amazon QuickSight 用户指南》中的什么是 Amazon QuickSight通过 ODBC 和 JDBC 驱动程序连接到 Amazon Athena

Athena 与 AWS Glue Data Catalog 集成,后者为您在 Amazon S3 中的数据提供了持久元数据存储。这使您可以根据在您的整个 Amazon Web Services 账户中可用并与 AWS Glue 的 ETL 和数据发现功能集成在一起的中央元数据存储来创建表和在 Athena 中查询数据。有关更多信息,请参阅《AWS Glue 开发人员指南》中的与 AWS Glue 集成AWS Glue 是什么

Amazon Athena 让您能够轻松地直接在 Amazon S3 中对数据运行交互式查询,而无需进行数据格式化或管理基础设施。例如,假设您需要对 Web 日志运行快速查询,以排查站点上的性能问题,则可以选择 Athena。Athena 的入门十分简单快速:只需为数据定义一个表,即可使用标准的 SQL 开始查询。

如果要对 Amazon S3 上的数据运行交互式的临时 SQL 查询,而无需管理任何基础设施或集群,则应使用 Amazon Athena。Amazon Athena 提供了在 Amazon S3 中运行临时数据查询的便捷方法,无需设置或管理任何服务器。

有关 Athena 利用或者与之集成的 AWS 服务 服务列表,请参阅 AWS 服务 与 Athena 的集成

Amazon EMR

与本地部署相比,Amazon EMR 让您能够简单且经济高效地运行高度分布式处理框架,例如 Hadoop、Spark 和 Presto。Amazon EMR 非常灵活 – 您可以运行自定义应用程序和代码,并且可以定义特定的计算、内存、存储和应用程序参数来优化分析要求。

除了运行 SQL 查询之外,Amazon EMR 还可以为应用程序运行各种横向扩展数据处理任务,例如机器学习、图表分析、数据转换、数据流式传输,以及几乎任何可以编码的内容。如果您使用自定义代码来处理和分析采用最新大数据处理框架(如 Spark、Hadoop、Presto 或 Hbase)的极大数据集,则应使用 Amazon EMR。Amazon EMR 让您能够完全控制集群的配置以及在集群上安装的软件。

您可以使用 Amazon Athena 来查询您使用 Amazon EMR 处理的数据。Amazon Athena 支持许多与 Amazon EMR 相同的数据格式。Athena 的数据目录与 Hive 元数据仓兼容。如果您使用 EMR 并且已经拥有 Hive 元数据仓,则可以在 Amazon Athena 上运行 DDL 语句并立即查询数据,而不会影响您的 Amazon EMR 任务。

Amazon Redshift

当您需要将来自许多不同源(例如库存系统、财务系统和零售销售系统)的数据汇集到通用格式并长时间存储时,诸如 Amazon Redshift 之类的数据仓库是理想选择。如果您需要根据历史数据构建复杂的业务报告,则建议选择诸如 Amazon Redshift 之类的数据仓库。Amazon Redshift 中的查询引擎经过优化,尤其善于运行对大量超大数据库表进行交集运算的复杂查询。如果您需要对高度结构化的数据运行查询,并且要对大量的超大表进行交集运算,则建议选择 Amazon Redshift。

有关何时使用 Athena 的更多信息,请参阅以下资源: