BDAS と Spark 概要
目的
大規模分散処理とその上で動く機械学習コンポー
ネントのトレンドを紹介
Agenda
BDAS 概要
Spark 概要
おまけ
Cascading と Pattern
MLlib
BDAS 概要
Hadoop エコシステムと移行コスト
HDFS のデータを新しいシス
テムに移動するのは高コスト
できるだけ上のレイヤーを変
えることで Hadoop 自体の
欠点を吸収する方が良さそう
データの移行が大変なので
アプリケーション側で吸収
するような方向になるはず
そこで BDAS
What is DBAS ?
the Berkeley Data Analytics Stack, is an open
source software stack that integrates software
components bei...
BDAS の全体像
BDAS のスポンサー
BDAS のコンポーネント1
● Apache Mesos
○ リソースマネージャー

● Tackyon
○ Distributed fault-tolerance in-memory
○ メモリに乗らない場合はディスクキャッシュ(?)

●...
BDAS のコンポーネント2
● Spark Streaming
○ Spark でストリーミング処理

● GraphX(開発途上)
○ ネットワーク分析用のシステム

● MLbase(開発途上)
○ Spark 向け大規模分散機械学習ライ...
Shark の簡単な紹介
● in-memory で SQL like に処理を実行
○ Cloudera Impara みたいなもの(?)

● Spark の上で動いている
○ MapReduce based Architecture

●...
Spark 概要
Hadoop MapReduce の欠点
● アルゴリズムとしての欠点
○ リアルタイム
○ 分散処理間のデータのやり取り(SVM 無理とか)

● Hadoop としての欠点
○ 多段階 MapReduce のとき、都度各 JobTracke...
Hadoop は stable strage が対象
データを再利用する処理に向いていない
でも繰り返し処理
とか更新処理したいし…
Spark とは
● in-memory で分散処理をするためのコンポー
ネント
● Hadoop MapReduce には向いていないアルゴ
リズムを実装できる
○ Iterative Algorithm
■ k-means のような ML ...
実装まわりの基礎知識
● 開発言語:Scala
○ 対話環境もある

● Hadoop で使える input resource を利用可能
○ ex) HDFS, S3, etc.
RDD (Resilient Distributed Datasets)
● 効率的に大規模データも分散メモリとして保持する機構
○ Fault tolerance, data locality, scalability
● イミュータブルで分...
Spark を利用したアプリケーション
●
●
●
●
●

インメモリに対するHiveによるデータマイニング(Conviva)
予測分析(Quantifind)
市街のトラフィック予測(Mobile Millennium)
TwitterのS...
RDD Fault Tolerance
● メモリ上のデータが欠損したときに,元データが
どれでどういう風に処理されたものであるかな
どが保持
コードサンプル:Log Mining
実装例紹介:Logistic Regression
実装例紹介:Logistic Regression
Hadoop とのパフォーマンス比較
I/O がなくなることや
反復的 JVM 起動がなくなるので
早くなる
メモリに全部乗りません
メモリにのせられるだけ乗せて処理
本当に Fault Tolerance なの?
Spark で使えるオペレーション
Spark まとめ
● Hadoop MapReduce が苦手とする処理を補う
ための分散メモリ上の処理コンポーネント
● メモリにデータがのるならMapReduce より速い
● 開発言語は Scala
● Hive みたいに Shark ...
おまけ
MLib
●
●

Spark 向け機械学習ライブラリ
○ Mahout on Hadoop みたいなもの
サポートしている機械学習タイプ
○ Binary classification
■ Linear Support Vector Mach...
Cascading と Pattern
● Cascading
○ Hadoop 上の処理をより簡単に書くためのフレームワー
ク
○ 開発言語:Scala

● Cascading Pattern
○ Cascading で記述できる機械学習ラ...
Cascading Pattern がサポートする機械学習
●
●
●
●
●

Hierarchical Clustering
K-Means Clustering
Linear Regression
Logistic Regression
...
参考
●
●
●
●

http://spark.incubator.apache.org/talks/overview.pdf
https://amplab.cs.berkeley.edu/software/
http://d.hatena....
Upcoming SlideShare
Loading in...5
×

BdasとSpark概要

1,487

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,487
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
22
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

