【レポート】AWS における End to End のサーバーレスデータ分析ソリューション #AWSSummit

AWS Summit 2018 Tokyo

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

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)でした!