Service Quotas - Amazon Athena

Service Quotas

注記

Service Quotas コンソールには、Amazon Athena のクォータに関する情報が提供されています。Service Quotas コンソールを使用して、調整可能なクォータに関してクォータの増加をリクエストすることもできます。スキーマの制限に関する AWS Glue の詳細は、「AWS Glue エンドポイントとクォータ」のページを参照してください。AWS サービスクォータの概要については、「AWS 全般のリファレンス」の「AWS サービスクォータ」を参照してください。

クエリ

アカウントには、Amazon Athena のクエリに関し以下のクォータが設定されています。詳細については、AWS 全般のリファレンス の「Amazon Athena エンドポイントとクォータ」ページを参照してください。

  • アクティブな DDL クエリ – アクティブな DDL クエリの数。DDL クエリには、CREATE TABLE クエリと ALTER TABLE ADD PARTITION クエリが含まれます。

  • DDL クエリのタイムアウト – DDL クエリが、キャンセルされずに実行可能な最大時間 (分単位)。

  • アクティブな DML クエリ – アクティブな DML クエリの数。DML クエリには、SELECTCREATE TABLE AS (CTAS)、および INSERT INTO クエリが含まれます。特定のクォータは、AWS リージョンによって変化します。

  • DML クエリのタイムアウト – DML クエリが、キャンセルされずに実行可能な最大時間 (分単位) このタイムアウトは、最大 240 分まで延長するようリクエストできます。

クォータの引き上げをリクエストするには、Athena Service Quotas コンソールを使用できます。

Athena は、全体的なサービス負荷と受信するリクエストの数に基づいてリソースを割り当てることによって、クエリを処理します。クエリは、一時的にキューに登録されてから実行される場合があります。アカウント設定によって許可されている場合に限り、非同期プロセスが物理リソースが使用可能になり次第キューからクエリを取り出して、それらを物理リソース上で実行します。

DML または DDL クエリのクォータには、実行中のクエリーとキューに登録されたクエリの両方が含まれます。例えば、DML クエリのクォータが 25 で、実行中のクエリとキューに登録されたクエリの合計が 26 になった場合、26 番目のクエリは TooManyRequestsException エラーを引き起こします。

注記

Athena で実行するクエリに対して同時実行を直接制御したい場合は、キャパシティ予約を使用できます。詳細については、「クエリ処理キャパシティを管理する」を参照してください。

クエリ文字列の長さ

許容される最大クエリ文字列の長さは、262144 バイトです。文字列は UTF-8 でエンコードされます。これは調整可能なクォータではありません。ただし、長いクエリを複数の小さなクエリに分割することで、この制限を回避することができます。詳細については、AWS ナレッジセンターの「Athena でクエリ文字列の最大長を増やすにはどうすればよいですか?」を参照してください。

ワークグループ

Athena ワークグループを使用する場合は、以下の点に注意してください。

  • Athena のサービスクォータは、アカウント内のすべてのワークグループで共有されます。

  • アカウントでリージョンごとに作成できるワークグループの最大数は 1000 です。

  • ワークグループ内の準備済みステートメントの最大数は 1,000 です。

  • ワークグループあたりのタグの最大数は 50 です。詳細については、「タグの制限」を参照してください。

データベース、テーブル、パーティション

Athena は AWS Glue Data Catalog を使用します。テーブル、データベース、およびパーティションのサービスクォータ (アカウントあたりのデータベースまたはテーブルの最大数など) については、「AWS Glue エンドポイントとクォータ」を参照してください。Athena では、1,000 万のパーティションを持つ AWS Glue テーブルへのクエリがサポートされていますが、1 回のスキャンで読み取れるのは、100 万のパーティションまでであることに留意してください。

Amazon S3 バケット

Amazon S3 バケットを使用する場合は、以下の点に注意してください。

  • Amazon S3 には、アカウントあたり 100 バケットのデフォルトサービスクォータがあります。

  • Athena では、結果をログするための個別のバケットが必要です。

  • AWS アカウントごとに Amazon S3 バケットのクォータ引き上げを最大 1,000 個までリクエストできます。

アカウントあたりの API コールのクォータ

Athena API では、アカウントあたり (クエリあたりではありません) の API へのコール数に、以下のデフォルトクォータがあります。

API 名 1 秒あたりのデフォルトコール数 バーストキャパシティ
BatchGetNamedQuery, ListNamedQueries, ListQueryExecutions 5 最大 10
CreateNamedQuery, DeleteNamedQuery, GetNamedQuery 5 最大 20
BatchGetQueryExecution 20 最大 40
StartQueryExecution, StopQueryExecution 20 最大 80
GetQueryExecution, GetQueryResults 100 最大 200

例えば、StartQueryExecution の場合は、1 秒あたり最大 20 回呼び出すことができます。さらに、API が 4 秒間呼び出しを行わなかった場合、アカウントのバーストキャパシティーが最大 80 回まで累積されます。この場合、アプリケーションはバーストモードでこの API を最大 80 回呼び出すことができます。

これらの API のいずれかを使用しており、1 秒あたりのコール数のデフォルトクォータ、またはアカウントのバーストキャパシティを超過した場合、Athena API は「ClientError: An error occurred (ThrottlingException) when calling the <API_name> operation: Rate exceeded.」に類似したエラーを発行します。1 秒あたりの呼び出し数、またはこのアカウントの API のバーストキャパシティーを減らしてください。

アカウント API 呼び出しごとの Athena クォータは、Athena Service Quotas コンソールでは変更できません。Athena API 呼び出しのクォータ引き上げをリクエストするには、AWS Support サービスの上限緩和のページに移動し、フォームに記入して送信します。