Skip to content

Instantly share code, notes, and snippets.

@AKB428
Last active August 29, 2015 14:14
Show Gist options
  • Save AKB428/512545bb505d9a833474 to your computer and use it in GitHub Desktop.
Save AKB428/512545bb505d9a833474 to your computer and use it in GitHub Desktop.
はじめてのSpark
はじめてのSpark
・メモリをつかって高速に分散処理
・機械学習・統計処理MLlib
2013年 68名コントリビューター
2014年 255名
なんで注目されているのか?▶様々な立場の人から使い勝手の良い特徴をいくつも持っているから
スパークの背景、特徴、勘所を説明
Hadoopが不得意なところ
OSSソフトは各々の特徴をつかうのがよい
Postgre+Spark+Hadoop+Storm
----------------------------
Sparkを説明する上ではずせないもの
----------
基本コンセプトは重たいIOを減らす!
せっかくためたデータを活用したい、より複雑な処理やオンデマンドな分析をもっと素早く実行できたらよいのに・・
どうしたらよいだろう?
▶重たいIO処理を減らしたらよいのでは?
合わせてメモリをもっと活用したらよいはずだ。
◯Sparkを説明する上で外せない特徴
1,柔軟性にとんだ分散処理の仕組み
2,抽象化の仕組みと便利なAPI
3,
1,柔軟性にとんだ分散処理の仕組み
・データ処理に求められる内容が多様化し変化する状況に対応し続けていく必要がある
・Sparkは素早く試行錯誤し、変化に追従するための特徴を持っている
・インタラクティブな分析が可能
・小さなデータから大規模データまで高速な処理
アプリケーションの作り方
・Hadoop HDFSにデータをとりこみ
・Sparkシェルでインタラクティブシェルで流れを決定
・必要に応じてMLib、機械学習ライブラリなどを活用
ポイント2:抽象化の仕組みと便利なAPI
だくさんのデータをシンプルに扱える
・RDD としう仕組みをつかって処理
・RDDはひとつのデータ集合に見える
・RDDを処理するための便利なAPI
RDDを変換処理していくフローを定義して様々なデータ処理を表現する
・データ分析者やプログラマから見て使い勝手がよい
・使い勝手がよいと試行錯誤し易い▶実現したいことを素早く実現しやすい
(補足)MRとの違い
ポイント3 コアを中心に成り立つエコシステム
(補足)エコシステムが目覚ましく発展する理由
・オープンな開発体制
・Spark SQL+Mlib Mlib+Spark Stremingなど
--------------
[カンファレンスで発表されたSparkの事例]
Yahoo台湾 ポータルサイトにおけるパーソナライズで利用
Intel: 中国のWEBサイトの分析基板に利用
 ・機械学習、グラフ処理、リアルタイム分析
OOYALA:ビデオ配信会社
 ・SparkStreaminの活用
 ・Sparkの基板にはYARNを使用
NTTデータ 4000コア+のSpark on YARN
-------------------------------
NTTDの検証結果
Hadoopと Sparkは組み合わせるとよい
HadoopとM/Rの共通点
・HDFSが利用できる
・サーバーを増やすとスケーラビリティをモテる
(ここでSparkを使おう)
・単純な処理やディスクを活用する処理では俄然としてはhadoopMRは有能
・データクレンジングの比重が大きい場合を例にすると、前処理にHaoop、分析にSparkという組み合わせが無難
2点目
・メモリが活用できる場面にはSparkを活用
・Sparkのキャッシュ機能を有効活用したい
・繰り返し使うデータをメモリ上に保持する機能
[ここでSparkを使おう!]
同じデータを繰り返しつかうケースオンデマンドで使うケースでは適している
3点目
・SparkはRDDを中心としたライブラリ
まとめ
Sparkは大規模データを効率よく扱うための分散処理基板
早いだけでなく、柔軟で便利な機能がバランスよく備わっている
データを活用して目標を実現したいならばSparkの出番
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment