Amazon Athena でクエリを実行すると失敗し、"Query timeout" エラーが表示されます。
Athena クエリは DML クエリのタイムアウトクォータを超えるとタイムアウトエラーで失敗します。エラーを解決するには、次の解決策を使用してください。
「Athena から Quick Sight SPICE にデータをインポートするときの "query timeout" エラーを解決する方法を教えてください」の手順に従ってください。
タイムアウトして失敗したクエリの通知を受け取るには、Amazon CloudWatch イベントルールを使用してイベントをキャプチャします。次に、Amazon Simple Notification Service (Amazon SNS) を使用して通知を設定します。
Amazon Simple Storage Service (Amazon S3) アクセスログのクエリを実行してクエリがタイムアウトした場合は、AWS Glue ETL ジョブを使用して Amazon S3 データをパーティション分割します。次に、一部のパーティションのみで Athena のクエリを実行します。手順については、「分割 Amazon S3 アクセスログを使用して Athena クエリのタイムアウトを防ぐ方法を教えてください」を参照してください。
Athena を使用して AWS CloudTrail データをクエリする場合、クエリの実行に時間がかかったり、タイムアウトしたりすることがあります。これは、CloudTrail テーブルを分割してクエリの実行時間を短縮した場合でも、CloudTrail ログのサイズが時間の経過とともに大きくなるためです。
パーティションプロジェクションを使用して CloudTrail テーブルを手動で作成します。これにより、Athena は CloudTrail テーブルの値を動的に計算できるため、クエリの実行時間を短縮できます。パーティション射影では、構成からパーティションの値と場所が計算されるため、手動でパーティションを管理する必要がなくなります。
クエリのパフォーマンスを向上させるには、CREATE TABLE AS SELECT (CTAS) クエリを使用して、別のクエリの SELECT ステートメントの結果から新しいテーブルを Athena に作成します。CTAS はクエリ結果からテーブルを 1 ステップで作成し、未加工のデータセットを使いやすくします。また、CTAS クエリではクエリのパフォーマンスが向上するため、クエリコストを削減できます。例については、「CTAS クエリの例」を参照してください。
Athena で複雑なクエリを行うには、EXPLAIN および EXPLAIN ANALYZE を使用します。EXPLAIN ステートメントは SQL ステートメントを絞り込み、パーティションプルーニングを検証してクエリを最適化します。EXPLAIN ステートメントと EXPLAIN ANALYZE ステートメントの考慮事項と制限事項を確認することがベストプラクティスです。
詳細については、「EXPLAIN での例」と「EXPLAIN ANALYZE での例」を参照してください。
Top 10 performance tuning tips for Amazon Athena (Amazon Athena のパフォーマンスチューニングに関するトップ 10 のヒント)
Amazon Athena でのクエリの結果を別のクエリで使用する方法を教えてください
suzookey
質問済み 3年前
rePost-User-7682482
KK
質問済み 2年前
raggbal
Masayuki ENOMOTO
質問済み 1年前
Sakamaki
公開済み 1年前