AWS CLIでS3 SELECTを実行し、S3上のファイルの中身を簡単に確認する

これはなに?

AWS S3 Selectを使って、CSVやParquetファイルの中身を確認するスクリプトを作ったので備忘録。 CLIをそのまま使うとパラメータの指定が大変なので、スクリプト化しました。利用しているAWSコマンドは、”select-object-content”。

select-object-content — AWS CLI 1.18.203 Command Reference

GUIからファイルの中身を確認する場合は以下を参照ください。

www.cloudnotes.tech

スクリプトでできること

スクリプトを実行し、S3バケット上にあるファイルの中身をクエリ、データ取得

Output Image

AWSが提供しているNYのタクシー情報が格納されたCSVをクエリした場合

f:id:ykoomaru:20201224172933p:plain

Script

gist.github.com

github.com

Usage

./s3select_cli.sh s3_bucket_name s3_object_key file_format SQL

引数 説明
第1 S3バケット名 nyc-tlc
第2 S3 キー名 misc/uber_nyc_data.csv
第3 ファイルフォーマット CSV
第4 SQL "select * from s3object limit 5"

<例>
./s3select_cli.sh nyc-tlc misc/uber_nyc_data.csv CSV "select * from s3object limit 10"

S3 SelectのSQLの書き方は以下を参照ください。
SELECT コマンド - Amazon Simple Storage Service