Amazon Athena で CTAS クエリを実行する際の「HIVE_PATH_ALREADY_EXISTS」例外を解決するにはどうすればよいですか?

最終更新日: 2021 年 4 月 8 日

Amazon Athena で CREATE TABLE AS SELECT (CTAS) クエリを実行すると、「HIVE_PATH_ALREADY_EXISTS: テーブルのターゲットディレクトリ」という例外が発生します。

解決方法

CTAS クエリで external_location パラメータを使用する場合は、空の Amazon Simple Storage Service (Amazon S3) の場所を必ず指定してください。CTAS クエリ結果の保存に使用する Amazon S3 の場所は、データがない状態でなければなりません。CTAS クエリを実行すると、Amazon S3 バケット内のパスの場所またはプレフィックスにデータがないことがクエリによってチェックされます。Amazon S3 の場所に既にデータがある場合、クエリはデータを上書きしません。

CTAS クエリにデータがある Amazon S3 の場所を使用するには、バケット内のキープレフィックスの場所のデータを削除します。それ以外の場合、CTAS クエリは「HIVE_PATH_ALREADY_EXISTS」例外で失敗します。

既存の Athena テーブルが、CTAS クエリで使用する Amazon S3 の場所をポイントしている場合は、次の手順を実行します。

  1. Athena テーブルをドロップします
  2. S3 バケットのキープレフィックスの場所のデータを削除します

この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?