60

我试图了解 AWS Athena 服务和新发布的 S3 select(仍处于预览状态)之间的区别。

两者的用例有何不同?似乎都有助于从 S3 中选择部分数据。

4

7 回答 7

32

看起来我们还缺少一件重要的事情:

S3 Select 仅对一个对象进行操作,而 Athena 则跨多个路径运行查询,这将包括该路径中的所有文件。

于 2020-08-26T04:22:43.077 回答
14

您可以将 AWS S3 Select 视为一种经济高效的存储优化,它允许检索与 S3 中的谓词匹配的数据,以及 glacier aka 下推过滤。

AWS Athena 是完全托管的分析服务,允许运行任意符合 ANSI SQL 的查询 - 分组、拥有、窗口和地理函数、SQL DDL 和 DML。

于 2018-04-22T19:33:53.987 回答
8

Athena (从我用过它的时候开始)更倾向于作为 S3 支持的业务报告或分析工具。

S3 select 似乎使用了相同类型的技术,但我猜它的目标更多是应用程序直接使用来过滤或分片其数据集。

于 2018-03-05T09:34:39.103 回答
5

S3 Select 可以使用简单的 SQL 表达式轻松地从对象的内容中检索特定数据。无需检索整个对象。这可以与 Lambda 一起使用来构建无服务器应用程序,并且可以与 Apache Spark 和 Presto 等大数据框架结合使用。可将性能提升高达 400%。

Amazon Athena 是一种交互式查询服务。它是无服务器的。无需将数据加载到 Athena。基于 Presto 构建并运行标准 SQL。主要用于分析大数据。

于 2018-06-01T03:41:18.253 回答
5

Amazon Athena: Amazon Athena 是一种查询服务,可以使用标准 SQL 轻松分析存储在 S3 中的数据。Athena 是无服务器的,因此无需设置或管理基础设施,只需为查询付费。它可以自动扩展——并行执行查询,这使得它能够产生更快的结果,即使是大型数据集和复杂的查询。

用例: Athena 可用于处理日志、执行临时分析以及运行交互式查询和连接。它跨多个路径运行查询,其中包括该路径下的所有文件。

S3 Select : S3 Select 是一项设计的 S3 功能,它通过检索对象数据的子集(使用简单的 SQL 表达式)而不是整个对象(最大可达 5 TB)来工作。s3 select 一次对 s3 存储桶中的单个对象运行查询。

结论: Athena 可用于对文件进行复杂查询,并跨越 S3 存储桶下的多个文件夹。
S3 Select 可用于基于单个对象的简单查询。

于 2021-04-05T16:38:54.233 回答
3

根据我的理解给出一个概述:

Amazon Athena 是一种交互式查询服务,可以使用标准 SQL 轻松分析 Amazon S3 中的数据。Athena 是无服务器的,因此无需管理基础架构,您只需为运行的查询付费。

到目前为止,它的主要优点是:

Athena 开箱即用地与 AWS Glue 数据目录集成,您还可以使用 Glue 的完全托管的 ETL 功能来转换数据或将其转换为列格式,以优化成本并提高性能。

现在就 S3 Select Goes 而言:

  • 目前,在预览版中使用 S3 Select 是免费的,也没有定价的定义。但是,您需要在参考处申请

  • 在预览版中,S3 Select 支持带或不带 GZIP 压缩的 CSV、JSON 和 Parquet 文件。在预览期间,不支持静态加密的对象。

  • 由于 S3 Select 仍处于预览阶段,AWS 没有内部案例来验证服务的使用方式。但是,我可以从您可能感兴趣的博客中找到参考。

在我看来,你可以观看这个对你有很大帮助的Twitch 视频。

于 2018-03-05T11:24:44.420 回答
2

除了@abc123 的回答,S3 Select 只支持SELECT

https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference-select.html

Amazon S3 Select 和 S3 Glacier Select 仅支持 SELECT SQL 命令。SELECT 支持以下 ANSI 标准子句:

于 2020-11-26T11:15:04.963 回答