Q65 — AWS DEA-C01 第1章

第 65/100 题 | ← 返回第1章

一名数据工程师使用名为 Orders 的 AWS Glue 爬网程序创建了一个 AWS Glue Data Catalog 表。该数据工程师希望添加以下新分区: s3://transactions/orders/order_date=2023-01-01 s3://transactions/orders/order_date=2023-01-02 该数据工程师必须编辑元数据,将新分区包含在表中,且无需扫描表所在位置的所有文件夹和文件。 该数据工程师应在 Amazon Athena 中使用哪条数据定义语言(DDL)语句?

正确答案: A. ALTER TABLE Orders ADD PARTITION(order_date='2023-01-01') LOCATION 's3://transactions/orders/order_date=2023-01-01'; ALTER TABLE Orders ADD PARTITION(order_date='2023-01-02') LOCATION 's3://transactions/orders/order_date=2023-01-02';

解析

在Amazon Athena中,要手动向已存在的表添加分区,需使用ALTER TABLE语句。选项A中的DDL语句正确使用ALTER TABLE命令添加两个新分区,每个分区均指定了对应的order_date值和S3位置,符合题目‘不扫描全部文件夹和文件’的要求。选项B的MSCK REPAIR TABLE用于同步现有分区元数据与S3路径,但无法添加新分区;选项C的REPAIR TABLE不是Athena支持的有效命令;选项D使用MODIFY PARTITION语法错误,该语法用于修改已有分区而非新增分区。因此,选项A正确。