Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
© 2016 IBM Corporation
2017年 改めてApache Sparkとデータサイ
エンスの関係についてのまとめ
Tanaka Y.P
2017-1-27
© 2016 IBM Corporation2
自己紹介
田中裕一(yuichi tanaka)
主にアーキテクチャとサーバーサイドプログラムを担当
することが多い。Hadoop/Spark周りをよく触ります。
Node.js、Python、最...
© 2016 IBM Corporation3
自己紹介
© 2016 IBM Corporation4
アジェンダ
• 改めてSparkとはどんなフレームワークなのか?
• Sparkはどのように動くのか?
• SparkでMachiLearning
• 従来の課題は何か、Sparkがなぜマッチする...
© 2016 IBM Corporation5
Sparkとは
従来Hadoopでは難しかったBigDataにおける
アドホック分析やニアリアルタイム処理を実現するための
InMemory分散並列処理フレームワーク。
• HDFSを筆頭にCas...
© 2016 IBM Corporation6
Sparkはどう動くのか?
Sparkとは
RDDとDAGをコアコンセプトとして設計された分散並列処理フレームワーク
Driver Program
Worker Worker Worker
Pro...
© 2016 IBM Corporation7
Driver Program
Worker Worker Worker
ProgramProgramProgram
DataDataData
Sparkはどう動くのか?
Sparkとは
RDDとD...
© 2016 IBM Corporation8
Driver Program
Worker Worker Worker
ProgramProgramProgram
DataDataData
output output output
Sparkは...
© 2016 IBM Corporation9
WorkerNode
WorkerNode
WorkerNode
Partition0
Partition3
Partition1
Partition2
6,tanaka,532
1,tanaka...
© 2016 IBM Corporation10
Sparkまとめ
• Sparkではレイテンシが重要なアドホックな分析やニアリアルタイムな分析が可能
• 複数のStorageからデータを集めて処理するなどStorageに依存しない
• ただし...
© 2016 IBM Corporation11
SparkでMachineLearning
• MLlibは大きく2つの実装に分かれる
• spark.mllib
• spark.ml
• どちらを使えば良いか?
• spark.mlを使うこ...
© 2016 IBM Corporation12
SparkでMachineLearning
• そもそもMachineLearningとは
• データから新たな価値を見出すための手法の一つ
• MachineLearningでは前処理が重要
...
© 2016 IBM Corporation13
HDFS
従来の課題は何か、Sparkがなぜマッチするのか
• こうした多様な前処理は従来のHadoop Ecosystemでの実現は難しかった
CSV
ETL
中間
DB
Table
中間
M...
© 2016 IBM Corporation14
Sparkを利用する環境はどうなったか?
• 15,16年とSparkをCloudで動かす環境が整ってきた
• より手軽にデータサイエンスを試せる土壌
EMR HDInsight DataPro...
© 2016 IBM Corporation15
SparkでDeepLearningはどうか?
• MLlibだけではDeepLearningは難しい(多層パーセプトロンはある)
• Spark v2.1でも難しい
• 16年に各DLフレーム...
© 2016 IBM Corporation16
DeepLearning4Jを例にSpark上でのDLを見てみる
Driver
Worker
Worker
Worker
Worker
Worker
Data d1 d2 ・・
1−1 1−2 ...
© 2016 IBM Corporation17
Sparkを取り巻く環境のまとめ
• MLlibだけでなく前処理やデータのつなぎの部分でもSparkは重要
• 各Cloud業者がデータサイエンティストのためのCloud環境を提供開始
• 従来...
© 2016 IBM Corporation18
宣伝
Upcoming SlideShare
Loading in …5
×

BigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめ

612 views

Published on

BigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめ

Published in: Technology
  • Be the first to comment

BigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめ

  1. 1. © 2016 IBM Corporation 2017年 改めてApache Sparkとデータサイ エンスの関係についてのまとめ Tanaka Y.P 2017-1-27
  2. 2. © 2016 IBM Corporation2 自己紹介 田中裕一(yuichi tanaka) 主にアーキテクチャとサーバーサイドプログラムを担当 することが多い。Hadoop/Spark周りをよく触ります。 Node.js、Python、最近はSpark周りの仕事でScalaを書く ことが多い気がします。 休日はOSS周りで遊んだり。 詳解 Apache Spark
  3. 3. © 2016 IBM Corporation3 自己紹介
  4. 4. © 2016 IBM Corporation4 アジェンダ • 改めてSparkとはどんなフレームワークなのか? • Sparkはどのように動くのか? • SparkでMachiLearning • 従来の課題は何か、Sparkがなぜマッチするのか • 2016年Sparkを利用する環境はどうなったか? • SparkでDeepLearningはどうか? • Sparkを取り巻く環境のまとめ
  5. 5. © 2016 IBM Corporation5 Sparkとは 従来Hadoopでは難しかったBigDataにおける アドホック分析やニアリアルタイム処理を実現するための InMemory分散並列処理フレームワーク。 • HDFSを筆頭にCassandraなど分散ストレージのデータと相性が良い • YARN,Mesos,Standaloneの3種類の分散処理基盤の上で動作 • SparkSQL,Streaming,MLlib,GraphXといった処理の拡張を持つ
  6. 6. © 2016 IBM Corporation6 Sparkはどう動くのか? Sparkとは RDDとDAGをコアコンセプトとして設計された分散並列処理フレームワーク Driver Program Worker Worker Worker ProgramProgramProgram DataDataData
  7. 7. © 2016 IBM Corporation7 Driver Program Worker Worker Worker ProgramProgramProgram DataDataData Sparkはどう動くのか? Sparkとは RDDとDAGをコアコンセプトとして設計された分散並列処理フレームワーク
  8. 8. © 2016 IBM Corporation8 Driver Program Worker Worker Worker ProgramProgramProgram DataDataData output output output Sparkはどう動くのか? Sparkとは RDDとDAGをコアコンセプトとして設計された分散並列処理フレームワーク
  9. 9. © 2016 IBM Corporation9 WorkerNode WorkerNode WorkerNode Partition0 Partition3 Partition1 Partition2 6,tanaka,532 1,tanaka,100 2,tanaka,300 3,tsuchiya,50 4,kaijima,2000 5,tsuchiya,1320 Partition0 Partition3 (tanaka,100) (tanaka,300) (tanaka,532) Partition1 (tsuchiya,50) (kaijima,2000) Partition2 (tsuchiya,1320) Partition0 (tanaka,932) Partition2 (kaijima,2000) Partition1 (tsuchiya,1370) Stage0 Stage1 task0 task1 task2 task3 task4 task5 task6 Sparkはどう動くのか?
  10. 10. © 2016 IBM Corporation10 Sparkまとめ • Sparkではレイテンシが重要なアドホックな分析やニアリアルタイムな分析が可能 • 複数のStorageからデータを集めて処理するなどStorageに依存しない • ただしローカリティのメリットはなくなる • たくさんのデータに対して一度に処理を行うことはとても得意 • 機械学習など同じデータに対して繰り返し処理を行うものが得意
  11. 11. © 2016 IBM Corporation11 SparkでMachineLearning • MLlibは大きく2つの実装に分かれる • spark.mllib • spark.ml • どちらを使えば良いか? • spark.mlを使うこと! • spark.mllibは2系でメンテモードになりました。 • 今後新しい機能は追加されません。タブン • (予定では3.0でremoveされる)
  12. 12. © 2016 IBM Corporation12 SparkでMachineLearning • そもそもMachineLearningとは • データから新たな価値を見出すための手法の一つ • MachineLearningでは前処理が重要 • 前処理8割といわれる程、データサイエンスの占める作業のうち、大部分がこの作業 • 前処理の例 • フィールドのコード化(性別変換・カテゴリ変換) • ID変換(Join,CookieSync,ジオコーディング) • 集計(GroupBy,Sum,Max,Min) • 形態素解析系処理(構文解析、分かち書き、ストップワード) • 名寄せ(表記ゆれ) • クレンジング(無効値処理、欠損値補完、外れ値補正) • 画像系処理(特徴抽出、スライス、サイズ変換、グレースケール) • 背景 データは分析されることを前提としていない。こう言った配慮は事業において負荷となる
  13. 13. © 2016 IBM Corporation13 HDFS 従来の課題は何か、Sparkがなぜマッチするのか • こうした多様な前処理は従来のHadoop Ecosystemでの実現は難しかった CSV ETL 中間 DB Table 中間 MLETL 中間 モデル APP Memory CSV ETL DF DF Table DF MLETL DF モデル Streaming
  14. 14. © 2016 IBM Corporation14 Sparkを利用する環境はどうなったか? • 15,16年とSparkをCloudで動かす環境が整ってきた • より手軽にデータサイエンスを試せる土壌 EMR HDInsight DataProc BigInsights • Sparkでデータサイエンスを行うI/Fは何が良いのか? DataLab DataScienceExperience なし ※DataProcと未統合
  15. 15. © 2016 IBM Corporation15 SparkでDeepLearningはどうか? • MLlibだけではDeepLearningは難しい(多層パーセプトロンはある) • Spark v2.1でも難しい • 16年に各DLフレームワークがSparkに対応 • DL4J on Spark : https://deeplearning4j.org/ • Caffe on Spark : https://github.com/yahoo/CaffeOnSpark • TensorSpark(Tensorflow on Spark) : https://github.com/adatao/tensorspark • Distributed Keras : https://github.com/cerndb/dist-keras • Sparkling Water : https://github.com/h2oai/sparkling-water/tree/rel-2.0 その他にも雨後の筍のように。 ※Web上でも様々な記事が上がっていますが、すでにメンテされてないリポジトリも あるので選定する際は注意が必要
  16. 16. © 2016 IBM Corporation16 DeepLearning4Jを例にSpark上でのDLを見てみる Driver Worker Worker Worker Worker Worker Data d1 d2 ・・ 1−1 1−2 1−3 1−4 1−5 分割 パラ メータ 配布 分割 モーメンタム rmsprop adagrad なども Parameter Average 再度Diverに戻し、 次のデータを同様に処理する データを設定に基づいて分割
  17. 17. © 2016 IBM Corporation17 Sparkを取り巻く環境のまとめ • MLlibだけでなく前処理やデータのつなぎの部分でもSparkは重要 • 各Cloud業者がデータサイエンティストのためのCloud環境を提供開始 • 従来のエンジニア向けのCloudではなく • DeepLearningを分散処理するための基盤としてSparkへの対応が進んでる • 深層学習だけでなく、「データサイエンス基盤」としてもSparkは重要 • その他の機械学習の機能もSparkの対応が始められている
  18. 18. © 2016 IBM Corporation18 宣伝

×