はじめに DI部のおおたきです。AWS Athenaを使う際にS3上のファイル数が多くなるようならパーテションの機能は必須です。 S3にHiveフォーマットのパスでアップロードされていればパーテションの設定は不要ですがそうでない場合もあると思います。 その場合はアップロードされたパスに対してalter tableでパーテションを追加する必要があります。 パーテションについてはこちらの記事に詳しく記載があるので参照してください。 そこで今回、S3にファイルがアップロードされたイベントをトリガーにAWS Lambdaでパーテションを設定するプログラムを書いてみました。 実装してみる Athenaへのアクセスは発表当初はjdbc接続に対応していましたが、現在はpythonのboto3からも接続可能となっています。そのため今回はpythonで実装してみました。 まず、アップロードするファイルのS3