Service Quotas
注記
Service Quotas コンソールには、Amazon Athena のクォータに関する情報が提供されています。Service Quotas コンソールを使用して、調整可能なクォータに関してクォータの増加をリクエスト
クエリ
アカウントには、Amazon Athena のクエリに関し以下のクォータが設定されています。詳細については、AWS 全般のリファレンス の「Amazon Athena エンドポイントとクォータ」ページを参照してください。
-
アクティブな DDL クエリ – アクティブな DDL クエリの数。DDL クエリには、
CREATE TABLE
クエリとALTER TABLE ADD PARTITION
クエリが含まれます。 -
DDL クエリのタイムアウト – DDL クエリが、キャンセルされずに実行可能な最大時間 (分単位)。
-
アクティブな DML クエリ – アクティブな DML クエリの数。DML クエリには、
SELECT
、CREATE 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 サービスの上限緩和