四国クラウドお遍路 2023
AWSでデータ分析を始めたーいクラウドお遍路 2023/09/16
View Slide
Who am I ?{"name": "古賀巧","X_id": "@koara__fftr","age": 27,"career": [ “C”, ”C++”, ”C#”, ”JavaScript”, ”PHP”],"hobbies": ["音楽"],"certifications": [ ],"favorite_AWS_service": "AWS Lambda","other": [ ]}
・はじめに・データ分析の流れ・AWSのデータ分析サービス・Amazon AthenaでNo ETLで、分析してみる・AWS Glue DataBrewでETLして、分析してみる・まとめContents
はじめにAWSを使いたい動機オンプレで大量のデータを扱うためのリソースの調達や管理などが難しいしたくないサクッと試して、今あるデータでどんなことをできるか知りたい小さく作って、早く失敗して、改善していきたい
はじめにデータ分析の流れデータ収集 蓄積・加工 可視化・分析
データ分析の流れ1° 収集データを集める例)システムのアクセスログIoTセンサーのデータ購買履歴音声データSNSデータ
データ分析の流れ部門や地域でサイロ化したデータを DLに集める2°-1 蓄積・加工DWH、DMに格納分析しやすい形式に加工ETL処理
データ分析の流れExtraxt2°-2 加工処理 データ分析全体の8割くらいを占めるTransform LoadExtraxt Load Transformデータを加工してから、書き出す →非構造化データにも対応データを書き出してから、加工する
データ分析の流れ2°で加工したデータをBIツールでの可視化や機械学習の学習データとして活用3° 可視化・分析
AWSのデータ分析サービス収集 蓄積・加工 可視化・分析
Amazon AthenaでNo ETLで、分析してみるAmazon Athena サーバレスでインフラ管理不要 S3に保存・蓄積したログに対してSQLクエリを投げて データをロードせずに直接分析を行える
Amazon AthenaでNo ETLで、分析してみる1°データをS3に保存するサポートしているデータ形式Apache ParquetORCCloudTrail ログCSV、TSVJSONなど行指向データ行ごとにデータを保存特定の列を扱う場合でも、行全体を読み込む必要がある列指向データ列ごとにデータを保存特定の列だけ扱う処理では、行全体を読み込む必要がない
Amazon AthenaでNo ETLで、分析してみる2°「データベース」と「テーブル」の作成データベース・・・テーブルをグループにまとめるテーブル・・・列名、データ型などを定義テーブル定義の作成・DDL(Data Define Language)で定義する・Glue Crawlerで自動作成列名やデータ型を推測して、作成してくれる
Amazon AthenaでNo ETLで、分析してみる3°SQLでクエリクエリ結果はS3に自動保存コンソールから履歴も確認できるANSI標準のSQLが使える(標準のSQL)
Amazon AthenaでNo ETLで、分析してみる+α 横串検索(Federated Query)データコネクタを利用した、複数データソースに横断的なクエリを実行
Amazon Athenaのパフォーマンスチューニングその他 Amazon Athena のパフォーマンスチューニング Tips トップ 10https://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 /15Amazon Athena でのパーティション射影https://docs.aws.amazon.com/ja_jp/athena/latest/ug/partition-projection.html
Amazon AthenaとAmazon Redshift SpectrumAmazon Athenaサーバーレススキャンしたデータ量で課金 (1TBあたり$5)クエリタイムアウト時間 :30分Amazon Redshift SpectrumRedshift クラスタの管理が必要クラスタの実行時間で課金より大規模なデータや複数テーブルのJOINなどの複雑なクエリを実行パフォーマンスはより安定
簡単に(?)AWS Glue DataBrewでETLして、分析してみるAWS Glue DataBrew は視覚的なデータ準備ツール であり、データアナリストやデータサイエンティストはデータをより簡単にクリーンアップおよび正規化し、分析や機械学習 (ML) の準備をすることができます。250 を超える事前構築された変換から選択して、コードを記述することなくデータ準備タスクを自動化 できます。異常のフィルタリング、標準形式へのデータの変換、無効な値の修正などのタスクを自動化できます。データの準備が整ったら、 すぐに分析と ML プロジェクトに使用で きます。実際に使用した分に対してのみ料金が発生します。前払いの義務はありません。https://aws.amazon.com/jp/glue/features/databrew/
簡単に(?)AWS Glue DataBrewでETLして、分析してみるDataBrewプロジェクトを作成 DataBrew レシピにデータ加工処理を記録
簡単に(?)AWS Glue DataBrewでETLして、分析してみる一旦、赤枠のデータ操作は無視してデータと向き合う (坐禅タイム
簡単に(?)AWS Glue DataBrewでETLして、分析してみる列ごとに統計情報とそれに対するレコメンドを確認できる
簡単に(?)AWS Glue DataBrewでETLして、分析してみるレシピはGUIで作成することを前提にしている
簡単に(?)AWS Glue DataBrewでETLして、分析してみるレシピからジョブを作成
簡単に(?)AWS Glue DataBrewでETLして、分析してみる出力先を指定して、ジョブを実行実行した結果をQuickSightで可視化(マニフェストファイルの作成が必要)
Glue Databrew Glue Studioデータを可視化してGUIでETLジョブの作成用意された変換処理が200種類以上GUIとコード両方を使用可能ETLジョブの作成、実行、実行状況の監視用意された変換処理は 40個2つを組み合わせて使用することも可能Glue DataBrewでデータの傾向把握と用意された変換処理を行いGlue DataBrewで足りない部分はGlue Studioでコードを書いて実現
まとめAWSを使うことで・データアクセスの民主化+・ツールの民主化・分析スキルの民主化へ
ちょっと宣伝
ちょっと宣伝2