LoginSignup
1
0

More than 1 year has passed since last update.

AWS Athena でクエリ実行した時に出るエラー No output location provided.  

Last updated at Posted at 2021-08-07

はじめに

AWS Athenaで elb_logsというテーブルがあったので、試しにSELECTしましたが、下記のエラー文が表示されました。

クエリには次のエラーがあります。

No output location provided. An output location is required either through the Workgroup result configuration setting or as an API input. (Service: AmazonAthena; Status Code: 400; Error Code: InvalidRequestException; Request ID: 3db40425-2c5b-417f-80c9-cc103727faf2; Proxy: null)

解決法

AthenaはS3に格納してあるデータから実行したクエリ結果をS3に再保存するようになってるので、どのBucketのどのパスに保存するかという設定が必要なようです。

あとで気付いたんですが、灯台下暗しというか、クエリ実行画面の上部にバリバリ書いてました。
image.png

(必要な方は)適当なBucketを作成した後、上記の「Amazon S3でクエリ結果の場所を設定する」から、保存先を設定します。
今回はdatalake-non-projectというバケットのdevフォルダを選択します。お好みや要件に合わせて暗号化などを行って下さい。
image.png

ちなみに暗号化はセキュリティ、パフォーマンス、可用性・耐久性を両立させるために、SSE-KMS(サーバーサイド暗号化)がお勧めです。
参考=>データレイク構築における成功の秘訣 ~マインドと進め方、設計ベストプラクティス~
image.png
image.png

今度は実行できました!実行時間や結果のデータサイズ、クエリ結果などが表示されます。
image.png

S3を確認すると、Apatch Hive形式で、年月日でパーティション分割されたフォルダ(ない場合は新規作成される)の配下に、結果のCSVファイルおよびメタデータのファイルが保存されており、データ分析のしやすい形となっています。
image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0