【レポート】AWS における End to End のサーバーレスデータ分析ソリューション #AWSSummit
AWS Summit Tokyo 2018。Day2 で開催された『AWS における End to End のサーバーレスデータ分析ソリューショ』についてレポートします。
スピーカー
- Karthik Kumar Odapally
- Amazon Web Services, Inc. Solutions Architect
セッション概要
Amazon Athena を活用して Amazon S3 上のデータを分析し、Amazon QuickSight でデータを可視化するサーバーレスなアーキテクチャをご紹介します。 本セッションの中では、 2009 年から 2016 年におけるニューヨークの全てのタクシーから収集した運航・乗車情報と、 2015 年から 2016 年までのレンタカー( FHV )の乗車情報を含むパブリックなデータセットを利用します。 そのデータにはピックアップとドロップオフの日付/時刻、ピックアップとドロップオフの場所、乗車距離、項目別運賃、レートタイプ、支払いタイプ、運転手 が報告した客数などが含まれており、同データをどのように Amazon Athena で分析し、 Amazon QuickSight で可視化するのかをご覧いただきます。
アジェンダ
- AWS ビッグデータサービス
- サービス概要
- クエリパフォーマンス
- リファレンスアーキテクチャ
- 自習用ワークショップ(付録)
ビッグデータサービス -サーバーレス-
- 取り込み
- S3 Transfer Acceleration、マルチパートアップロード
- Kinesis Data Firehose
- 蓄積
- S3
- DynamoDB
- Kinesis Data Streams
- 分析/処理
- Athena
- Kinesis Analytics
- Lambda
- 可視化/利用
- QuickSight
- トランスフォーメーション
- AWS Glue
Amazon Athena
- クエリを即座に開始
- サーバーレス
- ETL 不要
Amazon QuickSight
高速なビジネス分析サービス。容易な可視化。
- 分析
- ダッシュボード
- ストーリーボード
QuickSight に取り込む方法
Amazon EC2 上で動作するデータベース
- SPICE にインポート
S3 に配置されたデータ
- Athena を介して
- SPICE インポート
RDS
- 直接取り込める
- SPICE にインポート
Redshift および、Redshift Spectrum
- 直接取り込める
- SPICE にインポート
Amazon Glue
現状の課題として、ETLジョブの 70 % が手組で開発されており、 ETL ツールが使用されていない。さらに、クラウド環境になると 90% 以上も手組みでの開発が締めている(ETL を使っていない)
手組みの開発は十分に整理されていないため、大量の手作業を伴う
- 脆弱
- エラー
- 多大な労力
Glue の特徴
- 統合されたデータカタログ
- 自動化されたデータディスカバリ
- コード生成
- 事前生成を使うか、組み込まれたコードを使うか選択できる
- 開発者エンドポイント
- 柔軟性に優れたジョブスケジューラ
Glue のコンポーネント
- データカタログ
- persistent なメタデータストア
- 自動的にメータデータを抽出してテーブルを作成
- ジョブ記述
- コードを自動生成
- 開発者への配慮、編集、デバッグ、共有機能
- ジョブ実行
- Spark プラットフォーム上でジョブを実行
- Development Endpoints
- ETL コードを繰り返し開発およびテストする環境
- IDEまたは、ノートブック(zeppelinなど)を利用
リファレンスアーキテクチャ
オンプレミス分析パイプライン
- オンプレミスの Hadoop クラスタには、以下4つのような問題がある
- スケーラビリティがない
- 停止の影響
- ストレージコンピューティング
- 常時稼働
AWS のリファレンスアーキテクチャ
- データエクスポート は AWS DMS
- リアルタイムデータ収集に Kinesis Firehose
- ログ集約
- ランディング に S3 バケット
- Athena が S3 にクエリ
- QuickSight で可視化
データレイクの即時クエリと可視化
- S3 --> Glue Crawler --> Glue Data Catalog
- ひとつの Glue Data Catalog から 即時分析が可能
- Athena
- EMR
- Redshift spectrum
- QuickSight で可視化
クエリパフォーマンス
ベストプラクティス -ストレージ-
- データのパーティション化
- 列思考のデータの生成による最適化
- ファイルの圧縮、分割
- ファイルサイズの最適化
ベストプラクティス -クエリ-
- ORDER BY 最適化
- Joins 最適化
- GROUP BY 最適化
- LIKE 演算子最適化
- 近似関数の使用
- 必要な列のみを含める
自習用ワークショップ
Building an End-to-End Serverless Data Analytics Solution on AWS
QuickSight and Athena Workshop
- NY のタクシーのデータを使用
- Amazon Athena によるサーバレス分析
- QuickSight による可視化
- Amazon Glue を使用したサーバーレス ETL とデータ検出
- Amazon Redshift Spectrumを 使用したAmazon S3 のデータ分析
さいごに
サーバーレス分析基盤のアーキテクチャについて、よく理解できるセッションでした!さらに理解を深めるには「手を動かすこと」ですね!自習用ワークショップも公開されているので、是非、サーバーレス分析を体感したい方はチャレンジしてください!そしてブログでアウトプットしましょう!
以上!大阪オフィスの丸毛(@marumo1981)でした!