AWS と BigQuery をまたいだデータ分析基盤構築
- 作成
- 2019-12-29
概要
AWS と BigQuery をまたいだデータ分析基盤構築
現在データ分析基盤環境として AWS Athena をメインで利用していますが、開発の選択肢を拡充を目的として BigQuery の利用を進めています。 今回は、その中でも AWS 側で ETL 処理をしたデータセットを BigQuery で継続的に同期する取り組みについてお話します。
スピーカー
@Yuta CHIBA(Sansan)
スライド
なし
内容
- 自己紹介
- 基本はAWSを使っていたが前職のジグソーではGCPを使っていた
- Sansanに在籍
- Eight
- プロダクトの事業部と、データ統括部門「DSOC」
- Data Direction Group
- データと分析基盤の開発と保守
- DSOCで扱っているデータについて
- Eightの規約にそって統計処理・特命処理化されたデータセットを利用し、プロダクト開発に生かしている
- 名刺を使った分析基盤
- AWSがメイン
- データソースはストリーミングをして二アリアル動機データベース
- ウィークリーバッチでウィークリー同期データベースに同期している
- 設計方針
- 利用者が用途ごとに使い分けられ、マネージドサービスを活用し運用コストを下げる
- 二アリアル同期:データ取得目的で随時更新(DynamoDB)
- ウィークリー同期;分析や週次更新が(Athena)
- 二アリアル同期
- 写真
- ウィークリー
- 写真
- BQ利用のニーズ
- GCP上で雨後しているサービス開発の新機能開発でデータを使いたい
- BQ+Cloud AutoMLを使いたい
- 同期システム構成
- S3からBQにロードできるものを発見「Amazon S3 Transfers」
- ファイルはParquert + Snappy圧縮
- GUIで手設定可能なBQのデータ転送機能を使用
- データ転送は週に1回
- 日付!!
- データのロードで失敗。原因は「名刺交換日」がDate型となっているがyyyy-mm-ddのyyyyが0000のデータがごく少量含めれられてた
- AthenaやGlueでは普通に読めている
- 暫定案
- 元データセットのDate型をString型で
- S3とGCSを同期して
- まとめ
- 画面ぽちぽちじゃ無理ぽでした
- Sansanはデータエンジニア募集してますよ!
- まとめ
質疑応答
Q: 今はBQとAthenaと一緒?これから使う人には?
A: ユーザーに選択してもらう
Q:S3からBQに入れたらコスト面はどうやって見積もった
A: 一通りの転送が完了したら、改めて見積もるつもり
Q: GCPにデータを移す際に整合性はどのように考えてる?
A: S3に取得して置き換えている。洗い替えをしているので整合性は確保できているものだと考えている
感想
- 用途に合わせて使う連携タイミングが違うデータベースを使っているのは参考になった
- AWS→BigQueryの同期って大変そう