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'; ✓
- B. MSCK REPAIR TABLE Orders;
- C. REPAIR TABLE Orders;
- D. ALTER TABLE Orders MODIFY PARTITION(order_date='2023-01-01') LOCATION 's3://transactions/orders/2023-01-01'; ALTER TABLE Orders MODIFY PARTITION(order_date='2023-01-02') LOCATION 's3://transactions/orders/2023-01-02';
正解: 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では、既存のテーブルに手動でパーティションを追加するには、ALTERTABLEステートメントを使用して新しいパーティションを追加する必要があります。選択肢AのDDLステートメントは、order_dateとLocationをそれぞれ指定して2つの新しいパーティションを追加する正しいALTERTABLEコマンドを使用しています。これは問題文の要件を満たす正しい手法です。選択肢BのMSCK REPAIR TABLEコマンドは、メタデータとデータソース間のパーティション情報を同期するために使用されますが、新しいパーティションを追加するものではありません。選択肢CのREPAIR TABLEコマンドはAmazon Athenaでは有効なコマンドではありません。選択肢DはMODIFYPARTITIONを使用しようとしていますが、これは既存のパーティションを変更するためのものであり、新しいパーティションを追加するものではありません。したがって、選択肢Aが正しい解答です。