动手实验 | Amazon Athena 第一个作业,就该跟专家这样做!


  实验目标

本实验帮你迈出使用 Amazon Athena 的第一步。Athena 是一种无服务器查询服务,可以直接分析存放在 S3 里的数据,不用建服务器,也不用写复杂代码。完成本实验后,你将学会,在 AWS 控制台里找到 Athena,新建一个数据库,对着 S3 里的 CSV 文件运行第一条 SQL 查询,并看懂查询结果。

  技术要点

理解三个核心概念即可。第一,Athena 不存储数据,它只读取 S3 里的文件。你提前把文件上传到 S3,Athena 再去扫描。第二,要查询前必须先定义“表”。这个表不复制数据,只是告诉 Athena:文件在哪个 S3 文件夹、文件是什么格式(比如 CSV)、每一列叫什么名字。第三,Athena 使用标准 SQL,如果你知道 SELECT、WHERE 这类语法,就能直接上手。本实验用一个极简的电商订单样例文件,只有三行数据:订单号、商品名、数量。你不需要启动任何 EC2 或集群,Athena 会在你运行查询时自动分配计算资源,查完就释放。

  作业步骤

本次采用 AWS Console 界面完成作业。
注意:根据项目的具体情况,可以采用不同的实施方法。比如使用命令行(CLI)部署、代码部署 (CloudFomation、Terraform等)、以及其它开发语言(SDK)完成作业。

步骤一:准备 S3 里的数据文件。
登录 AWS 控制台,进入 S3 服务,创建一个新存储桶(名称全局唯一),保持所有默认设置。创建一个包含以下数据的文件,保存为 orders.csv。
order_id,product,quantity
1001,Book,12
1002,Pen,2
1003,Notebook,5
把 orders.csv 上传到刚才建的桶里,放在一个叫 /data/ 的文件夹下。

步骤二:在 Athena 中创建数据库和表。
打开 Athena 控制台,设置查询结果的位置,然后在左侧导航栏点击"数据",再点击"创建数据库",输入名称 athena_lab,点击创建。接着点击"创建表",数据源选择刚才的 S3 存储桶,输入表名 orders。Athena 会自动检测 CSV 格式。在列定义部分确认三个字段:order_id 为 int,product 为 string,quantity 为 int,点击创建。

步骤三:执行查询。
SELECT * FROM "default"."orders" limit 1
点击"运行",等待几秒,结果显示在下方面板。

  结果验证

1. 查询成功后,你会看到 1 条订单数据完整显示在结果面板中。
2. 点击"历史记录",可以看到本次查询的执行详情。扫描数据量仅几 KB,本次查询费用显示为 0.00 美元。