BdasとSpark概要

  1. 1. BDAS と Spark 概要
  2. 2. 目的 大規模分散処理とその上で動く機械学習コンポー ネントのトレンドを紹介
  3. 3. Agenda BDAS 概要 Spark 概要 おまけ Cascading と Pattern MLlib
  4. 4. BDAS 概要
  5. 5. Hadoop エコシステムと移行コスト HDFS のデータを新しいシス テムに移動するのは高コスト できるだけ上のレイヤーを変 えることで Hadoop 自体の 欠点を吸収する方が良さそう
  6. 6. データの移行が大変なので アプリケーション側で吸収 するような方向になるはず
  7. 7. そこで BDAS
  8. 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. 9. BDAS の全体像
  10. 10. BDAS のスポンサー
  11. 11. BDAS のコンポーネント1 ● Apache Mesos ○ リソースマネージャー ● Tackyon ○ Distributed fault-tolerance in-memory ○ メモリに乗らない場合はディスクキャッシュ(?) ● Apache Spark ○ 大規模 in-memory 処理フレームワーク
  12. 12. BDAS のコンポーネント2 ● Spark Streaming ○ Spark でストリーミング処理 ● GraphX(開発途上) ○ ネットワーク分析用のシステム ● MLbase(開発途上) ○ Spark 向け大規模分散機械学習ライブラリ ● Shark ○ Hive の Spark 版
  13. 13. Shark の簡単な紹介 ● in-memory で SQL like に処理を実行 ○ Cloudera Impara みたいなもの(?) ● Spark の上で動いている ○ MapReduce based Architecture ● Hive Compatible ● SQL 以外にも複雑な分析を実行できる(らしい)
  14. 14. Spark 概要
  15. 15. Hadoop MapReduce の欠点 ● アルゴリズムとしての欠点 ○ リアルタイム ○ 分散処理間のデータのやり取り(SVM 無理とか) ● Hadoop としての欠点 ○ 多段階 MapReduce のとき、都度各 JobTracker で JVM を起動するので処理をしていない時間に無駄が多 い ○ MapReduce に HDFS の IO が必要なので、read/write の時間が無駄
  16. 16. Hadoop は stable strage が対象 データを再利用する処理に向いていない
  17. 17. でも繰り返し処理 とか更新処理したいし…
  18. 18. Spark とは ● in-memory で分散処理をするためのコンポー ネント ● Hadoop MapReduce には向いていないアルゴ リズムを実装できる ○ Iterative Algorithm ■ k-means のような ML や Network Analysis ○ Interactive Data Mining ■ Scala を拡張したコンソールで対話的に実行
  19. 19. 実装まわりの基礎知識 ● 開発言語:Scala ○ 対話環境もある ● Hadoop で使える input resource を利用可能 ○ ex) HDFS, S3, etc.
  20. 20. RDD (Resilient Distributed Datasets) ● 効率的に大規模データも分散メモリとして保持する機構 ○ Fault tolerance, data locality, scalability ● イミュータブルで分割されたオブジェクトのコレクション ● 並列処理(map、filter、groupBy、join)をストレージ上の データに適用した結果生成 ● 再利用するためにメモリ上にキャッシュされる
  21. 21. Spark を利用したアプリケーション ● ● ● ● ● インメモリに対するHiveによるデータマイニング(Conviva) 予測分析(Quantifind) 市街のトラフィック予測(Mobile Millennium) TwitterのSpan判定(Monarch) 行列因子分解による協調フィルタリング
  22. 22. RDD Fault Tolerance ● メモリ上のデータが欠損したときに,元データが どれでどういう風に処理されたものであるかな どが保持
  23. 23. コードサンプル:Log Mining
  24. 24. 実装例紹介:Logistic Regression
  25. 25. 実装例紹介:Logistic Regression
  26. 26. Hadoop とのパフォーマンス比較
  27. 27. I/O がなくなることや 反復的 JVM 起動がなくなるので 早くなる
  28. 28. メモリに全部乗りません メモリにのせられるだけ乗せて処理
  29. 29. 本当に Fault Tolerance なの?
  30. 30. Spark で使えるオペレーション
  31. 31. Spark まとめ ● Hadoop MapReduce が苦手とする処理を補う ための分散メモリ上の処理コンポーネント ● メモリにデータがのるならMapReduce より速い ● 開発言語は Scala ● Hive みたいに Shark で SQL を書ける
  32. 32. おまけ
  33. 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. 34. Cascading と Pattern ● Cascading ○ Hadoop 上の処理をより簡単に書くためのフレームワー ク ○ 開発言語:Scala ● Cascading Pattern ○ Cascading で記述できる機械学習ライブラリ ○ Predictive Model Markup Language (PMML) 対応 ■ SPSS, R などで記述した処理を PMML に出力して Pattern で実行
  35. 35. Cascading Pattern がサポートする機械学習 ● ● ● ● ● Hierarchical Clustering K-Means Clustering Linear Regression Logistic Regression Random Forest Algorithm ● アルゴリズムを追加して欲しい場合は要請 ○ http://www.surveymonkey.com/s/FG7D7VT
  36. 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/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×