Amazon Athena はインタラクティブなクエリサービスで、Amazon S3 内のデータを標準 SQL を使用して直接分析できます。詳細については、「Amazon Athena ユーザーガイド」の「Amazon Athena とは」を参照してください。
テーブルバケットを AWS 分析サービスと統合した後、Athena で S3 テーブルに対してデータ定義言語 (DDL)、データ操作言語 (DML)、データクエリ言語 (DQL) クエリを実行できます。テーブルバケット内のテーブルに対するクエリの実行方法の詳細については、「Amazon Athena ユーザーガイド」の「S3 テーブルバケットカタログを登録する」を参照してください。
Amazon S3 コンソールから Athena でクエリを実行することもできます。
以下の手順では、Amazon S3 コンソールを使用して Athena クエリエディタにアクセスし、Amazon Athena でテーブルに対してクエリを実行できるようにします。
注記
以下の手順を実行する前に、このリージョンでテーブルバケットを AWS 分析サービスと統合していることを確認してください。詳細については、「AWS 分析サービスで Amazon S3 Tables を使用する」を参照してください。
テーブルに対してクエリを実行するには
AWS Management Console にサインインし、Amazon S3 コンソール https://console.aws.amazon.com/s3/
を開きます。 -
左側のナビゲーションペインで、[テーブルバケット] を選択します。
-
[テーブルバケット] ページで、クエリを実行するテーブルを含むバケットを選択します。
-
バケットの詳細ページで、クエリを実行するテーブルの名前の横にあるオプションボタンを選択します。
-
[Athena でテーブルに対してクエリを実行] を選択します。
-
Amazon Athena コンソールが開き、サンプル
SELECT
クエリがロードされた状態で Athena クエリエディタが表示されます。必要に応じて、このクエリをユースケースに合わせて変更します。クエリエディタで、[カタログ] フィールドに s3tablescatalog/ に続いてテーブルバケットの名前を入力します。例えば、s3tablescatalog/
amzn-s3-demo-bucket
のようになります。[データベース] フィールドに、テーブルが保存されている名前空間を入力します。注記
[カタログ] および [データベース] フィールドにこれらの値が表示されない場合は、このリージョンでテーブルバケットを AWS 分析サービスと統合していることを確認してください。詳細については、「AWS 分析サービスで Amazon S3 Tables を使用する」を参照してください。
-
クエリを実行するには、[Run] (実行) を選択します。
注記
-
クエリを実行するためのアクセス許可が不足しているという内容のエラーが表示された場合。Athena でクエリを実行しようとしたときに、プリンシパルは指定されたリソースに対する権限を持っていない
という内容のエラーが表示される場合は、テーブルに対する必要な Lake Formation 許可が付与されている必要があります。詳細については、「テーブルまたはデータベースに対するアクセス許可の付与」を参照してください。 -
クエリを実行しようとしたときに、
Iceberg はリクエストされたリソースにアクセスできない
という内容のエラーが表示される場合は、AWS Lake Formation コンソールに移動し、作成したテーブルバケットカタログとデータベース (名前空間) に対するアクセス許可が自分に付与されていることを確認してください。これらのアクセス許可を付与するときは、テーブルを指定しないでください。詳細については、「テーブルまたはデータベースに対するアクセス許可の付与」を参照してください。 -
Athena で
SELECT
クエリを実行するときに次のエラーメッセージが表示される場合、このメッセージはテーブル名またはテーブル定義の列名に大文字が含まれていることが原因です。「GENERIC_INTERNAL_ERROR: Get table request failed: com.amazonaws.services.glue.model.ValidationException: Unsupported Federation Resource - Invalid table or column names.」
テーブル名と列名がすべて小文字であることを確認します。
-