SparkやBigQueryなどを用いたモバイルゲーム分析環境
-
Upload
yuichikomatsu -
Category
Engineering
-
view
2.466 -
download
0
Transcript of SparkやBigQueryなどを用いたモバイルゲーム分析環境
Copyright 2016 CYBIRD Co., Ltd.
SparkやBigQueryなどを用いた モバイルゲーム分析環境
株式会社サイバード
小松 裕一
ハッシュタグ : #devsumiD セッションID : 18-D-L
自己紹介
名前:小松 裕一
所属:株式会社サイバード
ビジネス戦略統括本部
データ戦略統括部
仕事:分析環境の構築
データ処理全般
出身:宮城県
分析処理でよく使うもの:Hive、Spark、MySQL、BigQuery、
Embulk、Perl、Scalaなど
会社紹介
女性向け恋愛ゲーム -イケメンシリーズ-
会社紹介
• イケメン達との恋愛ストーリーを楽しめる恋愛ゲーム
• 7タイトル、7プラットフォーム、156カ国で配信
• 累計会員数1,200万人
• 3DCGのリッチな試合シーンが楽しめる本格派サッカークラブ育成ゲーム
• 世界140カ国配信、累計300万DL
• 香港ではAppStoreセールスランキングNo.1獲得
BFB2016
会社紹介
情報コンテンツ
会社紹介
チーム紹介
多様なメンバーで構成され、必要なスキルを補い合っています
チーム紹介
アナリスト - マーケティング部門出身 - Webマーケティング知識 - Excel,SPSS,R
アナリスト - ゲームプランナ出身 - 統計学,データ処理 - SQL,R,Excel
データ分析エンジニア兼BI開発エンジニア - バイオインフォマティクス業界出身 - 機械学習,統計学,フロントエンド開発 - Java,Python,JavaScript
データ分析エンジニア - BtoBソリューション部門出身 - システム設計,Hadoop関連技術,DB管理 - Perl,PHP,Scala
データ分析エンジニア - ゲーム開発専門学校出身 - Hadoop関連技術,DB管理,機械学習 - Python
チームリーダ兼アナリスト - 経営企画出身(M&A,事業戦略策定,等) - 問題解決,ビジネス知識 - Excel,R,SPSS
アナリスト - マーケティングリサーチ会社出身 - 統計学,アンケートリサーチ - Excel,SPSS
ビジネス力
データサイエンス力 (統計学/機械学習,等)
データエンジニアリング力
出所:データサイエンス協会「データサイエンティストに求められるスキルセット」より引用
スキルセット説明
Agenda
1. 分析環境の概要
1-1. 概要図
1-2. 用途
2. データ処理の詳細
2-1. BIツール(Cynapse)
2-2. アドホック分析(エンジニア利用)
2-3. アドホック分析(アナリスト利用)
3. まとめと今後の展望
Agenda
1. 分析環境の概要
1-1. 概要図
1-2. 用途
2. データ処理の詳細
2-1. BIツール(Cynapse)
2-2. アドホック分析(エンジニア利用)
2-3. アドホック分析(アナリスト利用)
3. まとめと今後の展望
分析環境はAWS及びGCPで構成されています
1. 分析環境の概要 1-1. 概要図
Amazon RDS
Amazon EMR
Amazon S3
DB
WEB/アプリ
データ転送用
データフロー
処理コマンド
分析環境 各サービス
アドホック分析 (エンジニア利用)
Amazon EC2
Google BigQuery Google Cloud Storage
アドホック分析 (アナリスト利用)
Amazon EC2
GCP
Agenda
1. 分析環境の概要
1-1. 概要図
1-2. 用途
2. データ処理の詳細
2-1. BIツール(Cynapse)
2-2. アドホック分析(エンジニア利用)
2-3. アドホック分析(アナリスト利用)
3. まとめと今後の展望
分析環境の用途は主に3つです
1. 分析環境の概要 1-2. 用途
1. BIツール(Cynapse)
=> 毎日、KPIなどの指標をモニタリング
(e.g. ログイン頻度別にDAUを切り分けることで、広告の成果を測る)
2. アドホック分析(エンジニア利用)
=> 大量データの集計
(e.g. レコード数の多いテーブルのJOIN)
3. アドホック分析(アナリスト利用)
=> ユーザごとの行動履歴から知見を得る
(e.g. 特定のイベントや行動を経験したユーザの課金率は高い)
CynapseではKPIを可視化し、施策に役立てています
1. 分析環境の概要 1-2. 用途
• 自社開発のモニタリングツール
• データを可視化し、複数のタイトルの状況
を複数の指標で確認
CynapseはEC2とRDSで構成されています
1. 分析環境の概要 1-2. 用途
Amazon RDS
Amazon EMR
Amazon S3
DB
WEB/アプリ
データ転送用
データフロー
処理コマンド
分析環境 各サービス
アドホック分析 (エンジニア利用)
Amazon EC2
Google BigQuery Google Cloud Storage
アドホック分析 (アナリスト利用)
Amazon EC2
GCP
アドホック分析(エンジニア利用)では主に2つの用途で活用しています
1. 分析環境の概要 1-2. 用途
• 過去ログの集計
S3に格納された過去ログを基に、ある特定時点のデータを集計
=>現在と過去の状態比較による効果測定、施策改善
• RDBでは処理が難しい大量データの集計
RDBに格納されたレコード数の多いテーブルのJOINなどを実行
=>分析対応の即時性向上
アドホック分析(エンジニア利用)では要件に応じて最適な処理手法を選択し、利用しています
1. 分析環境の概要 1-2. 用途
Amazon RDS
Amazon EMR
Amazon S3
DB
WEB/アプリ
データ転送用
データフロー
処理コマンド
分析環境 各サービス
アドホック分析 (エンジニア利用)
Amazon EC2
Google BigQuery Google Cloud Storage
アドホック分析 (アナリスト利用)
Amazon EC2
GCP
アドホック分析(アナリスト利用)では様々な用途で活用しています
1. 分析環境の概要 1-2. 用途
• ユーザ行動分析
e.g. タイトルをまたいでプレイしているユーザの動向を分析
=> 改善施策や新規タイトルのアイデア
• テキストマイニング
e.g. ユーザのアクション情報をもとにクラスタリングし、
クラスタごとの単語(N-gram)の頻度を比較
=> 新規開発のアイデアや改修の優先順位付け
江戸風タイトル
欧州風タイトル
幕末風タイトル
20%
80%
※数値は仮のものです
アドホック分析(アナリスト利用)ではBigQuery、GCS及びEC2に構築したテキストマイニングサーバを利用しています
1. 分析環境の概要 1-2. 用途
Amazon RDS
Amazon EMR
Amazon S3
DB
WEB/アプリ
データ転送用
データフロー
処理コマンド
分析環境 各サービス
アドホック分析 (エンジニア利用)
Amazon EC2
Google BigQuery Google Cloud Storage
アドホック分析 (アナリスト利用)
Amazon EC2
GCP
Agenda
1. 分析環境の概要
1-1. 概要図
1-2. 用途
2. データ処理の詳細
2-1. BIツール(Cynapse)
2-2. アドホック分析(エンジニア利用)
2-3. アドホック分析(アナリスト利用)
3. まとめと今後の展望
Cynapseに表示するデータはS3→EMR→RDSで処理し、KPI毎に最適な形でまとめています
2. データ処理の詳細 2-1. BIツール(Cynapse)
状況に応じてSQL、スクリプトで処理
Amazon S3 Amazon EMR Amazon RDS
S3にログデータを集約
Sparkでデータを加工
RDSに処理データを格納
各コンテンツのログデータは全タイトル共通のフォーマット、 また下記のタイミングでS3に収集しています
2. データ処理の詳細 2-1. BIツール(Cynapse)
基本的には
前日の更新データを毎日
分析要件によっては
1時間毎
⇒イベント効果は日単位、もしくは時間単位で十分に測定することができる
共通フォーマットを使用する利点は下記2つです
2. データ処理の詳細 2-1. BIツール(Cynapse)
・汎用的なバッチを作成することで新タイトルリリース時の対応がほぼ必要なくなる
⇒リリース直後から分析が開始できる [よくある問題] 複雑なデータ構造のためKPIを取得する分析実装が間に合わず、施策投入のタイミングを逃してしまう
・必要なデータの所在や形式を特定するのが容易になる
⇒アドホック分析や、業務引き継ぎ等で無駄な作業がなくなる [よくある問題] 分析要件に応じたデータを探すのが一苦労
ゲーム事業では主に5種類のログを利用しています
2. データ処理の詳細 2-1. BIツール(Cynapse)
ユーザプロフィール
ログイン
課金
アイテム
ガチャ
項目
共通ID
ユーザID
レベル
課金通貨の保持量
非課金通貨の保持量
国コード
チュートリアルの位置
登録日時
更新日時
タイトルID
プラットフォーム
OSバージョン
機種
推奨機種種別
Cynapseに表示するログデータをEMR(Spark)で処理する場合は下記フローとなります
2. データ処理の詳細 2-1. BIツール(Cynapse)
(1)EMR(Spark)を起動、及びJSONで定義した処理((2)以降)を実行
(2)Sparkクラスタに設定ファイル、実行ファイルをS3から展開
(3)前処理及び集計処理実行
(4)処理完了(S3に結果を出力) s3://XXXXXX/XXX/OUTPUT/retention/20160101/xxxxxxx
aws emr create-cluster --name "spark-cynapse-fmt"¥
--release-label emr-4.2.0¥
--log-uri "s3://xxxxxxx/emr_logs/"¥
--enable-debugging¥
--applications Name=Hadoop Name=Hive Name=Spark¥
--ec2-attributes KeyName=xxxxxx¥
--instance-type m3.xlarge¥
--instance-count 3¥
--use-default-roles¥
--auto-terminate¥
--steps "file:///xxxx/xxxx/xxxx/daily_batch.json"
[ { "Name": "Download Files", "Type": "Spark", "ActionOnFailure": "CONTINUE", "Args": [ "--deploy-mode", "cluster", "s3://xxxxx/xxxxx/download_files.py" ] }, ・ ・ ・ { "Name": "Sumup", "Type": "Spark", "ActionOnFailure": "CONTINUE", "Args": [ "--deploy-mode", "client", "file:///xxxxx/xxxxx/run.py" ] } ]
EMRで処理されたデータはKPI毎にRDSに格納しています
2. データ処理の詳細 2-1. BIツール(Cynapse)
カラム
集計日 PRI
登録日 PRI
DAU
課金UU
売上
コンテンツコード PRI
プラットフォーム PRI
推奨端末 PRI
継続日数別KPI 基本KPI
レベル別KPI ログイン頻度別KPI
累積課金別KPI
集計データからは下記のような指標が得られます
2. データ処理の詳細 2-1. BIツール(Cynapse)
• レベル
• 累積課金
• ログイン頻度
• 継続日数
など
ユーザセグメント毎にDAU、課金率、ARPPUなどを取得
特定のセグメントの 課金率が上昇している
Agenda
1. 分析環境の概要
1-1. 概要図
1-2. 用途
2. データ処理の詳細
2-1. BIツール(Cynapse)
2-2. アドホック分析(エンジニア利用)
2-3. アドホック分析(アナリスト利用)
3. まとめと今後の展望
アドホック分析(エンジニア利用)の用途
2. データ処理の詳細 2-2. アドホック分析(エンジニア利用)
• 過去ログの集計
S3に格納された過去ログを基に、ある特定時点のデータを集計
=>現在と過去の状態比較による効果測定、施策改善
• RDBでは処理が難しい大量データの集計
RDBに格納されたレコード数の多いテーブルのJOINなどを実行
=>分析対応の即時性向上
S3に格納された過去ログは主にEMR(Spark)で集計します
2. データ処理の詳細 2-2. アドホック分析(エンジニア利用)
aws emr create-cluster --name "sparktest"¥
--release-label emr-4.2.0¥
--applications Name=Spark¥
--use-default-roles¥
--ec2-attributes KeyName=xxxxxxx¥
--instance-type m3.xlarge¥
--instance-count 1
(1)EMR(Sparkクラスタ)を起動
(2)SSHログイン
(3)Scalaの場合はspark-shell、Pythonの場合はpysparkを起動
aws emr ssh --cluster-id j-XXXXXXXXXXX ¥
--key-pair-file ~/.ssh/XXXXXXXX.pem ¥
--region ap-northeast-1
spark-shell もしくは pyspark
実行サンプル(Scala)
2. データ処理の詳細 2-2. アドホック分析(エンジニア利用)
> spark-shell
// ケースクラス定義
case class Login(user_id: Int, regist_dt: String, level: Int)
case class Sales(user_id: Int, item_id: Int, price: Int, regist_dt: String)
// データ取り込み(RDD)
val loginRDD = sc.textFile("s3://xxxxxxxxx/xxx/xxx/login/201601/*")
val salesRDD = sc.textFile("s3://xxxxxxxxx/xxx/xxx/sales/*")
// データフレーム作成
val loginDF = loginRDD.map{ data =>
val tmpData = data.split("¥t")
val user_id = tmpData(0).toInt
val regist_dt = tmpData(1)
val level = tmpData(4).toInt
Login(user_id, regist_dt, level)
}.toDF
val salesDF = salesRDD.map{ data =>
val tmpData = data.split("¥t")
val user_id = tmpData(0).toInt
val item_id = tmpData(1).toInt
val price = tmpData(2).toInt
val regist_dt = tmpData(4)
Sales(user_id, item_id, price , regist_dt)
}.toDF
// テーブル登録
loginDF.registerTempTable("login_table")
salesDF.registerTempTable("sales_table")
// クエリ発行
val resultQuery = sqlContext.sql(s"""
SELECT login.user_id,SUM(sales.price)
FROM login_table login JOIN sales_table sales ON (login.user_id = sales.user_id)
WHERE login.regist_dt LIKE '2016-01-01%'
AND login.level = 100
AND sales.regist_dt LIKE '2015-12%'
GROUP BY login.user_id
""")
// 結果表示
resultQuery.show
読み込むデータのcaseクラスを定義
S3からデータを取り込みRDDを生成
RDDからDataFrameを生成
DataFrameを一時テーブルに登録
sqlメソッド(Spark SQL)でクエリを発行
結果を表示
2016/1/1にログインしたレベル100のユーザが2015/12に購入した金額の集計
アドホック分析(エンジニア利用)の用途
2. データ処理の詳細 2-2. アドホック分析(エンジニア利用)
• 過去ログの集計
S3に格納された過去ログを基に、ある特定時点のデータを集計
=>現在と過去の状態比較による効果測定、施策改善
• RDBでは処理が難しい大量データの集計
RDBに格納されたレコード数の多いテーブルのJOINなどを実行
=>分析対応の即時性向上
処理するRDBのデータはBigQueryに転送してクエリを実行します EmbulkでBigQueryにデータを転送する場合の詳細は下記をご参照ください
2. データ処理の詳細 2-2. アドホック分析(エンジニア利用)
Qiita:「EmbulkとBigQueryが黄金コンビすぎる話」
http://qiita.com/yuichi_komatsu/items/3aae65c362b2a57f6fbf
Agenda
1. 分析環境の概要
1-1. 概要図
1-2. 用途
2. データ処理の詳細
2-1. BIツール(Cynapse)
2-2. アドホック分析(エンジニア利用)
2-3. アドホック分析(アナリスト利用)
3. まとめと今後の展望
アドホック分析(アナリスト利用)の用途
2. データ処理の詳細 2-3. アドホック分析(アナリスト利用)
• ユーザ行動分析
タイトルをまたいでプレイしているユーザの動向を分析
=> 改善施策や新規タイトルのアイデア
• テキストマイニング
ユーザのアクション情報をもとにクラスタリングし、
クラスタごとの単語(N-gram)の頻度を比較
=> 新規開発のアイデアや改修の優先順位付け
使用するデータは下記の手順でBigQueryに格納しています
2. データ処理の詳細 2-3. アドホック分析(アナリスト利用)
• テーブルは日付単位で分ける (コンテンツコード_YYYYMMDD)
(1)S3からGCSにデータコピー(google-cloud-sdkを利用)
※赤字部分はスクリプトで動的に変更
(2)GCSからBigQueryにデータをロード(google-cloud-sdkを利用)
※赤字部分はスクリプトで動的に変更
gsutil -m cp s3://xxxxxx/<コンテンツID>/<テーブル名>/<YYYYMM>/*<YYYYMMDD>* gs://xxxxxx/<コンテンツID>/<テーブル名>/<YYYYMM>/<YYYYMMDD>/
bq load --source_format=CSV --field_delimiter=‘¥t’ <データセット名>.<コンテンツID>_<YYYYMMDD> gs://xxxxxxx/<コンテンツID>/<テーブル名>/<YYYYMM>/<YYYYMMDD>/* /home/xxxx/batch/gcp/fmt/schema/<フォーマットバージョン>/<テーブル名>.json
[ { "name": "user_id", "type": "INTEGER" }, ・ ・ ・ { "name": "regist_date", "type": "STRING" } ]
[ポイント]
JSONでスキーマ定義
実行サンプル(BigQuery)
2. データ処理の詳細 2-3. アドホック分析(アナリスト利用)
SELECT
a.user_id,
SUM(b.price)
FROM
TABLE_QUERY(login,'REGEXP_MATCH(table_id, r"^aaa_20160101")') a
JOIN EACH
TABLE_QUERY(sales,'REGEXP_MATCH(table_id, r"^aaa_201512")') b
ON
a.user_id = b.user_id
GROUP EACH BY
a.user_id;
• 日付分割されたテーブルを正規表現で必要な単位に連結
⇒BiqQueryは従量課金のため無駄なデータ走査を発生させない
[ポイント]
2016/1/1にログインしたユーザが2015/12に購入した金額の集計
アドホック分析(アナリスト利用)の用途
2. データ処理の詳細 2-3. アドホック分析(アナリスト利用)
• ユーザ行動分析
タイトルをまたいでプレイしているユーザの動向を分析
=> 改善施策や新規タイトルのアイデア
• テキストマイニング
ユーザのアクション情報をもとにクラスタリングし、
クラスタごとの単語(N-gram)の頻度を比較
=> 新規開発のアイデアや改修の優先順位付け
EC2上に下記のような構成のテキストマイニング環境を構築しています
2. データ処理の詳細 2-3. アドホック分析(アナリスト利用)
• RMeCab + Rstudio
=> EC2上に構築、アナリストがブラウザから直接利用
• 辞書(Wikipediaのタイトル + オリジナル単語で作成)
=> オリジナルに作成しているもの(ゲームの専門用語など)は定期的に更新
単語の出現頻度をRMeCabで集計するサンプル
2. データ処理の詳細 2-3. アドホック分析(アナリスト利用)
(1)単語の出現頻度を計算する。
q2_words <- RMeCabFreq("q2.txt")
(2)結果表示を「名詞」、「動詞」、「形容詞」だけにする。
q2_words_results <- q2_words[(q2_words$Info1 == "名詞" | q2_words$Info1 == "動詞" | q2_words$Info1 == "形容詞"),]
(3)件数が多いものから降順にソートする。
q2_words_sort <- q2_words_results[order(-q2_words_results$Freq),]
(4)上位50件を表示
head(q2_words_sort,50)
連続する単語の出現頻度をRMeCabで集計するサンプル (3単語を集計)
2. データ処理の詳細 2-3. アドホック分析(アナリスト利用)
(1)出現頻度を計算する。
q2_3gram <- Ngram("q2.txt", type=1, pos=c("名詞","動詞","形容詞"), N=3)
(2)件数が多いものから降順にソートする。
q2_3gram_sort <- q2_3gram[order(-q2_3gram$Freq),]
(3)上位50件を表示
head(q2_3gram_sort,50)
[アバター-保存-数] 1000
[キャラ-本編-配信] 900
[他-イケメン-シリーズ] 800
[ほしい-衣装-箱] 750
[早い-配信-する] 500
(e.g. 要望アンケート)
Agenda
1. 分析環境の概要
1-1. 概要図
1-2. 用途
2. データ処理の詳細
2-1. BIツール(Cynapse)
2-2. アドホック分析(エンジニア利用)
2-3. アドホック分析(アナリスト利用)
3. まとめと今後の展望
分析環境の概要 - AWSとGCPで構築
3. まとめと今後の展望
Amazon RDS
Amazon EMR
Amazon S3
DB
WEB/アプリ
データ転送用
データフロー
処理コマンド
分析環境 各サービス
アドホック分析 (エンジニア利用)
Amazon EC2
Google BigQuery Google Cloud Storage
アドホック分析 (アナリスト利用)
Amazon EC2
GCP
分析環境の概要 - 用途① BIツール(Cynapse)
3. まとめと今後の展望
Amazon RDS
Amazon EMR
Amazon S3
DB
WEB/アプリ
データ転送用
データフロー
処理コマンド
分析環境 各サービス
アドホック分析 (エンジニア利用)
Amazon EC2
Google BigQuery Google Cloud Storage
アドホック分析 (アナリスト利用)
Amazon EC2
GCP
分析環境の概要 - 用途② アドホック分析(エンジニア利用)
3. まとめと今後の展望
Amazon RDS
Amazon EMR
Amazon S3
DB
WEB/アプリ
データ転送用
データフロー
処理コマンド
分析環境 各サービス
アドホック分析 (エンジニア利用)
Amazon EC2
Google BigQuery Google Cloud Storage
アドホック分析 (アナリスト利用)
Amazon EC2
GCP
分析環境の概要 - 用途③ アドホック分析(アナリスト利用)
3. まとめと今後の展望
Amazon RDS
Amazon EMR
Amazon S3
DB
WEB/アプリ
データ転送用
データフロー
処理コマンド
分析環境 各サービス
アドホック分析 (エンジニア利用)
Amazon EC2
Google BigQuery Google Cloud Storage
アドホック分析 (アナリスト利用)
Amazon EC2
GCP
BIツール(Cynapse)におけるデータ処理 - データは共通フォーマットを利用
3. まとめと今後の展望
Amazon RDS
Amazon EMR
Amazon S3
DB
WEB/アプリ
データ転送用
データフロー
処理コマンド
分析環境 各サービス
アドホック分析 (エンジニア利用)
Amazon EC2
Google BigQuery Google Cloud Storage
アドホック分析 (アナリスト利用)
Amazon EC2
GCP
共通フォーマット
BIツール(Cynapse)におけるデータ処理 - データはS3に蓄積、EMR(Spark)で処理し、結果をRDSに格納
3. まとめと今後の展望
Amazon RDS
Amazon EMR
Amazon S3
DB
WEB/アプリ
データ転送用
データフロー
処理コマンド
分析環境 各サービス
アドホック分析 (エンジニア利用)
Amazon EC2
Google BigQuery Google Cloud Storage
アドホック分析 (アナリスト利用)
Amazon EC2
GCP
蓄積
処理
格納
アドホック分析(エンジニア利用)におけるデータ処理 - S3の過去データはEMR(Spark)で処理
3. まとめと今後の展望
Amazon RDS
Amazon EMR
Amazon S3
DB
WEB/アプリ
データ転送用
データフロー
処理コマンド
分析環境 各サービス
アドホック分析 (エンジニア利用)
Amazon EC2
Google BigQuery Google Cloud Storage
アドホック分析 (アナリスト利用)
Amazon EC2
GCP
過去データ集計
アドホック分析(エンジニア利用)におけるデータ処理 - RDBの大量データはEmbulkでBigQueryに転送して処理
3. まとめと今後の展望
Amazon RDS
Amazon EMR
Amazon S3
DB
WEB/アプリ
データ転送用
データフロー
処理コマンド
分析環境 各サービス
アドホック分析 (エンジニア利用)
Amazon EC2
Google BigQuery Google Cloud Storage
アドホック分析 (アナリスト利用)
Amazon EC2
GCP RDBの大量データ処理
アドホック分析(アナリスト利用)におけるデータ処理 - S3のデータをGCSに転送
3. まとめと今後の展望
Amazon RDS
Amazon EMR
Amazon S3
DB
WEB/アプリ
データ転送用
データフロー
処理コマンド
分析環境 各サービス
アドホック分析 (エンジニア利用)
Amazon EC2
Google BigQuery Google Cloud Storage
アドホック分析 (アナリスト利用)
Amazon EC2
GCP
データコピー
gsutilコマンド
アドホック分析(アナリスト利用)におけるデータ処理 - GCSのデータをBigQueryにロード
3. まとめと今後の展望
Amazon RDS
Amazon EMR
Amazon S3
DB
WEB/アプリ
データ転送用
データフロー
処理コマンド
分析環境 各サービス
アドホック分析 (エンジニア利用)
Amazon EC2
Google BigQuery Google Cloud Storage
アドホック分析 (アナリスト利用)
Amazon EC2
GCP データロード
bqコマンド
テーブルは 日付単位で作成
アドホック分析(アナリスト利用)におけるデータ処理 - ユーザ行動分析はBigQueryで実行
3. まとめと今後の展望
Amazon RDS
Amazon EMR
Amazon S3
DB
WEB/アプリ
データ転送用
データフロー
処理コマンド
分析環境 各サービス
アドホック分析 (エンジニア利用)
Amazon EC2
Google BigQuery Google Cloud Storage
アドホック分析 (アナリスト利用)
Amazon EC2
GCP ユーザ行動分析
アドホック分析(アナリスト利用)におけるデータ処理 - テキストマイニングサーバはEC2上に構築
3. まとめと今後の展望
Amazon RDS
Amazon EMR
Amazon S3
DB
WEB/アプリ
データ転送用
データフロー
処理コマンド
分析環境 各サービス
アドホック分析 (エンジニア利用)
Amazon EC2
Google BigQuery Google Cloud Storage
アドホック分析 (アナリスト利用)
Amazon EC2
GCP
テキストマイニング RMeCab+RStudio
辞書は Wikipediaのタイトル +オリジナル単語
今後は下記の実施を計画しています
3. まとめと今後の展望
• Spark進化への追随
• リアルタイム処理の導入
• 機械学習の積極的な活用
最後に
http://www.cybird.co.jp/recruit/
エントリーしてね!
エンジニア募集中!
ゲームを作りたい人
大量のアクセスを捌きたい人
などなど、複数の職種で
ご清聴ありがとうございました