[登壇レポート] Serverless Meetup Fukuoka #3 でAWS Glue の ETL処理 について登壇しました #serverlessfukuoka
はじめに
こんにちは。
モバイルアプリサービス部の田中孝明です。
11/16(金)に さくらインターネット 福岡オフィス 様のイベントスペースで Serverless Meetup Fukuoka #3 が開催されました。
当ブログは登壇レポートになります。
登壇レポート
AWS Glue でETL処理
今回行おうとしたことは以下の点です。
- S3に溜めているセンサーデータをCrawlerを利用してデータベースに登録する
- Jobのスクリプトで、データの値を元に、変換処理を行い、Parquet形式で出力する
- 結果のデータをAthenaで可視化する
以下の項目を実装を交えて話しました。
- データカタログを構築する
- データソースを作成してJSON形式のファイルを読み込む
- データソースから読み込んだデータを変換するJobの作成
- Jobのスケジューリングの作成
-
サンプルコード: GlueJobSampler
Amazon Athena のパーティション分割
Amazon Athena のパーティションの分割を行う Lambda を、 AWS Glue のJobの成功をトリガーにした CloudWatch イベント から行う方法を実装を交えて話しました。
- サンプルコード: GlueJobAddPartition
まとめ
案件で利用し始めたこともあり、復習も踏まえて 構築 → 可視化 までを実装に落とし込みました。 似たような案件を行う場合の参考になれば幸いです。
参考資料
- AWS Glue
- AWS Glueによる自動化
- AWS Glue イベント
- Amazon Athenaのパーティションを理解する #reinvent
- S3のアップロードイベントでAWS Athenaのパーティションを設定してみた
特に 石川覚 さんの記事には助けられました。ありがとうございます!