Athenaで2度クエリを実行することができません

0

Glueでデータテーブルを作成して、Athenaでデータを取得するときに1度目は問題なくクエリを叩くことができます。 2回目にクエリを叩こうとすると以下のエラーが発生して結果を取得することができません。

HIVE_BAD_DATA: Not valid Parquet file: s3://bucket-name/Unsaved/2023/08/24/UUID.txt.metadata expected magic number: PAR1 got: HP

特定のファイルを削除すれば再びクエリを叩くことはできるのですが、あまり正しい対応ではないと思っています。 これに対する良い、解決策はありますでしょうか。

質問済み 8ヶ月前404ビュー
1回答
0
承認された回答

クエリ結果を出力するS3バケットとテーブルデータのあるバケットが同じになっていたりするとそのようなエラーが発生することがあるようです。
おそらく以下と同じような現象だと思います。
https://repost.aws/ja/questions/QUgn6HjubOSayMALR1sJwMmg/questions/QUgn6HjubOSayMALR1sJwMmg/athena-error-hive-bad-data-not-valid-parquet-file-s3-deng-utube-raw-us-east-1-dev-youtube-raw-stats-reference-data-fr-category-id-json-expected-magic-number-par1-got?sc_ichannel=ha&sc_ilang=en&sc_isite=repost&sc_iplace=hp&sc_icontent=QUgn6HjubOSayMALR1sJwMmg&sc_ipos=4

Athenaのクエリエディタからクエリ結果を保存するS3の設定でテーブルデータのあるバケットとは違うところを設定されているか確認してみてください。
athena

profile picture
エキスパート
回答済み 8ヶ月前
  • ありがとうございます! 解決することができました。

    一つの対応として、テーブルデータが保存されているbucketに別フォルダを作成して、そこに Athenaのクエリ結果を保存するようにしていました。 ですが、これでは解決しないで上記のエラーが発生していました。

    今回はアテナのクエリ結果用のbucketを準備して、そこに結果が入るように設定をしました。 これをすることによって、問題は解消されました。

    結果同じようなことをしているつもりでしたが、全く別の対応だということが理解できました。

    数日悩んでいたことが、数分で解決しました。 助かりました。 改めて、ありがとうございました。

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン