こんばんは.
この前,オンプレサーバーのconoHaでアプリを構築していたら,
マルウェアを発見しました.
FTPのアカウントがバレたらしく,バックアップをリストアしても治らなかったです.
ガバガバすぎて意味が分からなかったので,クラウドサーバーの利用を勧めました.
そんな日々が一週間続いてしまって,更新が1週間ぶり.
ベストな分析を行おう
今回はAWSで分析シナリオを実現するために,
「どんなサービスを選択するか」
をお話ししようと思います.
分析の流れ
分析の流れは,
収集,保存,加工,分析,可視化です.
収集 → kinesis
保存 → S3
抽出 → EMR,pipeline,Glue
分析 → Redshift,Athema
可視化 → QuickSight
という流れで使っていきます.
Kinesis
リアルタイムに大量のストリーミングデータを収集するサービス
I/O可能なので,これをS3にOutputします.
S3
ストレージサービスです.
ここは簡単なので割愛させていただきます
EMR
Elastic Map Reduceの略
簡単に言うと,機械学習のアプリケーションが使えるように構造を変換してくれる.
pipeline
AWSやオンプレのデータソースについてのデータの転送を定義し,転送と抽出,変換処理を自動化できるサービス.
具体的な例を言いますと,
web鯖のログを毎日1回集めて,週に一回EMRに転送して適切な構造に変換し,
ログの分析を行う.
Glue
転送と抽出,変換処理を自動化できるサービス.
Redshiftで利用できる構造データに変換
pythonかscalaで自動生成してくれます.
変換サービスのpipelineと何が違うの?
ってとこなんですけど,
Apach sparkっていう分散処理のエンジンにはGlueを使う.
それ以外はpipelineでok.
Athena
S3のデータに対してテーブル定義を作って,標準的なSQLを直接発行出来ます.
ちなみに従来ではs3のデータをRedshiftのDBにロードしてクエリを発行してました.
QuickSight
RedshiftなどのデータウェアハウスやS3/Athena/RDSなどのAWSのデータソースに接続できるBIツール
簡単に言うと企業に蓄積された大量のデータを集めて分析し、迅速な意思決定を助けるのためのツールです。.
Redshiftの内容は重たいので次回お話しします.