SlideShare a Scribd company logo
AWSで作る分析基盤
AWS研修担当
はじめに
システムログ
世の中にあふれる様々なデータ
トラフィックデータ
セキュリティログ
アプリログ センサーデータトラップ
リソースデータ
マルチメディアソーシャルメディア
個人データ
属性情報 オープンデータ
ビッグデータ
2017年にシスコ社から公表された資料によれば、全世界のインターネットにおいて
送受信されたデータ量は、 2016年において年間1.2ZB(ゼタバイト)でしたが、
2021年には3.3ZBに達すると予測されています。
【出所】Cisco Visual Networking Index:予測と方法論[Cisco]
トラフィックにおけるビッグデータ
平成30年の情報通信白書に掲載されているIoTデバイスの推移を見てみましょう。
統計によると、2020年には403億個のデバイスが世界とつながるのです!
【出所】総務省 平成30年情報通信白書
IoT・センサーにおけるビッグデータ
2011年のLinked Open Data Cloud
公開されているデータだけでもかなり流用できるものは多い。
オープンデータにおけるビッグデータ
どうやって 分析するのか
大規模データ分析基盤を
作ろう
大規模データを分析する基盤の要素は上の四つです。
大量のデータを欠損なくできるだけリアルタイムに収集し、安価なストレージに蓄積し、
コンピューティング技術でがつがつ分析し、そして可視化します。
データ分析基盤の大まかな構成
収集 蓄積 分析 可視化
データレイクを基軸とした分析基盤の論理
アーキテクチャ
Raw Data Pond
Middle Layer Pond
Active Data Pond Data
Warehouse
Data
Mart
Data
Mart
Machine
Learning
収集元
蓄積(データレイク)
分析 可視化
ETL
Message
Queue
Pub/sub
Message
Realtime
SQL
Batch
(FTP..)
Data
Mart
BI
Report
Files
MapReduce
D
a
t
a
C
a
t
a
l
o
g
s
Data
Mart
さっそく作ろう
その前に
知っておくといい
基礎知識・用語
Hadoop
大規模データ分析で欠かすことのできない技術がHadoopです。
特にMapReduceという分散コンピューティングの仕組みは原理を理解する上で重要です。
ここではHadoopについて詳しく触れませんが、頭の片隅に入れといていただければと思いま
す。
AWSにもこのHadoopの技術を利用したマネージド・サービスがいくつもあります。
Hadoopという技術
Hadoopといえば、気色の悪い象のマスコットが印象的ですが、
これはHadoopの生みの親ダグ・カッティング氏のご子息が持っていたおもちゃの象にちなんで
るとのこと。
ちなみにカッティング氏、 Elasticsearchの中身のLuceneとかも生み出しているすごい人
https://www.cnbc.com/id/100769719
余談: Why?
Hadoopの核機能を利用してさらに便利にいろいろなアプリケーションが開発されました。
これらをHadoopエコシステムといいます。
代表的なものとしてSQLライクで検索可能なHiveやImpala、Presto、リアルタイム性を上げた
Spark、分散型スケーラブルデータストアのHbaseなどがあります。
画像: https://jp.cloudera.com/products/open-source/apache-hadoop.html
エコシステム
バッチ処理 ストリーム処理
求められる要件によって継続して発生するデータに対してバッチ処理で分析するか
ストリーム処理で分析するか選ぶ必要があります。
バッチ処理とストリーム処理の比較
バッチ処理
ストリーム処理
データ範囲
データセット内のデータの全部また
は大部分に対するクエリまたは処
理。
ローリング時間窓でのデータまた
は直近のデータレコードのみに対
するクエリまたは処理。
データサイ
ズ 大きなデータバッチ。
少数のレコードから成るマイクロ
バッチまたは個々のレコード。
パフォーマ
ンス
数分から数時間のレイテンシー。
レイテンシーは数秒または数ミリ秒
程度に抑える必要があります。
分析 複雑な解析。
シンプルなレスポンス機能、集計、
およびローリングメトリックス。
ETL
こっちは ELT
Extract(抽出)・Transform(加工・変換)・Load(取込)の頭文字をとってETLといいます。
様々なデータソースから構文解析を行い必要なデータを加工しやすい形で抽出し、
データに対しクレンジングや符号化・転置・回転・計算を行い加工変換したのち、
データウェアハウスなどにデータを取り込ませます。
ETLとは?
Data Source
Extract
(抽出)
Transform(加工・変換)
Load
(取込)
DHW
データレイク データウェアハウス
データレイクとは、構造化データや非構造化データを格納する場所であり、
様々なデータソースから集められたデータを管理し、活用のための前処理を行える環境。
Hadoopやオブジェクトストレージ+Sparkで構成されることが多い。
引用: https://blogs.oracle.com/bigdata-dataintegration-jp/data-lake-database-data-warehouse-difference_jp
データレイクの定義
データウェアハウスは、予め定義されたKPIなどの指標をモニタリング/分析するために、社内
外の様々なデータソースからデータを収集し、検索のための最適化が行われた環境。
主にDWHのための機能を有したデータベースで構成される。
引用: https://blogs.oracle.com/bigdata-dataintegration-jp/data-lake-database-data-warehouse-difference_jp
データウェアハウスの定義
SELECT * FROM users
WHERE ……
データレイクはデータウェアハウスとは異なり、構造化データと非構造化データを含むすべて
のデータの集中リポジトリです。データウェアハウスは、分析用に最適化された事前定義済み
スキーマを使用します。データレイクでは、スキーマは定義されておらず、ビッグデータ分析、フ
ルテキスト検索、リアルタイム分析、機械学習などのさまざまなタイプの分析が可能です。
引用: https://aws.amazon.com/jp/data-warehouse/
データウェアハウスとデータレイクの比較
特徴 データウェアハウス データレイク
データ
トランザクションシステム、業務データベース、基
幹業務アプリケーションからのリレーショナル
データ
IoT デバイス、ウェブサイト、モバイルアプリ、ソー
シャルメディア、企業アプリケーションからの非リ
レーショナルデータとリレーショナルデータ
スキーマ
データウェアハウスの実装前に設計 (スキーマオ
ンライト)
分析時に書き込み (スキーマオンリード)
価格/パフォーマ
ンス
高コストのストレージを使用、クエリ結果の取得
は最速
低コストのストレージを使用、クエリ結果の取得
は加速中
データ品質
高度にキュレートされたデータで、事実の情報源
として機能
キュレートできるデータ、またはできない (生デー
タなど) データ
ユーザー
ビジネスアナリスト、データサイエンティスト、デー
タ開発者
(キュレートされたデータを使用する) データサイ
エンティスト、データ開発者、ビジネスアナリスト
分析 バッチレポート、BI、および視覚化
機械学習、予測分析、データ検出、およびプロ
ファイリング
データウェアハウスは、特にデータ分析向けに設計されており、大量のデータを読み取り、
データ全体で関係や傾向を把握できます。データベースは、トランザクションの詳細の記録な
ど、データを取得し保存するのに使用されます。
引用: https://aws.amazon.com/jp/data-warehouse/
参考: データウェアハウスとデータベースの比較
特徴 データウェアハウス トランザクションデータベース
適切なワークロード 分析、レポート、ビッグデータ トランザクション処理
データソース
多数のソースから収集され、正規化さ
れたデータ
トランザクションシステムなど、単一の
ソースからそのまま取得されたデータ
データキャプチャ
通常、所定のバッチスケジュールに
従って行われる一括書き込み操作
新規データを利用してトランザクション
スループットを最大化できるため、継
続的な書き込み操作に最適
データの正規化
スタースキーマやスノーフレークス
キーマなどの非正規化スキーマ
高度に正規化されたスタティックス
キーマ
データストレージ
簡単なアクセスや、列指向ストレージ
を使用した高速クエリパフォーマンス
に最適
単一行指向の物理ブロックへの高ス
ループットの書き込み操作に最適
データアクセス
最低限の I/O で最大のデータスルー
プットを実現するのに最適
大量の小規模読み取り操作
紛らわしい言葉としてデータマートというのがあります。
データマートは、特定のチームや部署 (財務、マーケティング、営業など) のニーズに対応した
データウェアハウスです。規模が小さく、的が絞られており、ユーザーのコミュニティにとって最
適なデータの概要が保存されています。
引用: https://aws.amazon.com/jp/data-warehouse/
参考: データウェアハウスとデータマートの比較
特徴 データウェアハウス データマート
スコープ
集中化されており、複数のサブジェクト領域が統
合されている
集中化されていない、特定のサブジェクト領域
ユーザー 組織全体 単一のコミュニティや部署
データソース 多数のソース
1 つまたは少数のソース。あるいは、データウェ
アハウスにすでに収集されているデータの一部
サイズ
大規模。数百ギガバイトから数百ペタバイトが可
能
小規模。通常は最大数十ギガバイト
設計 トップダウン ボトムアップ
データの詳細 完全で詳細なデータ 要約されたデータを保存可能
データレイクを基軸に
分析基盤を作ろう
もっとお勉強したいあなたへ
おすすめ著書
Data Lake Architecture:
Designing the Data Lake and Avoiding the Garbage Dump
英語ですが、データレイクアーキテクチャの論理モデルが
大変勉強になる。
いろいろ書いてあるが
Raw Data Pond => xxx Pond => Active Data Pond
のところを抑えればいい気もする
AWSで データレイク
データレイクを基軸とした分析基盤の論理
アーキテクチャ
Raw Data Pond
Middle Layer Pond
Active Data Pond Data
Warehouse
Data
Mart
Data
Mart
Machine
Learning
収集元
蓄積(データレイク)
分析 可視化
ETL
Message
Queue
Pub/sub
Message
Realtime
SQL
Batch
(FTP..)
Data
Mart
BI
Report
Files
MapReduce
D
a
t
a
C
a
t
a
l
o
g
s
Data
Mart
様々なAWSサービス
データレイクに使えそうなサービス
S3 S3 Glacier Glue
データレイクに使えそうなサービス
S3 S3 Glacier Glue
様々なデータを とりあえずためる
データレイク基盤の中心
S3
容量無制限で容量単価も安く、高信頼性のオブジェクトストレージS3を使うことで
Rawデータ・中間データ・整形済みデータなどを効率よく他サービスに連携できる
出典: https://www.slideshare.net/AmazonWebServicesJapan/20180424-aws-black-belt-online-
seminar-aws?from_action=save
S3
S3は様々なAWSサービスと接続することができるのも魅力
出典: https://www.slideshare.net/AmazonWebServicesJapan/20180424-aws-black-belt-online-
seminar-aws?from_action=save
S3 Select
S3 Select を使えばCSV, JSON, Parquetファイルの中身に対して直接データを抽出できます。
扱いやすいデータ構造までETLが済んだファイルであればS3 Selectを使ってデータレイクが
作りきれます。
データレイクに使えそうなサービス
S3 S3 Glacier Glue
Glacier Select
Glacierでも Selectが使えます。
アーカイブストレージに保存されているアーカイブを毎回解凍することなく、必要なデータだけ
を取り出し、分析などができるようになりますので、大幅な時間やコストの節約になります。
ただ、Glacierは他のAWSサービスとの連携はS3に比べて劣るので本当に使わなくなったファイ
ルのみをGlacierに入れるのがよいでしょう。
データレイクに使えそうなサービス
S3 S3 Glacier Glue
様々なデータを
分析できるように ETLする
Glueとは?
AWS Glue は、簡単でコスト効果の高い方法でデータの分類、消去、強化、およびさまざまな
データストア間を確実に移動することができる、完全マネージド型 ETL (抽出、変換、ロード)
サービスです。
AWS Glue は、AWS Glue データカタログ と呼ばれる中央メタデータリポジトリ、Python または
Scala コードを自動的に生成する ETL エンジン、依存性の解決、ジョブのモニタリング、および再
試行を処理する柔軟なスケジューラで構成されています。
AWS Glue はサーバーレスであるため、セットアップまたは管理するインフラストラクチャはあり
ません。 (公式Docより)
Glueの機能
Glueには下記機能があります。
• データカタログ: 様々なデータソースを一元的なデータカタログとして集中管理
• クローラー: データカタログにデータソースからデータを入れる
• ジョブ: ETLスクリプトをSpark/Pythonで作成
データカタログへの入力
データストアに接続し、クローラーを使ってデータをデータカタログに取り込みます
• 利用できるデータストア: S3, DynamoDB, RDS, Redshift, パブリックアクセス可能なJDBC
• クローラー: カスタム・組み込みの分類子に基づいてデータを読み出しテーブル化します
• クロールされたデータはデータカタログから利用できます
組み込みされている分類子
分類子タイプ 分類文字列
Apache Avro avro
Apache ORC orc
Apache Parquet parquet
JSON json
バイナリ JSON bson
XML xml
Amazon Ion ion
Combined Apache ログ combined_apache
Apache ログ apache
Linux カーネルログ linux_kernel
Microsoft ログ microsoft_log
Ruby ログ ruby_logger
Squid 3.x ログ squid
Redis 監視ログ redismonlog
Redis ログ redislog
CSV csv
Amazon Redshift redshift
MySQL mysql
PostgreSQL postgresql
Oracle データベース oracle
Microsoft SQL Server sqlserver
Amazon DynamoDB dynamodb
カスタム分類子を使えば
Grokフィルタパターンが
使える
ETLジョブ
データカタログに対してETL処理がしたい場合、ジョブを設定することで可能となります
• データソースとデータターゲットのデータカタログを選択します
• 一次データの保存場所・ワーカ数・実行環境・環境変数などジョブ変数を設定します
• Glue DynamicFrameへの変換を行います
• ジョブを起動するスケジュールやトリガーを指定します
• PySpark / Scala or Python scriptでジョブを書きます
楽しいPySpark
• SparkとはHadoopのMapReduceをインメモリで行うことでHadoopより爆速になった分散処理
アーキテクチャです。
• Spark自体はScalaという言語でできていますので、SparkジョブはScalaで記述します
• SparkでPythonというプログラミング言語をサポートしたものがPySparkです
• データをRDD, Spark Dataframeという形式で扱うことができ、特にDataframeはPythonistaに
とってなじみのある操作感です。 (SparkSQLを使いこなせば余裕)
(RDDはPython, JVM間のコンテキストスイッチ速度の関係上もおすすめしない)
演習1
S3にある気象データから
データカタログを作る
AWSで 分析
データレイクを基軸とした分析基盤の論理
アーキテクチャ
Raw Data Pond
Middle Layer Pond
Active Data Pond Data
Warehouse
Data
Mart
Data
Mart
Machine
Learning
収集元
蓄積(データレイク)
分析 可視化
ETL
Message
Queue
Pub/sub
Message
Realtime
SQL
Batch
(FTP..)
Data
Mart
BI
Report
Files
MapReduce
D
a
t
a
C
a
t
a
l
o
g
s
Data
Mart
様々なAWSサービス
分析に使えそうなサービス
RedshiftAthena Kinesis
EMR SageMaker Batch
分析に使えそうなサービス
RedshiftAthena Kinesis
EMR SageMaker Batch
S3, データカタログに対して
標準SQLを用いて クエリできる
Athenaとは?
Amazon Athena は、標準 SQL を使用して Amazon Simple Storage Service (Amazon S3) での
データの直接分析を簡易化するインタラクティブなクエリサービスです。
AWS マネジメントコンソールでいくつかアクションを実行するだけで、Athena にデータの保存先
の Amazon S3 を設定し、標準 SQL を使用してアドホッククエリの実行を開始できます。結果は
数秒で返ります。
Athena はサーバーレスであるため、インフラストラクチャの設定や管理は不要です。
また、実行したクエリにのみ課金されます。
Athena は自動的にスケールして—クエリを並列実行する—ため大規模なデータセットや複雑
なクエリでも結果がすぐに返ります。
(公式Docより)
S3のデータに対してテーブル定義
CREATE EXTERNAL TABLE IF NOT EXISTS cloudfront_logs (
`Date` Date,
Time STRING,
Location STRING,
Bytes INT,
RequestIP STRING,
Method STRING,
Host STRING,
Uri STRING,
Status INT,
Referrer STRING,
OS String,
Browser String,
BrowserVersion String
) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
"input.regex" =
"^(?!#)([^ ]+)s+([^ ]+)s+([^ ]+)s+([^ ]+)s+([^ ]+)s+([^ ]+)s+([^ ]+)s+([^ ]+)s+
([^ ]+)s+([^ ]+)s+[^(]+[(]([^;]+).*%20([^/]+)[/](.*)$"
) LOCATION 's3://athena-examples/cloudfront/plaintext/';
S3に入っているデータに対してSQLを投げるには、まずテーブル定義が必要です。
Hive DDLに基づいて、外部テーブルを作成します。(CREATE EXTERNAL TABLE文)
上記のようにカラム名と型を宣言し、LOCATION 節で S3の場所を指定します。
また、SerDe (シリアライザー/デシリアライザー) を指定することで様々な形式のファイルに
対応することができます。
テーブル定義がめんどくさいあなたへ
どこからともなくめんどくさい・・・という声が聞こえてきましたね。
Glueのクローラーから作成されたデータカタログについてはAthenaをサポートしています。
先ほどのようなテーブル定義をすることなくSQLが扱えるようになります。
また、Athenaではデータカタログにのみ集中することでデータソースの形式を意識する必要もb
なくなるものメリットです。
SQL例
SELECT COUNT(request_verb) AS
count,
request_verb,
client_ip
FROM alb_logs
GROUP BY request_verb, client_ip
LIMIT 100;
外部テーブルもしくはデータカタログができたら、
上記のように標準SQLで検索をすることができます。
AWSマネージドコンソールから結果が確認できるほか、指定したS3 Athena Resultバケットに
CSV形式で出力されます。
Athenaと上手に
つきあうコツ
基盤製品の特性を正しく知る
Athenaの基盤製品はFacebook製分散処理基盤のPrestoと呼ばれるものです。
Hadoopエコシステムの一つですが、MapReduce時にディスク書き出しを伴わず、バッチ的に処
理するジョブからタスクという処理単位に変更することで大幅なスピードアップが図られてます。
一方で、インメモリで処理が動くため全データをスキャンするようなメモリオーバーフローする
可能性の高いクエリは向きません。よってETLに用いるのもおすすめしません。
クエリのリトライ機構もないので安定的なバッチ処理の必要な案件も不向きです。
https://medium.com/@adirmashiach/facebook-prestodb-full-review-4ba59720a92
Presto likeなクエリを書く
Prestoは標準SQLに対応しているものの、向き不向きのSQLが存在します。
各Presto Workerができるだけ独立で結果を算出できるようなクエリのチューニングが
必要となります。
GROUP BY の順番やLIKE句の代わりに regexp_like句を使う(正規表現のコンパイル効果?)な
どです。
また、列指向エンジンのため SELECT * FROM … とか全カラムを抽出すると高コストです。
https://support.treasuredata.com/hc/en-us/articles/360001450908-Presto-Performance-Tuning
読み込みデータ量をできるだけ少なくする
データをGZIP等で圧縮したり、列指向型のデータで保存することでAthenaが読み込むデータ量
が抑えられ、クエリ速度とお金が節約できます。
列指向データでサポートされているのはApache ParquetとORCです。
また、パーティションというS3のPrefixとデータ範囲を紐づけることでWHERE句を用いたとき、
全スキャンにならずクエリ速度とお金が節約できます。
https://engineer.retty.me/entry/columnar-storage-format
演習2
Glueデータカタログを
Athenaでたたいてみる
分析に使えそうなサービス
RedshiftAthena Kinesis
EMR SageMaker Batch
AWSマネージド列指向型データベースで
データウェアハウスに最適
Redshiftとは?
Amazon Redshift は高速で、スケーラブルなデータウェアハウスで、お使いのデータウェアハウ
スとデータレイクすべてにわたる分析をシンプルで費用対効果高く行えます。Redshift は
machine learning、大規模並列クエリ実行、高パフォーマンスディスクへのカラム型ストレージを
用いて、他のデータウェアハウスよりも 10 倍高速のパフォーマンスを実現します。新規データ
ウェアハウスはわずか数分でセットアップ、デプロイでき、お使いの Redshift データウェアハウ
ス内のペタバイト級のデータや、Amazon S3 上に構築したデータレイクのエクサバイト級のデー
タにわたってクエリを実行できます。
(公式Docより)
特徴
RedshiftはAWSでデータウェアハウスを作る際に最適なソリューションです。
特徴としては
• 列指向型DBのため、大規模データの集計処理が得意
• S3からCOPYコマンドを用いてデータをロード可能
• データノード・コンピューティングノードがスケーラブル、コンソールから一発
• PostgreSQL準拠の標準SQL使用可能
さらに便利なRedshift Spectrum
スケーラブル可能、とはいったもののサーバを管理しなきゃいけないのはつらい、という
声が聞こえてきますね。
Redshift Spectrumを使えば、データの保存先はS3のままコンピュートノードとしてRedshiftのス
ケーラブルさを利用することができます。
ちなみに、Redshift Spectrumを使う際は、外部スキーマを定義し、Athenaと同じようにCREATE
EXTERNAL TABLE文で外部テーブルを設定することで使用可能です。
Redshiftと上手に
つきあうコツ
基盤製品の特性を正しく知る
少しどうでもいい話ではありますが、Redshiftの基盤製品はActian MatrixというMPP (Massively
Parallel Processing:超並列処理)なDBです。
列に対しての圧縮タイプや、分散キー・ソートキーなどMatrixでチューニングポイントになる箇
所は抑えるようにしましょう。
https://mattermark.com/sparql-city-raises-10m-to-help-data-scientists-analysts-manipulate-big-
data/
https://www.slideshare.net/InsightTechnology/dbts-tokyo-2015-a14-actian-matrix-insight-
technology
余談: Redshiftの名称
さらにどうでもいい話ではありますが、Redshiftの語源は「赤方偏移」だそうです。
専門でないのでよくわかりませんが自分からものすごい勢いで離れていく物体は赤く見えると
かで、あのハッブルさんがビッグバン理論(宇宙が膨張している)ことを説明した現象でもありま
す。
宇宙的に膨張していく様を現した面白い名前ですね。
https://www.quora.com/Why-is-AWS-Redshift-named-so-2
演習3
Redshiftクラスタを
作り
SQLを投げてみる
分析に使えそうなサービス
RedshiftAthena Kinesis
EMR SageMaker Batch
ストリームデータに対して
リアルタイムに分析をする
Amazon Kinesis Data Analytics
Amazon Kinesis Data Analytics は、新しいプログラミング言語や処理フレームワークを習得する
ことなく、標準 SQL でストリーミングデータをリアルタイムで処理できる最も簡単な方法です。
Amazon Kinesis Data Analytics を使用すると、SQL を使用してストリーミングデータのクエリやス
トリーミングアプリケーション全体の構築を行うことができます。これにより、実用的なインサイト
を得て、ビジネスやお客様のニーズにすばやく対応することができます。
(公式Docより)
特徴
Amazon Kinesis Data Analytics は、Kinesisの中を流れるデータに対してSQLを実行し、
結果をストリーミングデスティネーションに出力します。(Kinesis Stream or Kinesis Firehose)
フィルタや文字列操作など前処理に利用されることが多いですが、工夫すると指定したウィンド
ウ内で異常値をプロットする異常値検出にも利用できます
分析に使えそうなサービス
RedshiftAthena Kinesis
EMR SageMaker Batch
自前で
MapReduceクラスタを作る
EMRとは?
Amazon EMR では、管理された Hadoop フレームワークが提供され、動的にスケーリング可能
な Amazon EC2 インスタンスで、大量のデータを、簡単、高速、高コスト効率な方法で処理でき
ます。また、Apache Spark や HBase、Presto、Flink といった他の一般的なフレームワークを
Amazon EMR で実行することや、Amazon S3 や Amazon DynamoDB といった他の AWS データ
ストア内でデータを操作することもできます。
(公式 Doc)
EMRの使いどころ
社内システムとの連携が必要な場合に
手頃にHadoop基盤が構築したい
もはや紹介してきたように自らHadoopノードを管理するメリットがあるのか疑問になる人もいま
すが、Amazon EMRを利用する場合、Hadoop クラスターはVPCの中に配置することができます。
社内システムとVPCの間をセキュアにリンクできていれば、クラウドのコンピュートリソースを手
軽に借りて分析することができます。
https://www.oreilly.com/library/view/programming-elastic-
mapreduce/9781449364038/ch01.html
分析に使えそうなサービス
RedshiftAthena Kinesis
EMR SageMaker Batch
完全マネージドの
機械学習プラットフォーム
SageMakerとは?
Amazon SageMaker は、すべての開発者とデータサイエンティストに機械学習モデルの構築、ト
レーニング、デプロイ手段を提供します。Amazon SageMaker は、機械学習のワークフロー全
体をカバーする完全マネージド型サービスです。データをラベル付けして準備し、アルゴリズム
を選択して、モデルのトレーニングを行い、デプロイのための調整と最適化を行い、予測を行
い、実行します。モデルをより少ない労力と費用で、本番稼働させることができます。
(公式 Doc)
機械学習は
奥が深いので別会で
分析に使えそうなサービス
RedshiftAthena Kinesis
EMR SageMaker AWS Batch
完全マネージドの
バッチ処理基盤
AWS Batchとは?
AWS Batch は、従来のバッチコンピューティングソフトウェアと同様に、必要なインフラストラク
チャの設定および管理に伴う、差別化につながらない力仕事を排除します。このサービスでは、
送信されたジョブに応じてリソースを効率的にプロビジョニングし、キャパシティー制限の排除、
コンピューティングコストの削減、および結果の迅速な提供を行うことができます。
(公式 Doc)
端的に言えば
あらかじめ作ったコンテ
ナイメージをがつがつ
動かす
特徴
AWS Batchを使うことで、定期的に大量のデータを効率よく処理をして結果を得ることができま
す。
あらかじめ処理や環境を定義したDockerイメージを作成しておけば、決められたスケジュール
でAWS Batchがジョブを送信し、コンピューティングのリソース管理はすべてAWS任せにできま
す。
日次や月次のバッチ処理に最適です。
GPUを使ったジョブも定義できるので機械学習にも向いています。
演習4
AWS Batchを使って
10年後の東京の気温を
予測してみる
AWSで 可視化
データレイクを基軸とした分析基盤の論理
アーキテクチャ
Raw Data Pond
Middle Layer Pond
Active Data Pond Data
Warehouse
Data
Mart
Data
Mart
Machine
Learning
収集元
蓄積(データレイク)
分析 可視化
ETL
Message
Queue
Pub/sub
Message
Realtime
SQL
Batch
(FTP..)
Data
Mart
BI
Report
Files
MapReduce
D
a
t
a
C
a
t
a
l
o
g
s
Data
Mart
様々なAWSサービス
可視化に使えそうなサービス
QuickSight Elasticsearch
Service
(Kibana)
Elastic
Beanstalk
可視化に使えそうなサービス
QuickSight Elasticsearch
Service
(Kibana)
Elastic
Beanstalk
完全マネージドの
BIツール
QuickSightとは?
Amazon QuickSight は、視覚化の構築、アドホック分析の実行、データからのビジネス上の洞
察の取得に使用できるビジネス分析サービスです。AWS データソースを自動的に検出でき、お
客様のデータソースにも使用できます。Amazon QuickSight は、組織が数十万人のユーザーに
スケールするのを可能にし、堅牢なインメモリエンジン (SPICE) を使用することで応答性の高い
パフォーマンスを実現します。
(公式 Doc)
特徴
AWSの様々なリソースに保存されたデータ(S3, Athena, Redshift, Aurora)のほかパブリックな
SQLエンジンにもアクセスでき、可視化画面を作れます。
データはSPICEと呼ばれるインメモリな専用DBに格納され、高速な描画を実現しています。
また、取り込んだデータに対して一定の計算処理を施し新たなフィールドを作ることもできます。
描画画面の作成はBIツールならではの直感的な操作感です。
多彩なグラフ
折れ線グラフ・棒グラフ・円グラフ・積み上げグラフ・ヒートマップなどなど
大体のグラフはそろっている気がする
SPICEとは?
Super-fast(超高速)
Parallel(並列)
In-memory Calculation Engine(インメモリ計算エンジ
ン)
の略だそうです。
データソースのクエリ速度にイライラしないのはありがたいです
演習5
QuickSightを使って
全国の平均気温を
プロットしてみる
可視化に使えそうなサービス
QuickSight Elasticsearch
Service
(Kibana)
Elastic
Beanstalk
Intimeで入ってきたデータを
さくっと可視化する
Elasticsearch Serviceとは?
Amazon Elasticsearch Service はダウンタイムなしで、Elasticsearch を大規模かつ簡単にデプロ
イ、保護、運用する完全マネージド型サービスです。
このサービスは、オープンソースの Elasticsearch API、マネージド Kibana を提供するほか、
Logstash およびその他の AWS のサービスとの統合で、いかなるソースからもデータを安全に
取り込み、リアルタイムに検索、分析、可視化できます。
Amazon Elasticsearch Service は従量課金制です。前払い費用や最低料金はありません。
Amazon Elasticsearch Service では、必要なだけの ELK スタックをランニングコストなしで入手で
きます。 (公式 Doc)
Kibanaを使おう
Elasticsearch serviceに付属するKibanaを利用すれば、Elasticsearchに入ったデータを
すぐに可視化することができます。
Alertingを使おう
Kibanaの画面から、Alertingが設定できます。
データを監視し、事前に設定されたしきい値に基づいて自動的に通知を送信できます。例えば
Amazon Elasticsearch Service ドメインに HTTP サーバーログを保存している場合、応答コードを
監視し、エラーが多すぎる場合は自分のドメインからチームに警告することができるようになり
ます。
Elasticsearhと上手に
つきあうコツ
どうやってリアルタイムでデータを
入れるか
Kinesis Datastream・Kinesis Analytics・Kinesis Firehoseを組み合わせることで、ストリームデータ
に対してリアルタイム処理をかけた後、Elasticsearch ServiceにJSONデータを入れることが可能
https://qiita.com/Naggi-Goishi/items/9d68b822c413b87a6bb6
演習6
Kibanaを使って
全国の天気を確認する
可視化に使えそうなサービス
QuickSight Elasticsearch
Service
(Kibana)
Elastic
Beanstalk
好きな可視化ツールを
さくっとデプロイする
Elastic Beanstalkとは?
Elastic Beanstalk では、アプリケーションを実行しているインフラストラクチャについて学習する
ことなく、AWS クラウドでアプリケーションをすばやくデプロイし、管理できます。Elastic
Beanstalk は、選択肢を狭めたり制御を制限したりすることなく、管理の複雑さを軽減します。ア
プリケーションをアップロードするだけで、Elastic Beanstalk が自動的に容量のプロビジョニング、
負荷分散、拡張、およびアプリケーションの状態のモニタリングといった詳細を処理します。
(公式 Doc)
WebUIのある色々可視化ツール
データ分析にフィットしているPythonには、可視化ツールもたくさんそろってます。
Elastic BeanstalkでPythonが動く環境を作りつつ、WEBUIとして可視化画面をあげてみましょう。
代表的な可視化ツールとしてはLighting や Dash by plotly があります。
(公式 Doc)
演習7
Dash by plotlyを使って
イケてるダッシュボード
を作ろう

More Related Content

What's hot

20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormation
Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon KinesisAWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon Kinesis
Amazon Web Services Japan
 
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
Amazon Web Services Japan
 
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
Amazon Web Services Japan
 
Presto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon AthenaPresto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon Athena
Amazon Web Services Japan
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
Amazon Web Services Japan
 
Oracleからamazon auroraへの移行にむけて
Oracleからamazon auroraへの移行にむけてOracleからamazon auroraへの移行にむけて
Oracleからamazon auroraへの移行にむけて
Yoichi Sai
 
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2016 AWS上でのファイルサーバ構築
AWS Black Belt Online Seminar 2016 AWS上でのファイルサーバ構築AWS Black Belt Online Seminar 2016 AWS上でのファイルサーバ構築
AWS Black Belt Online Seminar 2016 AWS上でのファイルサーバ構築
Amazon Web Services Japan
 
20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation 20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation
Amazon Web Services Japan
 
AWS Black Belt Online Seminar Amazon Aurora
AWS Black Belt Online Seminar Amazon AuroraAWS Black Belt Online Seminar Amazon Aurora
AWS Black Belt Online Seminar Amazon Aurora
Amazon Web Services Japan
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
 
AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct Connect
Amazon Web Services Japan
 
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
Amazon Web Services Japan
 
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
Amazon Web Services Japan
 
20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session
20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session
20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session
Amazon Web Services Japan
 
Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Web Services Japan
 
Amazon Redshift 概要 (20分版)
Amazon Redshift 概要 (20分版)Amazon Redshift 概要 (20分版)
Amazon Redshift 概要 (20分版)
Amazon Web Services Japan
 
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
Amazon Web Services Japan
 

What's hot (20)

20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
 
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormation
 
AWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon KinesisAWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon Kinesis
 
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
 
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
 
Presto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon AthenaPresto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon Athena
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
 
Oracleからamazon auroraへの移行にむけて
Oracleからamazon auroraへの移行にむけてOracleからamazon auroraへの移行にむけて
Oracleからamazon auroraへの移行にむけて
 
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
 
AWS Black Belt Online Seminar 2016 AWS上でのファイルサーバ構築
AWS Black Belt Online Seminar 2016 AWS上でのファイルサーバ構築AWS Black Belt Online Seminar 2016 AWS上でのファイルサーバ構築
AWS Black Belt Online Seminar 2016 AWS上でのファイルサーバ構築
 
20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation 20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation
 
AWS Black Belt Online Seminar Amazon Aurora
AWS Black Belt Online Seminar Amazon AuroraAWS Black Belt Online Seminar Amazon Aurora
AWS Black Belt Online Seminar Amazon Aurora
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
 
AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct Connect
 
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
 
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
 
20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session
20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session
20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session
 
Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理
 
Amazon Redshift 概要 (20分版)
Amazon Redshift 概要 (20分版)Amazon Redshift 概要 (20分版)
Amazon Redshift 概要 (20分版)
 
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
 

Similar to AWSで作る分析基盤

[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
Insight Technology, Inc.
 
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Daiyu Hatakeyama
 
クラウドの破壊力
クラウドの破壊力クラウドの破壊力
クラウドの破壊力
Osaka University
 
sbc_rc_200_RealtimeCompute_handson_ver1.0
sbc_rc_200_RealtimeCompute_handson_ver1.0 sbc_rc_200_RealtimeCompute_handson_ver1.0
sbc_rc_200_RealtimeCompute_handson_ver1.0
洋 謝
 
Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門
Keisuke Fujikawa
 
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
日本マイクロソフト株式会社
 
Google bigquery導入記
Google bigquery導入記Google bigquery導入記
Google bigquery導入記
Yugo Shimizu
 
Azure Data Explorer
Azure Data ExplorerAzure Data Explorer
Azure Data Explorer
Daisuke Masubuchi
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムRecruit Technologies
 
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
Yoichi Kawasaki
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Kazuyuki Miyake
 
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
Naoki (Neo) SATO
 
スマートニュースの世界展開を支えるログ解析基盤
スマートニュースの世界展開を支えるログ解析基盤スマートニュースの世界展開を支えるログ解析基盤
スマートニュースの世界展開を支えるログ解析基盤
Takumi Sakamoto
 
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまでやりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
Daisuke Masubuchi
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料Recruit Technologies
 
Sbc odps 200_data_works_handson_ver1.0
Sbc odps 200_data_works_handson_ver1.0Sbc odps 200_data_works_handson_ver1.0
Sbc odps 200_data_works_handson_ver1.0
洋 謝
 
[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake
[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake
[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake
de:code 2017
 
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しようMicrosoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Hideo Takagi
 
データレイクを基盤としたAWS上での機械学習サービス構築
データレイクを基盤としたAWS上での機械学習サービス構築データレイクを基盤としたAWS上での機械学習サービス構築
データレイクを基盤としたAWS上での機械学習サービス構築
Amazon Web Services Japan
 
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
Koichiro Sasaki
 

Similar to AWSで作る分析基盤 (20)

[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
 
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
 
クラウドの破壊力
クラウドの破壊力クラウドの破壊力
クラウドの破壊力
 
sbc_rc_200_RealtimeCompute_handson_ver1.0
sbc_rc_200_RealtimeCompute_handson_ver1.0 sbc_rc_200_RealtimeCompute_handson_ver1.0
sbc_rc_200_RealtimeCompute_handson_ver1.0
 
Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門
 
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
 
Google bigquery導入記
Google bigquery導入記Google bigquery導入記
Google bigquery導入記
 
Azure Data Explorer
Azure Data ExplorerAzure Data Explorer
Azure Data Explorer
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
 
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
 
スマートニュースの世界展開を支えるログ解析基盤
スマートニュースの世界展開を支えるログ解析基盤スマートニュースの世界展開を支えるログ解析基盤
スマートニュースの世界展開を支えるログ解析基盤
 
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまでやりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
Sbc odps 200_data_works_handson_ver1.0
Sbc odps 200_data_works_handson_ver1.0Sbc odps 200_data_works_handson_ver1.0
Sbc odps 200_data_works_handson_ver1.0
 
[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake
[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake
[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake
 
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しようMicrosoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
 
データレイクを基盤としたAWS上での機械学習サービス構築
データレイクを基盤としたAWS上での機械学習サービス構築データレイクを基盤としたAWS上での機械学習サービス構築
データレイクを基盤としたAWS上での機械学習サービス構築
 
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
 

Recently uploaded

03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視
03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視
03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視
QlikPresalesJapan
 
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
QlikPresalesJapan
 
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
QlikPresalesJapan
 
02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」
02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」
02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」
QlikPresalesJapan
 
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
QlikPresalesJapan
 
株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce
株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce
株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce
hfujii2
 

Recently uploaded (6)

03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視
03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視
03 Qlik Cloud データ統合 しっかり学ぶ勉強会 #3 データ変換 タスク監視
 
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
 
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
 
02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」
02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」
02_1_20240611_Qlik Cloudデータ統合_データパイプラインの作成「基本動作」
 
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
 
株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce
株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce
株式会社アーシャルデザイン_事業説明資料_システム開発_受託開発_WEB開発_Salesforce
 

AWSで作る分析基盤

Editor's Notes

  1. データレイクの特徴 2010年代になると、データレイクが台頭してきました。 データウェアハウスでも非構造化データを蓄積・処理できますが、最も効率的な方法ではありません。 ビッグデータと呼ばれる、非常に多くの種類・量のデータがあると、すべてをデータウェアハウスに格納した場合、多大な費用が発生する可能性があるからです。 さらに、時間と労力の制約があります。データウェアハウスに格納されるデータは、格納前にテーブルレイアウトに合うようにクレンジングする必要があります。(注1)多種多様なデータをETLするコストは膨大になってしまいます。それが、データレイクが人気を博した最大の理由です。データレイクは、主に非構造化データを最も費用対効果の高い方法で処理できます。非構造化データとは、単に構造化されていない業務データではなく、テキストやソーシャルメディア、IoTデバイスのログファイルやセンサー、マシンデータまで、あらゆるデータを対象とします。 ここでデータレイクの例を見てみましょう。 先ほどのDWHで使用した小売チェーンの例に戻って、考えてみます。 DWHでは、顧客がどのような商品を買ったのかという事実に基づいた分析が可能ですが、入店したが買わなかったことや将来どのようなものを購入するかの予測を行うことは難しいです。 そこで、データレイクに様々なデータを蓄積することが有効になります。例えば、Webチャネルと実来店を紐づけたり、顧客のSNSデータを取り込むことでより精度の高いオファーをすることが可能かもしれません。さらに、天気や気温などの外部情報を取り込むことで、仕入れの最適化も考えられます。 データレイクはデータウェアハウスのデータをより価値のあるものに高めてくれます。 注1: データレイクを持っていても、クレンジングが不要になるわけではありません。あくまでも格納時にスキーマレスであり、活用に向けたクレンジングは必要になります。 しかしながら、Sparkを代表とする分散処理技術との相性の良さから、クレンジング処理を行う基盤としてもデータレイクは有効です。
  2. データウェアハウスの特徴 1950年代に最初のデータベースが登場し、1980年代に現在のスタンダードであるリレーショナルデータベースが普及しました。データベースはリアルタイムの構造化データを更新する、つまりOLTP用途で利用されます。ビジネスが成長するにつれ、複数の場所や業態からデータが発生するようになり、すべてを分析するためには、それらを集約した場所が必要でした。それがデータウェアハウスです。 例えば、あなたは小売チェーン店の会員カードに入会しているかもしれませんが、データウェアハウスは、現在の買い物客の傾向を分析する目的において、あなたの購入記録を保持しているかもしれません。 データウェアハウスは、購入したすべてのアイテムの記録を保持し、最適化されるためデータ分析者はより簡単に分析することができます。
  3. スキーマオンリード(Schema on Read) vs スキーマオンライト(Schema on Write) — データウェアハウスのスキーマは、格納の前に定義され、構造化されています(スキーマはデータの書き込み中に適用されます)。対照的に、データレイクは事前定義されたスキーマを持たないため、ネイティブの形式でデータを格納できます。したがって、データウェアハウスでは通常、データプレパレーションの大半が処理前に行われます。データレイクの場合は、データが後で実際に使用されるときに実行されます。
  4. Sparkの仕組みはHadoopのMapReduceと似ていますが、Hadoopが毎回のステップ終了時にHDFSにデータを書き出すのに対し、Sparkではデータをメモリ上に展開したまま複数のステップを連続して実行できるのが特徴です。 この仕組みにより、ステップ数の多い処理では一般的にHadoopよりSparkのほうがパフォーマンスが高いとされています。 https://yubessy.hatenablog.com/entry/2016/12/11/095915
  5. はじめに - カラムナフォーマットとは カラムナフォーマットとは、データベースの分析用途に利用されるファイルフォーマットの種類の一つです。大量のデータを扱う際に効率的に圧縮してストレージコストを下げたり、計算時に必要なデータだけを取り出して計算コストを小さくできる設計がされています。 本稿では、分析基盤で利用されるファイルフォーマットの概要を紹介し、 そのあとに、カラムナフォーマットにおける符号化方式、データモデル、ファイルフォーマットについて説明しようと思います。 分析基盤で利用されるフォーマット 最近は分析基盤用途として、Hive、Presto、Sparkといった並列分散処理プロダクトやそれらのマネージドシステムであるAmazonのEMRやAthena、GCPのDataProc、そしてフルマネージドなBigQueryやRedShiftが利用されるようになりました。 これらのプロダクトで取り扱えるフォーマットは、大きく以下3つに分けることができます。 テキストフォーマット(例:CSV、JSON) 行指向フォーマット(例:AVRO) 列指向(カラムナ)フォーマット(例:Parquet、ORC)1 CSVやJSONといったテキストフォーマットは、人間からの可視性が高い、アプリケーション連携がやりやすいというメリットがあります。しかしながら、データベース用途のフォーマットとしては、人間からの可視性よりも、保存時の圧縮効率や機械による処理のしやすさを追求する必要があります。データベース用途に向いているフォーマットの種類としては、行指向フォーマットと列指向フォーマットがあります。 行指向フォーマットと列指向フォーマットの違いは、データの格納方式です。 行指向フォーマットは、行方向に連続してデータを格納するため、一つの行をまとめて操作することの多いOLTP処理に向いています。従来のデータベースはもともとこの行指向フォーマットが利用されてきました。 ストレージ技術などの発展により、DWH用途での利用を行うようになって、注目されるようになったのが列指向フォーマットです。列指向フォーマットは、列方向に連続してデータを格納する方式で、列単位でデータを取り出す分析用途に向いています。 主要なOSSのカラムナフォーマットのライブラリとしては、ParquetとORCがあります。 ParquetはTwitter社とCloudera社が、2010年のGoogleの論文Dremel: Interactive Analysis of Web-Scale Datasets(以下Dremel Paper)におけるデータレイアウトに関する内容をOSS実装したもので、ORCはもとはApache Hiveのためのフォーマットとして実装されたという背景の違いがあります。 カラムナフォーマットにおける符号化方式の基礎 カラムナフォーマットでは、データ型やカーディナリティ等の特性に応じて、様々な符号化方式から決定木等によって各列に最適なエンコード方式を選択します。これらの符号化技術自体は、行指向フォーマットでも利用されるものですが、カラムナフォーマットでは、型が同じデータが並んだり、規則的にインクリメントするデータが並ぶなど、符号化によるデータ圧縮が効きやすいというメリットがあります。 ここで符号化方式の一部を紹介します。