Last active
August 29, 2015 14:14
-
-
Save AKB428/512545bb505d9a833474 to your computer and use it in GitHub Desktop.
はじめてのSpark
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
はじめての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