復元された Amazon Glacier オブジェクトをクエリする
Amazon Athena を使用して、Amazon Glacier Flexible Retrieval (以前の Glacier) と Amazon Glacier Deep Archive Amazon S3 ストレージクラスから復元されたオブジェクトをクエリできます。この機能はテーブルごとに有効にする必要があります。クエリを実行する前にテーブルでこの機能を有効にしない場合、Athena はクエリ実行中にテーブルの Amazon Glacier Flexible Retrieval オブジェクトと Amazon Glacier Deep Archive オブジェクトをすべてスキップします。
考慮事項と制約事項
-
復元された Amazon Glacier オブジェクトのクエリは、Athena エンジンバージョン 3 でのみサポートされています。
-
この機能は Apache Hive テーブルでのみサポートされています。
-
Athena はオブジェクトを復元しないため、データをクエリする前にオブジェクトを復元する必要があります。
復元されたオブジェクトを使用するようにテーブルを設定する
復元されたオブジェクトをクエリに含めるように Athena テーブルを設定するには、read_restored_glacier_objects テーブルプロパティを true に設定する必要があります。これを行うには、Athena クエリエディタまたは AWS Glue コンソールを使用できます。また、AWS Glue CLI
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 テーブルプロパティを追加します。
AWS Glue コンソールでテーブルプロパティを設定するには
AWS マネジメントコンソールにサインインし、AWS Glue コンソール (https://console.aws.amazon.com/glue/
) を開きます。 -
次のいずれかを行います:
-
[データカタログに移動] を選択します。
-
ナビゲーションペインで、[データカタログログテーブル] を選択します。
-
-
[テーブル] ページのテーブルのリストで、編集するテーブルのリンクを選択します。
-
[Actions] (アクション)、[Edit table] (テーブルの編集) の順に選択します。
-
[テーブルを編集] ページの [テーブルプロパティ] セクションで、以下のキーと値のペアを追加します。
-
[Key] (キー)に、
read_restored_glacier_objectsを追加します。 -
[Value] (値) に「
true」と入力します。
-
-
[Save] (保存) を選択します。
AWS CLI の使用
AWS CLI では、テーブルを再定義するために AWS Glue update-table--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-namemy_database\ --table-input={\"Name\":\"my_table\",\"Parameters\":{\"read_restored_glacier_objects\":\"true\"}}
重要
AWS Glue update-table コマンドは上書きモードで動作します。これは、このコマンドが既存のテーブル定義を table-input パラメータ指定の新しい定義に置き換えることを意味します。このため、read_restored_glacier_objects プロパティを追加するときは、テーブルに含めるすべてのフィールドも table-input パラメータ内に指定するようにしてください。