互联网时代带来了数据量的海量增长,数据驱动业务决策成为大势所趋。分析人员迫切的希望能快速的交互式的从海量的数据中抓取有用的信息来辅助决策。在 AWS 上,Amazon S3 对象存储服务由于其高可用性,高持久性,可扩展性和数据格式兼容性等特点成为建设存储海量数据的数据湖的首选。Amazon Athena 可以轻松对 Amazon S3 中的数据进行交互式查询,是一款开箱即用、无需运维的全托管服务。
Amazon Athena****介绍
借助 Amazon Athena,分析人员能够轻松使用标准 SQL 分析 Amazon S3 中的数据。Athena 采用无服务器架构,因此无需管理任何基础设施,且只需按需为运行的查询付费。
Athena 简单易用。只需指向您存储在 Amazon S3 中的数据路径,定义架构并使用标准 SQL 就可以 开始查询。查询可以在数秒内获取结果,并且可以实时展示查询结果以迭代查询语句。使用 Athena,无需执行复杂的 ETL 作业来为数据分析做准备。这样一来,任何具备 SQL 技能的人员都可以轻松快速地分析大规模数据集。
Athena 可与 AWS Glue 数据目录进行开箱即用集成。AWS Glue 让您能够跨各种服务创建统一的元数据存储库、抓取数据源以发现 schema 并使用新的和修改后的表与分区定义填充数据目录,以及维护 schema 版本控制。您还可以使用 Glue 完全托管的 ETL 功能来转换数据或将其转化为列格式,以优化成本并提高性能。
Amazon Athena****工作原理
Amazon Athena 是完全的无服务器架构,用户不需要管理底层的资源只需要按照扫过的数据量付费。
用户可以通过控制台界面或者 API 的方式提交查询,查询结果会默认保存到 S3 中并返回到控制台界面。当您在后台查询现有表时,Amazon Athena 会使用 Presto,一种分布式 SQL 查询引擎。
Amazon Athena 的元数据存储在 Glue 数据目录里,如果当前区域没有 Glue 服务则元数据保存在 Athena 自带数据库中。
Athena 通过 workgroups 来限制资源的访问,可以限制每条查询最大扫过的数据量或者每个 workgroup 最大可以扫过的数据量。每个 workgroup 有单独的监控指标并可设置单独的告警。
Amazon Athena****典型应用场景
Amazon Athena 可以对 S3 里的数据进行交互式查询,常见的使用案例包括:
Adhoc 查询 – 一次性查询大量数据,Athena 支持 ANSI SQL 做查询和分析,可以直接查询源中的数据而不需要加载数据到 Athena。 Amazon Athena 可以处理非结构化、半结构化的和结构化的数据包括 CSV、JSON、Avro 或者列式存储 Apache Parquet 和 Apache ORC。
报表和展示工具 – Amazon Athena 可以结合 Amazon QuickSight 做数据展示。Athena 可以用来生成报表并且支持用 BI 工具直接查询比如 Tableau 或者 SQL clients, 支持 ODBC 或者 JDBC 连接。
数据产品 – 使用 Athena SDK 和 CLI 工具可以把 Athena 查询嵌入到应用程序里面作为数据产品提供。
Amazon Athena****客户案例
Atlassian 通过开发企业协同办公 SaaS 产品,助力提升公司员工的办公效率以期达到产出最大化,旗下产品包括 JIRA、Confluence、HipChat 等。
参考连接: https://aws.amazon.com/cn/solutions/case-studies/atlassian/?nc1=h_ls
Atlassian 的企业数据湖架构中采用了多个 AWS 服务包括 Amazon S3、Amazon Kinesis、AWS Glue 和 Amazon Athena,具体架构如下:
Athena 被用作数据探索和展示工具的查询引擎,查询存储于 S3 中的处理好的数据。这套数据湖平台赋能给 Atlassian 的分析人员,让他们可以使用熟悉的展示工具或语言来更好的发掘数据中的价值。
Athena 拥有全托管无需管理集群资源,只需要为运行的查询付费,并且可以追踪查询级别费用等优势。这些优势使得 Atlassian 决定把数据湖的查询引擎选型从 Amazon EMR 的 Presto 集群迁移到 Amazon Athena。
本文转载自 AWS 技术博客。
评论