狠狠撸
Submit Search
叠诲补蝉と厂辫补谤办概要
?
6 likes
?
2,964 views
Y
Yu Ishikawa
Follow
1 of 36
Download now
Downloaded 26 times
More Related Content
叠诲补蝉と厂辫补谤办概要
1.
BDAS と Spark
概要
2.
目的 大規模分散処理とその上で動く機械学習コンポー ネントのトレンドを紹介
3.
Agenda BDAS 概要 Spark 概要 おまけ Cascading
と Pattern MLlib
4.
BDAS 概要
5.
Hadoop エコシステムと移行コスト HDFS のデータを新しいシス テムに移動するのは高コスト できるだけ上のレイヤーを変 えることで
Hadoop 自体の 欠点を吸収する方が良さそう
6.
データの移行が大変なので アプリケーション側で吸収 するような方向になるはず
7.
そこで BDAS
8.
What is DBAS
? the Berkeley Data Analytics Stack, is an open source software stack that integrates software components being built by the AMPLab to make sense of Big Data.
9.
BDAS の全体像
10.
BDAS のスポンサー
11.
BDAS のコンポーネント1 ● Apache
Mesos ○ リソースマネージャー ● Tackyon ○ Distributed fault-tolerance in-memory ○ メモリに乗らない場合はディスクキャッシュ(?) ● Apache Spark ○ 大規模 in-memory 処理フレームワーク
12.
BDAS のコンポーネント2 ● Spark
Streaming ○ Spark でストリーミング処理 ● GraphX(開発途上) ○ ネットワーク分析用のシステム ● MLbase(開発途上) ○ Spark 向け大規模分散機械学習ライブラリ ● Shark ○ Hive の Spark 版
13.
Shark の簡単な紹介 ● in-memory
で SQL like に処理を実行 ○ Cloudera Impara みたいなもの(?) ● Spark の上で動いている ○ MapReduce based Architecture ● Hive Compatible ● SQL 以外にも複雑な分析を実行できる(らしい)
14.
Spark 概要
15.
Hadoop MapReduce の欠点 ●
アルゴリズムとしての欠点 ○ リアルタイム ○ 分散処理間のデータのやり取り(SVM 無理とか) ● Hadoop としての欠点 ○ 多段階 MapReduce のとき、都度各 JobTracker で JVM を起動するので処理をしていない時間に無駄が多 い ○ MapReduce に HDFS の IO が必要なので、read/write の時間が無駄
16.
Hadoop は stable
strage が対象 データを再利用する処理に向いていない
17.
でも繰り返し処理 とか更新処理したいし…
18.
Spark とは ● in-memory
で分散処理をするためのコンポー ネント ● Hadoop MapReduce には向いていないアルゴ リズムを実装できる ○ Iterative Algorithm ■ k-means のような ML や Network Analysis ○ Interactive Data Mining ■ Scala を拡張したコンソールで対話的に実行
19.
実装まわりの基礎知識 ● 開発言語:Scala ○ 対話環境もある ●
Hadoop で使える input resource を利用可能 ○ ex) HDFS, S3, etc.
20.
RDD (Resilient Distributed
Datasets) ● 効率的に大規模データも分散メモリとして保持する機構 ○ Fault tolerance, data locality, scalability ● イミュータブルで分割されたオブジェクトのコレクション ● 並列処理(map、filter、groupBy、join)をストレージ上の データに適用した結果生成 ● 再利用するためにメモリ上にキャッシュされる
21.
Spark を利用したアプリケーション ● ● ● ● ● インメモリに対するHiveによるデータマイニング(Conviva) 予測分析(Quantifind) 市街のトラフィック予測(Mobile Millennium) TwitterのSpan判定(Monarch) 行列因子分解による協調フィルタリング
22.
RDD Fault Tolerance ●
メモリ上のデータが欠損したときに,元データが どれでどういう風に処理されたものであるかな どが保持
23.
コードサンプル:Log Mining
24.
実装例紹介:Logistic Regression
25.
実装例紹介:Logistic Regression
26.
Hadoop とのパフォーマンス比較
27.
I/O がなくなることや 反復的 JVM
起動がなくなるので 早くなる
28.
メモリに全部乗りません メモリにのせられるだけ乗せて処理
29.
本当に Fault Tolerance
なの?
30.
Spark で使えるオペレーション
31.
Spark まとめ ● Hadoop
MapReduce が苦手とする処理を補う ための分散メモリ上の処理コンポーネント ● メモリにデータがのるならMapReduce より速い ● 開発言語は Scala ● Hive みたいに Shark で SQL を書ける
32.
おまけ
33.
MLib ● ● Spark 向け機械学習ライブラリ ○ Mahout
on Hadoop みたいなもの サポートしている機械学習タイプ ○ Binary classification ■ Linear Support Vector Machines (SVMs) ■ Logistic Regression ○ Linear Regression ■ LinearRegressionWithSGD ■ RidgeRegressionWithSGD ■ LassoWithSGD ○ Clustering ■ k-means ○ Collaborative filtering ■ alternating least squares (ALS)
34.
Cascading と Pattern ●
Cascading ○ Hadoop 上の処理をより簡単に書くためのフレームワー ク ○ 開発言語:Scala ● Cascading Pattern ○ Cascading で記述できる機械学習ライブラリ ○ Predictive Model Markup Language (PMML) 対応 ■ SPSS, R などで記述した処理を PMML に出力して Pattern で実行
35.
Cascading Pattern がサポートする機械学習 ● ● ● ● ● Hierarchical
Clustering K-Means Clustering Linear Regression Logistic Regression Random Forest Algorithm ● アルゴリズムを追加して欲しい場合は要請 ○ http://www.surveymonkey.com/s/FG7D7VT
36.
参考 ● ● ● ● http://spark.incubator.apache.org/talks/overview.pdf https://amplab.cs.berkeley.edu/software/ http://d.hatena.ne.jp/kimutansk/20130901/1378023152 http://www.cascading.org/pattern/
Download