LoginSignup
4
3

More than 3 years have passed since last update.

Athenaのパーティションでは大文字禁止!

Posted at

「Athenaのパーティションでは大文字禁止!」

これを知らずに、ハマりまくりました。(厳密には禁止というか、使えないよ、ということです)
みなさん、同じ溝にハマらないでください。という思いで記載します。

Athenaではパーティションに、大文字(キャメルケースなども)が使えないらしいです。

詳細:
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/msck-repair-table.html

Amazon S3 パスを小文字に変更する
Amazon S3 パスは小文字にする必要があります。S3 パスがキャメルケースの場合、MSCK REPAIR TABLEは、パーティションを AWS Glue データカタログに追加しません。たとえば、S3 パスがuserIdのパーティションは AWS Glue データカタログに追加されません。

つまり、HIVE形式にして

userId=123 といったパーティションは使えないので
userid=123 とフラットケースにしなければなりません。

テーブル作成中にもエラーが出ないし、特にメッセージもなかった(はず)。

MSCK REPAIR TABLEしても、ALTER TABLE ADD PARTITIONをしても、
クエリが0件でヒットする形に、、、なります。

データの形式がおかしいのか、色々回り回った挙句、
ふと、パーティションを小文字にしてみたらデータがロードされた。

他にも、パーセントエンコーディングが必要な文字などは注意が必要だったりします。
基本英数字小文字でs3パスを構成するのが無難のようです。

4
3
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
4
3