本实验将指导你使用 AWS Athena 服务,直接查询存储在 Amazon S3 存储桶中的 CSV 文件。实验目标是让你掌握一项核心技能:无需加载或转换数据,就能使用标准 SQL 语句分析云端海量数据。通过完成本实验,通过本次实验,你将掌握如何设置 Athena,创建数据库和表,以及执行简单的 SQL 查询来从 CSV 文件中提取信息。
Amazon Athena 是一款交互式查询服务,而无需执行复杂的提取、转换和加载(ETL)操作,无需搭建和管理服务器,可直接分析 S3 中的数据,支持 CSV、JSON、Parquet 等多种格式。其核心优势在于按查询量计费,无需预配置资源,适合快速分析存储在 S3 中的非结构化或半结构化数据。这些功能使得 Athena 成为探索性分析和临时查询的理想选择。
本次采用AWS Console界面完成作业。
注意:根据项目的具体情况,可以采用不同的实施方法。比如使用命令行(CLI)部署、代码部署 (CloudFomation、Terraform等)、以及其它开发语言(SDK)完成作业。
步骤一:准备数据与 S3 存储桶。
登录 AWS 管理控制台。进入 S3 服务,创建一个新存储桶或选择一个现有存储桶。上传一个准备好的 CSV 文件(例如 sales_data.csv)到该存储桶的某个文件夹(如 input-data/)。确保文件内容规范,首行通常是列标题。
步骤二:设置 Athena 查询结果存储位置。
在控制台导航至 Athena 服务。首次使用时,系统会提示你设置查询结果保存路径。点击“设置”按钮,选择一个 S3 目录(例如 s3://your-bucket/athena-results/)来保存所有查询输出。
步骤三:创建数据库与表。
在 Athena 的查询编辑器中,首先执行 CREATE DATABASE IF NOT EXISTS lab_db; 语句创建一个数据库。然后,使用 CREATE EXTERNAL TABLE 语句在刚创建的数据库中定义表。你需要指定表名、列定义、数据格式(TEXTFILE)、字段分隔符(对于CSV是 ,),以及数据在 S3 中的具体位置(例如 s3://your-bucket/input-data/)。一个示例语句会提供在指引中。
步骤四:执行 SQL 查询。
表创建成功后,在查询编辑器中切换至新建的lab_dB 数据库,编写简单的 SQL 语句,例如,SELECT * FROM lab_db.your_table_name LIMIT 10; 点击 “运行查询” 按钮执行操作。随后,可以尝试进行数据筛选、聚合或排序,例如按地区统计销售额。
1. 查询执行完成后,Athena 控制台会即时展示查询结果,可直观看到符合条件的 CSV 数据行。
2. 可在 Athena 的 “查询历史” 中查看本次查询的执行时长、扫描数据量等信息,确认查询正常完成且无报错。