查詢還原的 Amazon S3 冰川物件 - Amazon Athena

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

查詢還原的 Amazon S3 冰川物件

您可以使用 Athena 查詢從 S3 Glacier Flexible Retrieval (舊稱 Glacier) 和 S3 Glacier Deep Archive Amazon S3 儲存類別中還原的物件。您必須基於每個資料表啟用此功能。如果您在執行查詢之前未在資料表上啟用此功能,Athena 會在查詢執行期略過資料表的所有 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 物件。

考量事項與限制

  • 只有 Athena 引擎版本 3 才支援查詢還原的 Amazon S3 Glacier 物件。

  • 此功能僅支援 Apache Hive 資料表。

  • 在查詢資料之前,您必須先還原物件;Athena 不會為您還原物件。

將表格設定為使用還原的物件

若要將 Athena 資料表設定為在查詢中包含還原的物件,您必須將其 read_restored_glacier_objects 資料表屬性設定為 true。若要這麼做,您可以使用 Athena 查詢編輯器或 AWS Glue 控制台。您也可以使用 AWS Glue CLI,該 AWS Glue API,或 AWS Glue SDK.

使用 Athena 查詢編輯器

在 Athena 中,您可以使用 ALTER TABLE SET TBLPROPERTIES 命令來設定資料表屬性,如下列範例所示。

ALTER TABLE table_name SET TBLPROPERTIES ('read_restored_glacier_objects' = 'true')

使用 AWS Glue 主控台

在 AWS Glue 主控台中,執行下列步驟來新增 read_restored_glacier_objects table 屬性。

若要配置表格內容 AWS Glue 主控台
  1. 登入 AWS Management Console 並打開 AWS Glue 控制台位於https://console.aws.amazon.com/glue/

  2. 執行以下任意一項:

    • 選擇移至資料目錄

    • 在導覽窗格中,選擇資料目錄資料表

  3. 資料表頁面的資料表清單中,選擇您要編輯之資料表的連結。

  4. 選擇 Actions (動作)、Edit table (編輯資料表)。

  5. 編輯資料表頁面的資料表屬性區段中,新增下列鍵值對。

    • 對於 Key (索引鍵),新增 read_restored_glacier_objects

    • 針對數值,輸入 true

  6. 選擇 Save (儲存)。

使用 AWS CLI

在 AWS CLI,您可以使用 AWS Glue 更新表命令及其--table-input參數來重新定義表,並在這樣做添加屬性read_restored_glacier_objects--table-input 引數中,使用 Parameters 結構來指定 read_restored_glacier_objects 屬性和 true 的值。請注意,--table-input 的引數不得有空格,且必須使用反斜線來逸出雙引號。在下列範例中,取代 my_database 以及 my_table 使用您的數據庫和表的名稱。

aws glue update-table \ --database-name my_database \ --table-input={\"Name\":\"my_table\",\"Parameters\":{\"read_restored_glacier_objects\":\"true\"}}
重要

所以此 AWS Glue update-table命令在覆蓋模式下工作,這意味著它用table-input參數指定的新定義替換現有的表定義。因此,當您新增屬性時,請務必同時指定table-input參數中要放在資料表中的所有欄read_restored_glacier_objects位。