Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWSでデータ解析を始めたーい

koara
September 16, 2023

 AWSでデータ解析を始めたーい

四国クラウドお遍路 2023

koara

September 16, 2023
Tweet

More Decks by koara

Other Decks in Technology

Transcript

  1.  AWSでデータ分析を始めたーい
    クラウドお遍路 2023/09/16

    View Slide

  2. Who am I ?
    {
    "name": "古賀巧",
    "X_id": "@koara__fftr",
    "age": 27,
    "career": [ “C”, ”C++”, ”C#”, ”JavaScript”, ”PHP”],
    "hobbies": ["音楽"],
    "certifications": [ ],
    "favorite_AWS_service": "AWS Lambda",
    "other": [ ]
    }

    View Slide

  3. ・はじめに
    ・データ分析の流れ
    ・AWSのデータ分析サービス
    ・Amazon AthenaでNo ETLで、分析してみる
    ・AWS Glue DataBrewでETLして、分析してみる
    ・まとめ
    Contents

    View Slide

  4. はじめに
    AWSを使いたい動機
    オンプレで大量のデータを扱うためのリソースの調達や管理などが難しい
    したくない
    サクッと試して、今あるデータでどんなことをできるか知りたい
    小さく作って、早く失敗して、改善していきたい

    View Slide

  5. はじめに
    データ分析の流れ
    データ収集 蓄積・加工 可視化・分析

    View Slide

  6. データ分析の流れ
    1° 収集
    データを集める
    例)
    システムのアクセスログ
    IoTセンサーのデータ
    購買履歴
    音声データ
    SNSデータ

    View Slide

  7. データ分析の流れ
    部門や地域で
    サイロ化したデータを DLに集める
    2°-1 蓄積・加工
    DWH、DMに格納
    分析しやすい形式に加工
    ETL処理

    View Slide

  8. データ分析の流れ
    Extraxt
    2°-2 加工処理 データ分析全体の8割くらいを占める
    Transform Load
    Extraxt Load Transform
    データを加工してから、書き出す →非構造化データにも対応
    データを書き出してから、加工する

    View Slide

  9. データ分析の流れ
    2°で加工したデータを
    BIツールでの可視化や
    機械学習の学習データとして活用
    3° 可視化・分析

    View Slide

  10. AWSのデータ分析サービス
    収集 蓄積・加工 可視化・分析

    View Slide

  11. Amazon AthenaでNo ETLで、分析してみる
    Amazon Athena 

    サーバレスでインフラ管理不要

    S3に保存・蓄積したログに対してSQLクエリを投げて

    データをロードせずに直接分析を行える


    View Slide

  12. Amazon AthenaでNo ETLで、分析してみる
    1°データをS3に保存する
    サポートしているデータ形式
    Apache Parquet
    ORC
    CloudTrail ログ
    CSV、TSV
    JSON
    など
    行指向データ
    行ごとにデータを保存
    特定の列を扱う場合でも、行全体を読み込む必要がある
    列指向データ
    列ごとにデータを保存
    特定の列だけ扱う処理では、行全体を読み込む必要がない

    View Slide

  13. Amazon AthenaでNo ETLで、分析してみる
    2°「データベース」と「テーブル」の作成
    データベース・・・テーブルをグループにまとめる
    テーブル・・・列名、データ型などを定義
    テーブル定義の作成
    ・DDL(Data Define Language)で定義する
    ・Glue Crawlerで自動作成
    列名やデータ型を推測して、作成してくれる

    View Slide

  14. Amazon AthenaでNo ETLで、分析してみる
    3°SQLでクエリ
    クエリ結果はS3に自動保存
    コンソールから履歴も確認できる
    ANSI標準のSQLが使える(標準のSQL)

    View Slide

  15. Amazon AthenaでNo ETLで、分析してみる
    +α 横串検索(Federated Query)
    データコネクタを利用した、複数データソースに横断的なクエリを実行

    View Slide

  16. Amazon Athenaのパフォーマンスチューニング
    その他

    Amazon Athena のパフォーマンスチューニング Tips トップ 10
    https://aws.amazon.com/jp/blogs/news/top-10-performance-tuning-tips-for-amazon-athena/
    1° スキャンするデータ量を減らす
    →列指向データ(Apache Parquet、ORCなど)を使用する
    →データの圧縮(Snappy→圧縮/解凍が速い, LZOなど)
    2° 小さいサイズをまとめる 128MB以上にする
    3° データをパーティションで分割する
    例)2023/09/13
          /14
          /15
    Amazon Athena でのパーティション射影
    https://docs.aws.amazon.com/ja_jp/athena/latest/ug/partition-projection.html

    View Slide

  17. Amazon AthenaとAmazon Redshift Spectrum
    Amazon Athena
    サーバーレス
    スキャンしたデータ量で課金 (1TBあたり$5)
    クエリタイムアウト時間 :30分
    Amazon Redshift Spectrum
    Redshift クラスタの管理が必要
    クラスタの実行時間で課金
    より大規模なデータや
    複数テーブルのJOINなどの複雑なクエリを実行
    パフォーマンスはより安定

    View Slide

  18. 簡単に(?)
    AWS Glue DataBrewでETLして、分析してみる
    AWS Glue DataBrew は視覚的なデータ準備ツール であり、データアナリストやデー
    タサイエンティストはデータをより簡単にクリーンアップおよび正規化し、分析や機
    械学習 (ML) の準備をすることができます。250 を超える事前構築された変換から
    選択して、コードを記述することなくデータ準備タスクを自動化 できます。異常のフィ
    ルタリング、標準形式へのデータの変換、無効な値の修正などのタスクを自動化で
    きます。データの準備が整ったら、 すぐに分析と ML プロジェクトに使用で きます。
    実際に使用した分に対してのみ料金が発生します。前払いの義務はありません。
    https://aws.amazon.com/jp/glue/features/databrew/

    View Slide

  19. 簡単に(?)
    AWS Glue DataBrewでETLして、分析してみる
    DataBrewプロジェクトを作成

    DataBrew レシピにデータ加工処理を記録


    View Slide

  20. 簡単に(?)
    AWS Glue DataBrewでETLして、分析してみる
    一旦、赤枠のデータ操作は無視してデータと向き合う (坐禅タイム

    View Slide

  21. 簡単に(?)
    AWS Glue DataBrewでETLして、分析してみる
    列ごとに統計情報と
    それに対するレコメンドを確認できる

    View Slide

  22. 簡単に(?)
    AWS Glue DataBrewでETLして、分析してみる
    レシピはGUIで作成することを前提にしている

    View Slide

  23. 簡単に(?)
    AWS Glue DataBrewでETLして、分析してみる
    レシピからジョブを作成

    View Slide

  24. 簡単に(?)
    AWS Glue DataBrewでETLして、分析してみる
    出力先を指定して、ジョブを実行
    実行した結果をQuickSightで可視化(マニフェストファイルの作成が必要)

    View Slide

  25. Glue Databrew     Glue Studio
    データを可視化して
    GUIでETLジョブの作成
    用意された変換処理が200種類以上
    GUIとコード両方を使用可能
    ETLジョブの作成、実行、実行状況の監視
    用意された変換処理は 40個
    2つを組み合わせて使用することも可能
    Glue DataBrewでデータの傾向把握と用意された変換処理を行い
    Glue DataBrewで足りない部分はGlue Studioでコードを書いて実現

    View Slide

  26. まとめ
    AWSを使うことで
    ・データアクセスの民主化
    +
    ・ツールの民主化
    ・分析スキルの民主化へ

    View Slide

  27. ちょっと宣伝

    View Slide

  28. ちょっと宣伝2

    View Slide