SlideShare a Scribd company logo
1 of 57
Download to read offline
©  Cloudera,  Inc.  All  rights  reserved.
Cloudera  World  Tokyo  2015
Spark徹底⼊入⾨門
Cloudera株式会社  川崎  達夫
kawasaki@cloudera.com
©  Cloudera,  Inc.  All  rights  reserved.
Sparkに対してどんな印象をお持ちですか?
速そうバッチとリアル
タイム処理理を同
じように扱える
©  Cloudera,  Inc.  All  rights  reserved.
“Run programs up to 100x faster than
Hadoop MapReduce in memory, or 10x faster
on disk.” -‐‑‒  http://spark.apache.org
SparkはMapReduceよりも100倍(10倍)早い?
©  Cloudera,  Inc.  All  rights  reserved.
100倍
100x?
©  Cloudera,  Inc.  All  rights  reserved.
Sparkは汎⽤用⽬目的のクラスタでの計算エンジン
ストレージ
HDFS,  HBase,  Kudu,  …
リソース管理理
YARN
Spark Hadoop
MapReduce
Search	
   Others	
  Impala	
  
©  Cloudera,  Inc.  All  rights  reserved.
MapReduce
©  Cloudera,  Inc.  All  rights  reserved.
MapReduceの主な利利点:
•  データの局所性:  ⾃自動的に計算処理理を分けてMapperを適切切に開始
•  フォールトトレランス:  中間結果を書き出してMapperが再実⾏行行できることが、コモディティ
ハードウェアで実⾏行行できる機能を意味している
•  線形なスケーラビリティ:問題に対して⼀一般的に拡張できる解決を記述するために、開発者に局
所性とプログラミングモデルの組み合わせ強要する
MapReduceとは?:分散処理理
Map Map Map Map Map Map Map Map Map Map Map Map
Reduce	
   Reduce Reduce	
   Reduce
©  Cloudera,  Inc.  All  rights  reserved.
汎⽤用的なクラスタ計算システム-‐‑‒  MapReduce	
  
• 分散されたデータを
それぞれのサーバで
処理理する
13
マスター ワーカー群
72.165.33.132  -‐‑‒  -‐‑‒  [04/Nov/
28.114.157.122  -‐‑‒  -‐‑‒  [04/No
52.93.117.198  -‐‑‒  -‐‑‒  [04/Nov/
168.90.228.205  -‐‑‒  -‐‑‒  [04/Nov/
28.42.27.49  -‐‑‒  -‐‑‒  [04/Nov/201
192.120.64.138  -‐‑‒  -‐‑‒  [04/Nov/
156.189.222.57  -‐‑‒  -‐‑‒  [04/Nov/2
164.219.215.208  -‐‑‒  -‐‑‒  [04/Nov/
84.42.208.90  -‐‑‒  -‐‑‒  [04/Nov/20
164.39.210.117  -‐‑‒  -‐‑‒  [04/Nov/
196.144.35.85  -‐‑‒  -‐‑‒  [04/Nov/2
80.78.35.71  -‐‑‒  -‐‑‒  [04/Nov/201
Application
©  Cloudera,  Inc.  All  rights  reserved.
MapReduce  -‐‑‒  Map	
  
• 分散されたデータを
それぞれのサーバで
処理理する(Map)
マスター ワーカー群
72.165.33.132  -‐‑‒  -‐‑‒  [04/Nov/
28.114.157.122  -‐‑‒  -‐‑‒  [04/No
52.93.117.198  -‐‑‒  -‐‑‒  [04/Nov/
168.90.228.205  -‐‑‒  -‐‑‒  [04/Nov/
28.42.27.49  -‐‑‒  -‐‑‒  [04/Nov/201
192.120.64.138  -‐‑‒  -‐‑‒  [04/Nov/
156.189.222.57  -‐‑‒  -‐‑‒  [04/Nov/2
164.219.215.208  -‐‑‒  -‐‑‒  [04/Nov/
84.42.208.90  -‐‑‒  -‐‑‒  [04/Nov/20
164.39.210.117  -‐‑‒  -‐‑‒  [04/Nov/
196.144.35.85  -‐‑‒  -‐‑‒  [04/Nov/2
80.78.35.71  -‐‑‒  -‐‑‒  [04/Nov/201
Application
Task
Task
Task
Task
14
©  Cloudera,  Inc.  All  rights  reserved.
MapReduce  -‐‑‒  Reduce	
  
• 分散処理理した結果を
集約する(Reduce)
15
マスター ワーカー群
72.165.33.132,  1
72.165.33.132,  1
72.165.33.132,  1
72.165.33.145,  1
168.90.228.205,1
168.90.228.205,1
192.120.64.138,1
156.189.222.57,1
156.189.222.57,1
164.219.215.208,1
164.39.210.117,1
164.39.210.117,1
164.39.210.118.1
Task
©  Cloudera,  Inc.  All  rights  reserved.
Hadoop  MapReduceとSparkを⽐比較する
©  Cloudera,  Inc.  All  rights  reserved.
Speed
©  Cloudera,  Inc.  All  rights  reserved.
(再)MapReduce:分散処理理
Map Map Map Map Map Map Map Map Map Map Map Map
Reduce	
   Reduce Reduce	
   Reduce
©  Cloudera,  Inc.  All  rights  reserved.
処理理を⽐比較
Map
Reduce
Map
Map
Reduce
Map
単純な処理理
のみ
Map
Reduce
Map
Map
Reduce
Map
Reduce
Map
Map
複雑な処理理も
可能
©  Cloudera,  Inc.  All  rights  reserved.
ジョブのパイプラインの⽐比較
Map Reduce Map Reduce
Map Map ReduceXMapX
©  Cloudera,  Inc.  All  rights  reserved.
ジョブの繰り返し(例例:機械学習)の⽐比較
Map Reduce
Map Reduce
©  Cloudera,  Inc.  All  rights  reserved.
トレンド:
•  18ヶ⽉月ごとに価格が半分
になる
•  3年年ごとに帯域が倍になる
64-‐‑‒128GB  
RAM
16  cores
50  GB  per  second
メモリの効果
⾼高性能なビッグデータアプリケーションが可能に
©  Cloudera,  Inc.  All  rights  reserved.
⾼高速な処理理のためにキャッシュを使⽤用できる
インメモリキャッシュ
•  データ⽤用のパーティションは
ディスクの代わりにメモリか
ら読み込む
グラフ演算(DAG)
•  スケジューリングの最適化
•  フォールトトレランス
join
filter
groupBy
B: B:
C: D: E:
F:
Ç
√
Ω
map
A:
map
take
=  cached  partition=  RDD
©  Cloudera,  Inc.  All  rights  reserved.
例例:ロジスティック回帰のパフォーマンス:1回⽬目  
(メモリにフィットする場合)
110sec
80sec
©  Cloudera,  Inc.  All  rights  reserved.
例例:2回⽬目  
+110sec
+1sec
110sec
80sec
©  Cloudera,  Inc.  All  rights  reserved.
ロジスティック回帰のパフォーマンス  
(データがメモリに乗っている場合)
0
500
1000
1500
2000
2500
3000
3500
4000
1 5 10 20 30
Running  Time(s)
#  of  Iterations
MapReduce
Spark
110  s/繰り返し
最初の繰り返し=80s
以降降の繰り返しは
キャッシュにより1s
©  Cloudera,  Inc.  All  rights  reserved.
開発が	
  
容易易	
  
©  Cloudera,  Inc.  All  rights  reserved.
⽣生産性が⾼高い
同⼀一のAPIで複数の
⾔言語をネイティブ
にサポート
Scala
Java
Python
Python
lines = sc.textFile(...)
lines.filter(lambda s: “ERROR” in s).count()
Scala
val lines = sc.textFile(...)
lines.filter(s => s.contains(“ERROR”)).count()
Java
JavaRDD<String> lines = sc.textFile(...);
lines.filter(new Function<String, Boolean>() {
Boolean call(String s) {
return s.contains(“error”);
}
}).count();
©  Cloudera,  Inc.  All  rights  reserved.
開発が容易易
対話的な環境が使⽤用できる
•  データサイエンティストのた
めのインタラクティブなデー
タ探索索
•  「アプリケーション」を
開発する必要がない
•  開発者は実際のシステムでア
プリケーションのプロトタイ
ピングができる
percolateur:spark srowen$ ./bin/spark-shell --master local[*]
...
Welcome to
____ __
/ __/__ ___ _____/ /__
_ / _ / _ `/ __/ '_/
/___/ .__/_,_/_/ /_/_ version 1.5.0-SNAPSHOT
/_/
Using Scala version 2.10.4
(Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_51)
Type in expressions to have them evaluated.
Type :help for more information.
...
scala> val words = sc.textFile("file:/usr/share/dict/words")
...
words: org.apache.spark.rdd.RDD[String] =
MapPartitionsRDD[1] at textFile at <console>:21
scala> words.count
...
res0: Long = 235886
scala>
©  Cloudera,  Inc.  All  rights  reserved.
Word  Count  の例例
public class WordCount {
public static void main(String[] args) throws Exception {
Job job = new Job();
job.setJarByClass(WordCount.class);
job.setJobName("Word Count");
FileInputFormat.setInputPaths(job, new Path(args[0]));
FileOutputFormat.setOutputPath(job, new Path(args[1]));
job.setMapperClass(WordMapper.class);
job.setReducerClass(SumReducer.class);
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(IntWritable.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
boolean success = job.waitForCompletion(true);
System.exit(success ? 0 : 1);
}
}
public class WordMapper extends Mapper<LongWritable, Text, Text,
IntWritable> {
public void map(LongWritable key, Text value,
Context context) throws IOException, InterruptedException {
String line = value.toString();
for (String word : line.split("W+")) {
if (word.length() > 0)
context.write(new Text(word), new IntWritable(1));
}
}
}
}
public class SumReducer extends Reducer<Text, IntWritable, Text,
IntWritable> {
public void reduce(Text key, Iterable<IntWritable>
values, Context context) throws IOException, InterruptedException {
int wordCount = 0;
for (IntWritable value : values) {
wordCount += value.get();
}
context.write(key, new IntWritable(wordCount));
}
}
sc.textFile(file) 
.flatMap(lambda s: s.split()) 
.map(lambda w: (w,1)) 
.reduceByKey(lambda v1,v2: v1+v2)
.saveAsTextFile(output)
MapReduceより
2-‐‑‒5x
少ないコード量量
©  Cloudera,  Inc.  All  rights  reserved.
RDD
耐障害性分散データセット:
Resilient  Distributed  Datasets  (RDD)
©  Cloudera,  Inc.  All  rights  reserved.
I've never seen a purple cow.
I never hope to see one;
But I can tell you, anyhow,
I'd rather see than be one.
I'VE NEVER SEEN A PURPLE COW.
I NEVER HOPE TO SEE ONE;
BUT I CAN TELL YOU, ANYHOW,
I'D RATHER SEE THAN BE ONE.
I'VE NEVER SEEN A PURPLE COW.
I NEVER HOPE TO SEE ONE;
I'D RATHER SEE THAN BE ONE.
I've never seen a purple cow.
I never hope to see one;
But I can tell you, anyhow,
I'd rather see than be one.
File:  purplecow.txt
RDD:  mydata
RDD:  mydata_̲uc
RDD:  mydata_̲filt
>  mydata =
sc.textFile("purplecow.txt")
>  mydata_uc = mydata.map(lambda
line: line.upper())
>  mydata_filt = 
mydata_uc.filter(lambda line:

line.startswith('I'))
>  mydata_filt.count()
3
リネージ
©  Cloudera,  Inc.  All  rights  reserved.
Hue  Notebook
©  Cloudera,  Inc.  All  rights  reserved.
Jupyter/IPython  Notebook
©  Cloudera,  Inc.  All  rights  reserved.
SparkSQL
MLlib
SparkR
©  Cloudera,  Inc.  All  rights  reserved.
SparkSQL
• ⽬目標
•  Spark/Javaの開発者とデータサイ
エンティストがSparkアプリにイン
ラインでSQLを記述できる
• 設計⽬目的
•  Spark開発者のための開発の⽀支援
•  Sparkジョブはそれほど並⾏行行実⾏行行さ
れない
•  強み
•  SQLをJavaやScalaアプリケーショ
ンに容易易に組み込み可能になる
•  開発フローの⼀一般的な機能のための
SQL  (例例.  集約、フィルタ、サンプ
リング)
©  Cloudera,  Inc.  All  rights  reserved.
MLlib
•  Sparkの機械学習(ML)ライブラリ
•  ⽬目的
• 実⽤用的な機械学習をスケーラブルおよび簡単にすること
•  MLlibとは
• Sparkのスケール可能な機械学習ライブラリ
• ⼀一般的な機械学習アルゴリズムとユーティリティからなる
©  Cloudera,  Inc.  All  rights  reserved.
Streaming	
  
©  Cloudera,  Inc.  All  rights  reserved.
バッチ処理理とストリーミング
• Hadoop  MapReduceはバッチ処理理
• ⼤大量量なデータを効率率率的に処理理できる
• しかし、不不正検知のような(ニア)リアルタイム
での処理理には不不向き
©  Cloudera,  Inc.  All  rights  reserved.
Spark  Streaming
•  SparkのコアAPIを⽤用いて、データに対して
「連続」して処理理を実⾏行行
data…data…data…data…data…data…data…data…Live  Data
t=0 t=1 t=2 t=3
DStream
data…
data…
data…
data…
RDD  @  t=1data…
data…
data…
data…
RDD  @  t=2
data…
data…
data…
data…
RDD  @  t=3
©  Cloudera,  Inc.  All  rights  reserved.
Spark  Streaming
•  「ローリングウィンドウ」操作
•  ある「期間」の処理理を⾏行行うのではなく、それまで期間と
またいで処理理を⾏行行う
•  例例:  直近5分間のデータをローリングしながら平均やカ
ウントを計算する
•  バッチとストリーミング処理理との組み合わせ
•  ストリーミングデータにMLlibなどの組み合わせが可能
に
©  Cloudera,  Inc.  All  rights  reserved.
val tweets = ssc.twitterStream()
val hashTags = tweets.flatMap (status => getTags(status))
hashTags.saveAsHadoopFiles("hdfs://...")
“マイクロバッチ”  アーキテクチャー
flatMap flatMap flatMap
save save save
batch  @  t
+1
batch  @  t
batch  @  t
+2
tweets  DStream
hashTags  
DStream
短い間隔の
計算バッチ
から構成
©  Cloudera,  Inc.  All  rights  reserved.
SparkはICUでも利利⽤用されている	
   54© 2015 Cloudera, Inc. All rights reserved.
©  Cloudera,  Inc.  All  rights  reserved.
バッチ、ストリーミング処理理との組み合わせ
http://blog.cloudera.com/blog/2015/07/designing-‐‑‒fraud-‐‑‒detection-‐‑‒architecture-‐‑‒
that-‐‑‒works-‐‑‒like-‐‑‒your-‐‑‒brain-‐‑‒does/
©  Cloudera,  Inc.  All  rights  reserved.
SparkはHadoopを置き換えるのか?
©  Cloudera,  Inc.  All  rights  reserved.
http://itpro.nikkeibp.co.jp/atcl/column/14/072800028/073000001/
“MapReduceは「ゆっくり死んでいく」”
  -‐‑‒  Doug  Cutting
©  Cloudera,  Inc.  All  rights  reserved.
http://www.cloudera.co.jp/blog/one-‐‑‒platform-‐‑‒initiative.html
“Hadoopはもう終わり
でしょうか?”
“⾯面⽩白い話ですが、
答えはNoです.”
-‐‑‒  Mike  Olson
©  Cloudera,  Inc.  All  rights  reserved.
現在はMapReduceのみ対応しているエコシステムがある
• Hive, Pig
• Sqoop
• distcp
• …
©  Cloudera,  Inc.  All  rights  reserved.
Sparkが徐々にMapReduceに取って代わる
Stage  
1
• Crunch  on  Spark
• Search  on  Spark
Stage  
2
• Hive  on  Spark  (beta)
• Spark  on  HBase  (beta)
Stage  
3
• Pig  on  Spark  (alpha)
• Sqoop  on  Spark
ClouderaはコンポーネントをSparkに移⾏行行するコミュニティでの開発を主導して
いる
©  Cloudera,  Inc.  All  rights  reserved.
これらが解決されることで徐々に移⾏行行が進む
• 既存のMapReduceの資産
• Sparkの
• 安定性
• スケーラビリティ
• セキュリティ
• 管理理性
の向上
©  Cloudera,  Inc.  All  rights  reserved.
今後のHadoopでのデータ処理理
Sparkによる汎⽤用データ処理理
⾼高速バッチ処理理
機械学習
ストリーム処理理
  Impalaによる
  分析データベース
低レイテンシ・超並⾏行行クエリ
Solrによるテキスト検索索
テキストデータに対するクエリ
MapReduceによる
ディスクのデータ処理理
ディスクIOに強く依存したジョブの⼤大規
模スケールでの実⾏行行
共有:
•  データスト
レージ
•  メタデータ
•  リソース管理理
•  運⽤用監視
•  セキュリティ
•  ガバナンス
©  Cloudera,  Inc.  All  rights  reserved.
Spark  エコシステムと  Hadoop
Spark  
Streaming
MLlib SparkSQL GraphX
Data-‐‑‒
frames
SparkR
ストレージ
HDFS,  HBase
リソース管理理
YARN
Spark	
   Impala	
   MR	
   Others	
  Search	
  
©  Cloudera,  Inc.  All  rights  reserved.
ClouderaはSparkの変化を導いています
2013 2014 2015 2016
Sparkの初期の可
能性を認識識
CDH4.4に
Sparkを同
梱してサ
ポート
Spark  on  YARN
連携を追加
Sparkを標準実⾏行行エンジ
ンにすることへの⽅方向性
を発表
最初のSpark
トレーニング
を開始
セキュリティ
連携を追加
Clouderaのエンジニア
がオライリーのSpark
書籍を執筆
より良良いパフォー
マンス、ユーザビ
リティ、エンター
プライズレディの
ための努⼒力力を継続
していく
©  Cloudera,  Inc.  All  rights  reserved.
Clouderaのお客様のユースケース
Core  Spark Spark  Streaming
•  ポートフォリオリスク分析
•  ETLパイプライン⾼高速化
•  20年年以上の株データ⾦金金融
医療療
•  ⼈人間の完全なゲノムから病
気の原因となる遺伝⼦子を特
定
•  医療療データセットから
Jaccardスコアを計算
ERP
•  光学式⽂文字認識識(OCR)と紙幣分
類
•  トレンド分析
•  ドキュメント分類(LDA)
•  不不正分析データ
サービ
ス
1010
•  オンライン不不正検知
⾦金金融
医療療
•  敗⾎血症の発⽣生予測
⼩小売
•  オンラインリコメンドシステム
•  リアルタイム在庫管理理
アドテ
ク
•  リアルタイム広告パフォーマン
ス分析
©  Cloudera,  Inc.  All  rights  reserved.
まとめ
©  Cloudera,  Inc.  All  rights  reserved.
Apache  Spark
Speed Easy Streaming
©  Cloudera,  Inc.  All  rights  reserved.
どうやって
学習すれば
よいの?
©  Cloudera,  Inc.  All  rights  reserved.
⽇日本語版
近⽇日登場!
日本語の書籍も登場!
会場でも販売しています!
©  Cloudera,  Inc.  All  rights  reserved.
Clouderaのトレーニング
• Apache  Spark  開発者向けトレーニング
• Spark  &  Hadoop  開発者向けトレーニング  I  (New)
http://cloudera.co.jp/university
©  Cloudera,  Inc.  All  rights  reserved.
Spark関連リソース
• Sparkを学ぶ
• オライリー「初めてのSpark」
• Oʼ’Reilly  Advanced  Analytics  with  Spark  (written  by  
Clouderans)
• 翔泳社「Apache  Hadoop⼊入⾨門」
• Cloudera  Developer  Blog
• 試してみる
• Cloudera  Quick  Start  VM  上で  Spark  によるバスケット分析        
                  http://codezine.jp/article/corner/583
©  Cloudera,  Inc.  All  rights  reserved.
Cloudera  Liveで試してみる
cloudera.com/live
CDH
©  Cloudera,  Inc.  All  rights  reserved.
Clouderaに⼊入って⼈人々を⽀支援し、
世界で最も⼤大きな問題の解決に
乗り出しましょう!
⽇日本チームでの募集職種
•  セールス
•  セールスエンジニア
career-‐‑‒jp@cloudera.com
We  are  Hiring!

More Related Content

What's hot

Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Cloudera Japan
 
Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側Cloudera Japan
 
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜Cloudera Japan
 
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006Cloudera Japan
 
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTT DATA OSS Professional Services
 
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017Cloudera Japan
 
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadeda
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadedaCloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadeda
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadedaCloudera Japan
 
基礎から学ぶ超並列SQLエンジンImpala #cwt2015
基礎から学ぶ超並列SQLエンジンImpala #cwt2015基礎から学ぶ超並列SQLエンジンImpala #cwt2015
基礎から学ぶ超並列SQLエンジンImpala #cwt2015Cloudera Japan
 
C5.2 (Cloudera Manager + CDH) アップデート #cwt2014
C5.2 (Cloudera Manager + CDH) アップデート #cwt2014C5.2 (Cloudera Manager + CDH) アップデート #cwt2014
C5.2 (Cloudera Manager + CDH) アップデート #cwt2014Cloudera Japan
 
Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018Cloudera Japan
 
#cwt2016 Apache Kudu 構成とテーブル設計
#cwt2016 Apache Kudu 構成とテーブル設計#cwt2016 Apache Kudu 構成とテーブル設計
#cwt2016 Apache Kudu 構成とテーブル設計Cloudera Japan
 
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)NTT DATA OSS Professional Services
 
エンタープライズデータハブ活用の落とし穴 2015 08-27
エンタープライズデータハブ活用の落とし穴 2015 08-27エンタープライズデータハブ活用の落とし穴 2015 08-27
エンタープライズデータハブ活用の落とし穴 2015 08-27Cloudera Japan
 
HBase活用事例 #hbase_ca
HBase活用事例 #hbase_caHBase活用事例 #hbase_ca
HBase活用事例 #hbase_caCloudera Japan
 
マルチテナント化に向けたHadoopの最新セキュリティ事情 #hcj2014
マルチテナント化に向けたHadoopの最新セキュリティ事情 #hcj2014マルチテナント化に向けたHadoopの最新セキュリティ事情 #hcj2014
マルチテナント化に向けたHadoopの最新セキュリティ事情 #hcj2014Cloudera Japan
 
HBase Across the World #LINE_DM
HBase Across the World #LINE_DMHBase Across the World #LINE_DM
HBase Across the World #LINE_DMCloudera Japan
 
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...NTT DATA OSS Professional Services
 

What's hot (20)

Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
 
Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側
 
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
 
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
 
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
 
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
 
はやわかりHadoop
はやわかりHadoopはやわかりHadoop
はやわかりHadoop
 
Hadoop ecosystem NTTDATA osc15tk
Hadoop ecosystem NTTDATA osc15tkHadoop ecosystem NTTDATA osc15tk
Hadoop ecosystem NTTDATA osc15tk
 
Apache Sparkのご紹介 (後半:技術トピック)
Apache Sparkのご紹介 (後半:技術トピック)Apache Sparkのご紹介 (後半:技術トピック)
Apache Sparkのご紹介 (後半:技術トピック)
 
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadeda
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadedaCloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadeda
Cloudera Data Science WorkbenchとPySparkで 好きなPythonライブラリを 分散で使う #cadeda
 
基礎から学ぶ超並列SQLエンジンImpala #cwt2015
基礎から学ぶ超並列SQLエンジンImpala #cwt2015基礎から学ぶ超並列SQLエンジンImpala #cwt2015
基礎から学ぶ超並列SQLエンジンImpala #cwt2015
 
C5.2 (Cloudera Manager + CDH) アップデート #cwt2014
C5.2 (Cloudera Manager + CDH) アップデート #cwt2014C5.2 (Cloudera Manager + CDH) アップデート #cwt2014
C5.2 (Cloudera Manager + CDH) アップデート #cwt2014
 
Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018
 
#cwt2016 Apache Kudu 構成とテーブル設計
#cwt2016 Apache Kudu 構成とテーブル設計#cwt2016 Apache Kudu 構成とテーブル設計
#cwt2016 Apache Kudu 構成とテーブル設計
 
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
 
エンタープライズデータハブ活用の落とし穴 2015 08-27
エンタープライズデータハブ活用の落とし穴 2015 08-27エンタープライズデータハブ活用の落とし穴 2015 08-27
エンタープライズデータハブ活用の落とし穴 2015 08-27
 
HBase活用事例 #hbase_ca
HBase活用事例 #hbase_caHBase活用事例 #hbase_ca
HBase活用事例 #hbase_ca
 
マルチテナント化に向けたHadoopの最新セキュリティ事情 #hcj2014
マルチテナント化に向けたHadoopの最新セキュリティ事情 #hcj2014マルチテナント化に向けたHadoopの最新セキュリティ事情 #hcj2014
マルチテナント化に向けたHadoopの最新セキュリティ事情 #hcj2014
 
HBase Across the World #LINE_DM
HBase Across the World #LINE_DMHBase Across the World #LINE_DM
HBase Across the World #LINE_DM
 
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...
 

Similar to Spark徹底入門 #cwt2015

MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015Cloudera Japan
 
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practiceマルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best PracticeHadoop / Spark Conference Japan
 
Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析MapR Technologies Japan
 
SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係datastaxjp
 
DBP-011_Apache Spark for Azure HDInsight ~新世代の Big Data 処理基盤~
DBP-011_Apache Spark for Azure HDInsight ~新世代の Big Data 処理基盤~DBP-011_Apache Spark for Azure HDInsight ~新世代の Big Data 処理基盤~
DBP-011_Apache Spark for Azure HDInsight ~新世代の Big Data 処理基盤~decode2016
 
ソーシャルアプリを分析してみた
ソーシャルアプリを分析してみたソーシャルアプリを分析してみた
ソーシャルアプリを分析してみたDrecom Co., Ltd.
 
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎Insight Technology, Inc.
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoTreasure Data, Inc.
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例terurou
 
HDFS Supportaiblity Improvements
HDFS Supportaiblity ImprovementsHDFS Supportaiblity Improvements
HDFS Supportaiblity ImprovementsCloudera Japan
 
B34 Extremely Tuned Hadoop Cluster by Daisuke Hirama
B34 Extremely Tuned Hadoop Cluster by  Daisuke HiramaB34 Extremely Tuned Hadoop Cluster by  Daisuke Hirama
B34 Extremely Tuned Hadoop Cluster by Daisuke HiramaInsight Technology, Inc.
 
キャパシティ プランニング
キャパシティ プランニングキャパシティ プランニング
キャパシティ プランニング外道 父
 
Cloudera impala
Cloudera impalaCloudera impala
Cloudera impala外道 父
 
Treasure Dataを支える技術 - MessagePack編
Treasure Dataを支える技術 - MessagePack編Treasure Dataを支える技術 - MessagePack編
Treasure Dataを支える技術 - MessagePack編Taro L. Saito
 
Learning spaerk chapter03
Learning spaerk chapter03Learning spaerk chapter03
Learning spaerk chapter03Akimitsu Takagi
 
[AWSマイスターシリーズ] Amazon Redshift
[AWSマイスターシリーズ] Amazon Redshift[AWSマイスターシリーズ] Amazon Redshift
[AWSマイスターシリーズ] Amazon RedshiftAmazon Web Services Japan
 
Kuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakaltKuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakaltToshihiro Suzuki
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Masahiro Nagano
 

Similar to Spark徹底入門 #cwt2015 (20)

MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
 
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practiceマルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
 
Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析
 
activerecord-turntable
activerecord-turntableactiverecord-turntable
activerecord-turntable
 
SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係
 
DBP-011_Apache Spark for Azure HDInsight ~新世代の Big Data 処理基盤~
DBP-011_Apache Spark for Azure HDInsight ~新世代の Big Data 処理基盤~DBP-011_Apache Spark for Azure HDInsight ~新世代の Big Data 処理基盤~
DBP-011_Apache Spark for Azure HDInsight ~新世代の Big Data 処理基盤~
 
ソーシャルアプリを分析してみた
ソーシャルアプリを分析してみたソーシャルアプリを分析してみた
ソーシャルアプリを分析してみた
 
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
 
HDFS Supportaiblity Improvements
HDFS Supportaiblity ImprovementsHDFS Supportaiblity Improvements
HDFS Supportaiblity Improvements
 
B34 Extremely Tuned Hadoop Cluster by Daisuke Hirama
B34 Extremely Tuned Hadoop Cluster by  Daisuke HiramaB34 Extremely Tuned Hadoop Cluster by  Daisuke Hirama
B34 Extremely Tuned Hadoop Cluster by Daisuke Hirama
 
キャパシティ プランニング
キャパシティ プランニングキャパシティ プランニング
キャパシティ プランニング
 
Apache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATAApache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATA
 
Cloudera impala
Cloudera impalaCloudera impala
Cloudera impala
 
Treasure Dataを支える技術 - MessagePack編
Treasure Dataを支える技術 - MessagePack編Treasure Dataを支える技術 - MessagePack編
Treasure Dataを支える技術 - MessagePack編
 
Learning spaerk chapter03
Learning spaerk chapter03Learning spaerk chapter03
Learning spaerk chapter03
 
[AWSマイスターシリーズ] Amazon Redshift
[AWSマイスターシリーズ] Amazon Redshift[AWSマイスターシリーズ] Amazon Redshift
[AWSマイスターシリーズ] Amazon Redshift
 
Kuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakaltKuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakalt
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
 

More from Cloudera Japan

分散DB Apache Kuduのアーキテクチャ DBの性能と一貫性を両立させる仕組み 「HybridTime」とは
分散DB Apache KuduのアーキテクチャDBの性能と一貫性を両立させる仕組み「HybridTime」とは分散DB Apache KuduのアーキテクチャDBの性能と一貫性を両立させる仕組み「HybridTime」とは
分散DB Apache Kuduのアーキテクチャ DBの性能と一貫性を両立させる仕組み 「HybridTime」とはCloudera Japan
 
Cloudera のサポートエンジニアリング #supennight
Cloudera のサポートエンジニアリング #supennightCloudera のサポートエンジニアリング #supennight
Cloudera のサポートエンジニアリング #supennightCloudera Japan
 
Train, predict, serve: How to go into production your machine learning model
Train, predict, serve: How to go into production your machine learning modelTrain, predict, serve: How to go into production your machine learning model
Train, predict, serve: How to go into production your machine learning modelCloudera Japan
 
Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017Cloudera Japan
 
先行事例から学ぶ IoT / ビッグデータの始め方
先行事例から学ぶ IoT / ビッグデータの始め方先行事例から学ぶ IoT / ビッグデータの始め方
先行事例から学ぶ IoT / ビッグデータの始め方Cloudera Japan
 
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017Cloudera Japan
 
How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017Cloudera Japan
 
Apache Kudu - Updatable Analytical Storage #rakutentech
Apache Kudu - Updatable Analytical Storage #rakutentechApache Kudu - Updatable Analytical Storage #rakutentech
Apache Kudu - Updatable Analytical Storage #rakutentechCloudera Japan
 
Hue 4.0 / Hue Meetup Tokyo #huejp
Hue 4.0 / Hue Meetup Tokyo #huejpHue 4.0 / Hue Meetup Tokyo #huejp
Hue 4.0 / Hue Meetup Tokyo #huejpCloudera Japan
 
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016Cloudera Japan
 
Cloud Native Hadoop #cwt2016
Cloud Native Hadoop #cwt2016Cloud Native Hadoop #cwt2016
Cloud Native Hadoop #cwt2016Cloudera Japan
 
大規模データに対するデータサイエンスの進め方 #CWT2016
大規模データに対するデータサイエンスの進め方 #CWT2016大規模データに対するデータサイエンスの進め方 #CWT2016
大規模データに対するデータサイエンスの進め方 #CWT2016Cloudera Japan
 
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング #cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング Cloudera Japan
 
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSIbis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSCloudera Japan
 
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakalt
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakaltクラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakalt
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakaltCloudera Japan
 
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015Cloudera Japan
 
基調講演: 「データエコシステムへの挑戦」 #cwt2015
基調講演: 「データエコシステムへの挑戦」 #cwt2015基調講演: 「データエコシステムへの挑戦」 #cwt2015
基調講演: 「データエコシステムへの挑戦」 #cwt2015Cloudera Japan
 
基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015
基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015
基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015Cloudera Japan
 

More from Cloudera Japan (18)

分散DB Apache Kuduのアーキテクチャ DBの性能と一貫性を両立させる仕組み 「HybridTime」とは
分散DB Apache KuduのアーキテクチャDBの性能と一貫性を両立させる仕組み「HybridTime」とは分散DB Apache KuduのアーキテクチャDBの性能と一貫性を両立させる仕組み「HybridTime」とは
分散DB Apache Kuduのアーキテクチャ DBの性能と一貫性を両立させる仕組み 「HybridTime」とは
 
Cloudera のサポートエンジニアリング #supennight
Cloudera のサポートエンジニアリング #supennightCloudera のサポートエンジニアリング #supennight
Cloudera のサポートエンジニアリング #supennight
 
Train, predict, serve: How to go into production your machine learning model
Train, predict, serve: How to go into production your machine learning modelTrain, predict, serve: How to go into production your machine learning model
Train, predict, serve: How to go into production your machine learning model
 
Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017
 
先行事例から学ぶ IoT / ビッグデータの始め方
先行事例から学ぶ IoT / ビッグデータの始め方先行事例から学ぶ IoT / ビッグデータの始め方
先行事例から学ぶ IoT / ビッグデータの始め方
 
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
 
How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017
 
Apache Kudu - Updatable Analytical Storage #rakutentech
Apache Kudu - Updatable Analytical Storage #rakutentechApache Kudu - Updatable Analytical Storage #rakutentech
Apache Kudu - Updatable Analytical Storage #rakutentech
 
Hue 4.0 / Hue Meetup Tokyo #huejp
Hue 4.0 / Hue Meetup Tokyo #huejpHue 4.0 / Hue Meetup Tokyo #huejp
Hue 4.0 / Hue Meetup Tokyo #huejp
 
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
 
Cloud Native Hadoop #cwt2016
Cloud Native Hadoop #cwt2016Cloud Native Hadoop #cwt2016
Cloud Native Hadoop #cwt2016
 
大規模データに対するデータサイエンスの進め方 #CWT2016
大規模データに対するデータサイエンスの進め方 #CWT2016大規模データに対するデータサイエンスの進め方 #CWT2016
大規模データに対するデータサイエンスの進め方 #CWT2016
 
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング #cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
#cwt2016 Cloudera Managerを用いた Hadoop のトラブルシューティング
 
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSIbis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
 
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakalt
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakaltクラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakalt
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakalt
 
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015
 
基調講演: 「データエコシステムへの挑戦」 #cwt2015
基調講演: 「データエコシステムへの挑戦」 #cwt2015基調講演: 「データエコシステムへの挑戦」 #cwt2015
基調講演: 「データエコシステムへの挑戦」 #cwt2015
 
基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015
基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015
基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015
 

Recently uploaded

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Recently uploaded (9)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

Spark徹底入門 #cwt2015

  • 1. ©  Cloudera,  Inc.  All  rights  reserved. Cloudera  World  Tokyo  2015 Spark徹底⼊入⾨門 Cloudera株式会社  川崎  達夫 kawasaki@cloudera.com
  • 2. ©  Cloudera,  Inc.  All  rights  reserved. Sparkに対してどんな印象をお持ちですか? 速そうバッチとリアル タイム処理理を同 じように扱える
  • 3. ©  Cloudera,  Inc.  All  rights  reserved. “Run programs up to 100x faster than Hadoop MapReduce in memory, or 10x faster on disk.” -‐‑‒  http://spark.apache.org SparkはMapReduceよりも100倍(10倍)早い?
  • 4. ©  Cloudera,  Inc.  All  rights  reserved. 100倍 100x?
  • 5. ©  Cloudera,  Inc.  All  rights  reserved. Sparkは汎⽤用⽬目的のクラスタでの計算エンジン ストレージ HDFS,  HBase,  Kudu,  … リソース管理理 YARN Spark Hadoop MapReduce Search   Others  Impala  
  • 6. ©  Cloudera,  Inc.  All  rights  reserved. MapReduce
  • 7. ©  Cloudera,  Inc.  All  rights  reserved. MapReduceの主な利利点: •  データの局所性:  ⾃自動的に計算処理理を分けてMapperを適切切に開始 •  フォールトトレランス:  中間結果を書き出してMapperが再実⾏行行できることが、コモディティ ハードウェアで実⾏行行できる機能を意味している •  線形なスケーラビリティ:問題に対して⼀一般的に拡張できる解決を記述するために、開発者に局 所性とプログラミングモデルの組み合わせ強要する MapReduceとは?:分散処理理 Map Map Map Map Map Map Map Map Map Map Map Map Reduce   Reduce Reduce   Reduce
  • 8. ©  Cloudera,  Inc.  All  rights  reserved. 汎⽤用的なクラスタ計算システム-‐‑‒  MapReduce   • 分散されたデータを それぞれのサーバで 処理理する 13 マスター ワーカー群 72.165.33.132  -‐‑‒  -‐‑‒  [04/Nov/ 28.114.157.122  -‐‑‒  -‐‑‒  [04/No 52.93.117.198  -‐‑‒  -‐‑‒  [04/Nov/ 168.90.228.205  -‐‑‒  -‐‑‒  [04/Nov/ 28.42.27.49  -‐‑‒  -‐‑‒  [04/Nov/201 192.120.64.138  -‐‑‒  -‐‑‒  [04/Nov/ 156.189.222.57  -‐‑‒  -‐‑‒  [04/Nov/2 164.219.215.208  -‐‑‒  -‐‑‒  [04/Nov/ 84.42.208.90  -‐‑‒  -‐‑‒  [04/Nov/20 164.39.210.117  -‐‑‒  -‐‑‒  [04/Nov/ 196.144.35.85  -‐‑‒  -‐‑‒  [04/Nov/2 80.78.35.71  -‐‑‒  -‐‑‒  [04/Nov/201 Application
  • 9. ©  Cloudera,  Inc.  All  rights  reserved. MapReduce  -‐‑‒  Map   • 分散されたデータを それぞれのサーバで 処理理する(Map) マスター ワーカー群 72.165.33.132  -‐‑‒  -‐‑‒  [04/Nov/ 28.114.157.122  -‐‑‒  -‐‑‒  [04/No 52.93.117.198  -‐‑‒  -‐‑‒  [04/Nov/ 168.90.228.205  -‐‑‒  -‐‑‒  [04/Nov/ 28.42.27.49  -‐‑‒  -‐‑‒  [04/Nov/201 192.120.64.138  -‐‑‒  -‐‑‒  [04/Nov/ 156.189.222.57  -‐‑‒  -‐‑‒  [04/Nov/2 164.219.215.208  -‐‑‒  -‐‑‒  [04/Nov/ 84.42.208.90  -‐‑‒  -‐‑‒  [04/Nov/20 164.39.210.117  -‐‑‒  -‐‑‒  [04/Nov/ 196.144.35.85  -‐‑‒  -‐‑‒  [04/Nov/2 80.78.35.71  -‐‑‒  -‐‑‒  [04/Nov/201 Application Task Task Task Task 14
  • 10. ©  Cloudera,  Inc.  All  rights  reserved. MapReduce  -‐‑‒  Reduce   • 分散処理理した結果を 集約する(Reduce) 15 マスター ワーカー群 72.165.33.132,  1 72.165.33.132,  1 72.165.33.132,  1 72.165.33.145,  1 168.90.228.205,1 168.90.228.205,1 192.120.64.138,1 156.189.222.57,1 156.189.222.57,1 164.219.215.208,1 164.39.210.117,1 164.39.210.117,1 164.39.210.118.1 Task
  • 11. ©  Cloudera,  Inc.  All  rights  reserved. Hadoop  MapReduceとSparkを⽐比較する
  • 12. ©  Cloudera,  Inc.  All  rights  reserved. Speed
  • 13. ©  Cloudera,  Inc.  All  rights  reserved. (再)MapReduce:分散処理理 Map Map Map Map Map Map Map Map Map Map Map Map Reduce   Reduce Reduce   Reduce
  • 14. ©  Cloudera,  Inc.  All  rights  reserved. 処理理を⽐比較 Map Reduce Map Map Reduce Map 単純な処理理 のみ Map Reduce Map Map Reduce Map Reduce Map Map 複雑な処理理も 可能
  • 15. ©  Cloudera,  Inc.  All  rights  reserved. ジョブのパイプラインの⽐比較 Map Reduce Map Reduce Map Map ReduceXMapX
  • 16. ©  Cloudera,  Inc.  All  rights  reserved. ジョブの繰り返し(例例:機械学習)の⽐比較 Map Reduce Map Reduce
  • 17. ©  Cloudera,  Inc.  All  rights  reserved. トレンド: •  18ヶ⽉月ごとに価格が半分 になる •  3年年ごとに帯域が倍になる 64-‐‑‒128GB   RAM 16  cores 50  GB  per  second メモリの効果 ⾼高性能なビッグデータアプリケーションが可能に
  • 18. ©  Cloudera,  Inc.  All  rights  reserved. ⾼高速な処理理のためにキャッシュを使⽤用できる インメモリキャッシュ •  データ⽤用のパーティションは ディスクの代わりにメモリか ら読み込む グラフ演算(DAG) •  スケジューリングの最適化 •  フォールトトレランス join filter groupBy B: B: C: D: E: F: Ç √ Ω map A: map take =  cached  partition=  RDD
  • 19. ©  Cloudera,  Inc.  All  rights  reserved. 例例:ロジスティック回帰のパフォーマンス:1回⽬目   (メモリにフィットする場合) 110sec 80sec
  • 20. ©  Cloudera,  Inc.  All  rights  reserved. 例例:2回⽬目   +110sec +1sec 110sec 80sec
  • 21. ©  Cloudera,  Inc.  All  rights  reserved. ロジスティック回帰のパフォーマンス   (データがメモリに乗っている場合) 0 500 1000 1500 2000 2500 3000 3500 4000 1 5 10 20 30 Running  Time(s) #  of  Iterations MapReduce Spark 110  s/繰り返し 最初の繰り返し=80s 以降降の繰り返しは キャッシュにより1s
  • 22. ©  Cloudera,  Inc.  All  rights  reserved. 開発が   容易易  
  • 23. ©  Cloudera,  Inc.  All  rights  reserved. ⽣生産性が⾼高い 同⼀一のAPIで複数の ⾔言語をネイティブ にサポート Scala Java Python Python lines = sc.textFile(...) lines.filter(lambda s: “ERROR” in s).count() Scala val lines = sc.textFile(...) lines.filter(s => s.contains(“ERROR”)).count() Java JavaRDD<String> lines = sc.textFile(...); lines.filter(new Function<String, Boolean>() { Boolean call(String s) { return s.contains(“error”); } }).count();
  • 24. ©  Cloudera,  Inc.  All  rights  reserved. 開発が容易易 対話的な環境が使⽤用できる •  データサイエンティストのた めのインタラクティブなデー タ探索索 •  「アプリケーション」を 開発する必要がない •  開発者は実際のシステムでア プリケーションのプロトタイ ピングができる percolateur:spark srowen$ ./bin/spark-shell --master local[*] ... Welcome to ____ __ / __/__ ___ _____/ /__ _ / _ / _ `/ __/ '_/ /___/ .__/_,_/_/ /_/_ version 1.5.0-SNAPSHOT /_/ Using Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_51) Type in expressions to have them evaluated. Type :help for more information. ... scala> val words = sc.textFile("file:/usr/share/dict/words") ... words: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[1] at textFile at <console>:21 scala> words.count ... res0: Long = 235886 scala>
  • 25. ©  Cloudera,  Inc.  All  rights  reserved. Word  Count  の例例 public class WordCount { public static void main(String[] args) throws Exception { Job job = new Job(); job.setJarByClass(WordCount.class); job.setJobName("Word Count"); FileInputFormat.setInputPaths(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); job.setMapperClass(WordMapper.class); job.setReducerClass(SumReducer.class); job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(IntWritable.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); boolean success = job.waitForCompletion(true); System.exit(success ? 0 : 1); } } public class WordMapper extends Mapper<LongWritable, Text, Text, IntWritable> { public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { String line = value.toString(); for (String word : line.split("W+")) { if (word.length() > 0) context.write(new Text(word), new IntWritable(1)); } } } } public class SumReducer extends Reducer<Text, IntWritable, Text, IntWritable> { public void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException { int wordCount = 0; for (IntWritable value : values) { wordCount += value.get(); } context.write(key, new IntWritable(wordCount)); } } sc.textFile(file) .flatMap(lambda s: s.split()) .map(lambda w: (w,1)) .reduceByKey(lambda v1,v2: v1+v2) .saveAsTextFile(output) MapReduceより 2-‐‑‒5x 少ないコード量量
  • 26. ©  Cloudera,  Inc.  All  rights  reserved. RDD 耐障害性分散データセット: Resilient  Distributed  Datasets  (RDD)
  • 27. ©  Cloudera,  Inc.  All  rights  reserved. I've never seen a purple cow. I never hope to see one; But I can tell you, anyhow, I'd rather see than be one. I'VE NEVER SEEN A PURPLE COW. I NEVER HOPE TO SEE ONE; BUT I CAN TELL YOU, ANYHOW, I'D RATHER SEE THAN BE ONE. I'VE NEVER SEEN A PURPLE COW. I NEVER HOPE TO SEE ONE; I'D RATHER SEE THAN BE ONE. I've never seen a purple cow. I never hope to see one; But I can tell you, anyhow, I'd rather see than be one. File:  purplecow.txt RDD:  mydata RDD:  mydata_̲uc RDD:  mydata_̲filt >  mydata = sc.textFile("purplecow.txt") >  mydata_uc = mydata.map(lambda line: line.upper()) >  mydata_filt = mydata_uc.filter(lambda line: line.startswith('I')) >  mydata_filt.count() 3 リネージ
  • 28. ©  Cloudera,  Inc.  All  rights  reserved. Hue  Notebook
  • 29. ©  Cloudera,  Inc.  All  rights  reserved. Jupyter/IPython  Notebook
  • 30. ©  Cloudera,  Inc.  All  rights  reserved. SparkSQL MLlib SparkR
  • 31. ©  Cloudera,  Inc.  All  rights  reserved. SparkSQL • ⽬目標 •  Spark/Javaの開発者とデータサイ エンティストがSparkアプリにイン ラインでSQLを記述できる • 設計⽬目的 •  Spark開発者のための開発の⽀支援 •  Sparkジョブはそれほど並⾏行行実⾏行行さ れない •  強み •  SQLをJavaやScalaアプリケーショ ンに容易易に組み込み可能になる •  開発フローの⼀一般的な機能のための SQL  (例例.  集約、フィルタ、サンプ リング)
  • 32. ©  Cloudera,  Inc.  All  rights  reserved. MLlib •  Sparkの機械学習(ML)ライブラリ •  ⽬目的 • 実⽤用的な機械学習をスケーラブルおよび簡単にすること •  MLlibとは • Sparkのスケール可能な機械学習ライブラリ • ⼀一般的な機械学習アルゴリズムとユーティリティからなる
  • 33. ©  Cloudera,  Inc.  All  rights  reserved. Streaming  
  • 34. ©  Cloudera,  Inc.  All  rights  reserved. バッチ処理理とストリーミング • Hadoop  MapReduceはバッチ処理理 • ⼤大量量なデータを効率率率的に処理理できる • しかし、不不正検知のような(ニア)リアルタイム での処理理には不不向き
  • 35. ©  Cloudera,  Inc.  All  rights  reserved. Spark  Streaming •  SparkのコアAPIを⽤用いて、データに対して 「連続」して処理理を実⾏行行 data…data…data…data…data…data…data…data…Live  Data t=0 t=1 t=2 t=3 DStream data… data… data… data… RDD  @  t=1data… data… data… data… RDD  @  t=2 data… data… data… data… RDD  @  t=3
  • 36. ©  Cloudera,  Inc.  All  rights  reserved. Spark  Streaming •  「ローリングウィンドウ」操作 •  ある「期間」の処理理を⾏行行うのではなく、それまで期間と またいで処理理を⾏行行う •  例例:  直近5分間のデータをローリングしながら平均やカ ウントを計算する •  バッチとストリーミング処理理との組み合わせ •  ストリーミングデータにMLlibなどの組み合わせが可能 に
  • 37. ©  Cloudera,  Inc.  All  rights  reserved. val tweets = ssc.twitterStream() val hashTags = tweets.flatMap (status => getTags(status)) hashTags.saveAsHadoopFiles("hdfs://...") “マイクロバッチ”  アーキテクチャー flatMap flatMap flatMap save save save batch  @  t +1 batch  @  t batch  @  t +2 tweets  DStream hashTags   DStream 短い間隔の 計算バッチ から構成
  • 38. ©  Cloudera,  Inc.  All  rights  reserved. SparkはICUでも利利⽤用されている   54© 2015 Cloudera, Inc. All rights reserved.
  • 39. ©  Cloudera,  Inc.  All  rights  reserved. バッチ、ストリーミング処理理との組み合わせ http://blog.cloudera.com/blog/2015/07/designing-‐‑‒fraud-‐‑‒detection-‐‑‒architecture-‐‑‒ that-‐‑‒works-‐‑‒like-‐‑‒your-‐‑‒brain-‐‑‒does/
  • 40. ©  Cloudera,  Inc.  All  rights  reserved. SparkはHadoopを置き換えるのか?
  • 41. ©  Cloudera,  Inc.  All  rights  reserved. http://itpro.nikkeibp.co.jp/atcl/column/14/072800028/073000001/ “MapReduceは「ゆっくり死んでいく」”   -‐‑‒  Doug  Cutting
  • 42. ©  Cloudera,  Inc.  All  rights  reserved. http://www.cloudera.co.jp/blog/one-‐‑‒platform-‐‑‒initiative.html “Hadoopはもう終わり でしょうか?” “⾯面⽩白い話ですが、 答えはNoです.” -‐‑‒  Mike  Olson
  • 43. ©  Cloudera,  Inc.  All  rights  reserved. 現在はMapReduceのみ対応しているエコシステムがある • Hive, Pig • Sqoop • distcp • …
  • 44. ©  Cloudera,  Inc.  All  rights  reserved. Sparkが徐々にMapReduceに取って代わる Stage   1 • Crunch  on  Spark • Search  on  Spark Stage   2 • Hive  on  Spark  (beta) • Spark  on  HBase  (beta) Stage   3 • Pig  on  Spark  (alpha) • Sqoop  on  Spark ClouderaはコンポーネントをSparkに移⾏行行するコミュニティでの開発を主導して いる
  • 45. ©  Cloudera,  Inc.  All  rights  reserved. これらが解決されることで徐々に移⾏行行が進む • 既存のMapReduceの資産 • Sparkの • 安定性 • スケーラビリティ • セキュリティ • 管理理性 の向上
  • 46. ©  Cloudera,  Inc.  All  rights  reserved. 今後のHadoopでのデータ処理理 Sparkによる汎⽤用データ処理理 ⾼高速バッチ処理理 機械学習 ストリーム処理理   Impalaによる   分析データベース 低レイテンシ・超並⾏行行クエリ Solrによるテキスト検索索 テキストデータに対するクエリ MapReduceによる ディスクのデータ処理理 ディスクIOに強く依存したジョブの⼤大規 模スケールでの実⾏行行 共有: •  データスト レージ •  メタデータ •  リソース管理理 •  運⽤用監視 •  セキュリティ •  ガバナンス
  • 47. ©  Cloudera,  Inc.  All  rights  reserved. Spark  エコシステムと  Hadoop Spark   Streaming MLlib SparkSQL GraphX Data-‐‑‒ frames SparkR ストレージ HDFS,  HBase リソース管理理 YARN Spark   Impala   MR   Others  Search  
  • 48. ©  Cloudera,  Inc.  All  rights  reserved. ClouderaはSparkの変化を導いています 2013 2014 2015 2016 Sparkの初期の可 能性を認識識 CDH4.4に Sparkを同 梱してサ ポート Spark  on  YARN 連携を追加 Sparkを標準実⾏行行エンジ ンにすることへの⽅方向性 を発表 最初のSpark トレーニング を開始 セキュリティ 連携を追加 Clouderaのエンジニア がオライリーのSpark 書籍を執筆 より良良いパフォー マンス、ユーザビ リティ、エンター プライズレディの ための努⼒力力を継続 していく
  • 49. ©  Cloudera,  Inc.  All  rights  reserved. Clouderaのお客様のユースケース Core  Spark Spark  Streaming •  ポートフォリオリスク分析 •  ETLパイプライン⾼高速化 •  20年年以上の株データ⾦金金融 医療療 •  ⼈人間の完全なゲノムから病 気の原因となる遺伝⼦子を特 定 •  医療療データセットから Jaccardスコアを計算 ERP •  光学式⽂文字認識識(OCR)と紙幣分 類 •  トレンド分析 •  ドキュメント分類(LDA) •  不不正分析データ サービ ス 1010 •  オンライン不不正検知 ⾦金金融 医療療 •  敗⾎血症の発⽣生予測 ⼩小売 •  オンラインリコメンドシステム •  リアルタイム在庫管理理 アドテ ク •  リアルタイム広告パフォーマン ス分析
  • 50. ©  Cloudera,  Inc.  All  rights  reserved. まとめ
  • 51. ©  Cloudera,  Inc.  All  rights  reserved. Apache  Spark Speed Easy Streaming
  • 52. ©  Cloudera,  Inc.  All  rights  reserved. どうやって 学習すれば よいの?
  • 53. ©  Cloudera,  Inc.  All  rights  reserved. ⽇日本語版 近⽇日登場! 日本語の書籍も登場! 会場でも販売しています!
  • 54. ©  Cloudera,  Inc.  All  rights  reserved. Clouderaのトレーニング • Apache  Spark  開発者向けトレーニング • Spark  &  Hadoop  開発者向けトレーニング  I  (New) http://cloudera.co.jp/university
  • 55. ©  Cloudera,  Inc.  All  rights  reserved. Spark関連リソース • Sparkを学ぶ • オライリー「初めてのSpark」 • Oʼ’Reilly  Advanced  Analytics  with  Spark  (written  by   Clouderans) • 翔泳社「Apache  Hadoop⼊入⾨門」 • Cloudera  Developer  Blog • 試してみる • Cloudera  Quick  Start  VM  上で  Spark  によるバスケット分析                          http://codezine.jp/article/corner/583
  • 56. ©  Cloudera,  Inc.  All  rights  reserved. Cloudera  Liveで試してみる cloudera.com/live CDH
  • 57. ©  Cloudera,  Inc.  All  rights  reserved. Clouderaに⼊入って⼈人々を⽀支援し、 世界で最も⼤大きな問題の解決に 乗り出しましょう! ⽇日本チームでの募集職種 •  セールス •  セールスエンジニア career-‐‑‒jp@cloudera.com We  are  Hiring!

Editor's Notes

  1. 今日はCloudera World Tokyo 2015にお越しいただきありがとうございます。 このセッションは「Spark 徹底入門」というタイトルで、「Sparkとはどういうものか」について紹介します。 申し遅れましたが、Clouderaの川崎と申します。 この中には以前にお会いした方もいらっしゃいますが、技術トレーニングやHadoopなどの啓蒙活動などをしています。 日本で技術トレーニングを始めて4年ちょっとですが、おそらく、私が日本で一番数多く、HadoopやHBaseのトレーニングを実施しています。 Sparkのトレーニングもやってます。
  2. 午後のセッション、Sparkの人気がかなり高いようですね。 見渡してみると、このセッションも満席です。皆さん、そんなにSparkのどこに興味があるんですか? ・Hadoop使ってる人は? ・Spark使ってる人は? ・どこに興味あるの?速さ?すごそう?はやってる?機械学習?なんとなく?簡単? 私の場合は Hadoop にそれなりに長く関わってきましたが、最初に衝撃を受けたのは
  3. HadoopのMapReduceよりも100倍速い、というところです。 100倍ですよ、100倍。 よくみると、ディスクなら10倍と書かれてますが、それでも爆速ですよね だいたい、100倍っていうと
  4. https://commons.wikimedia.org/wiki/File:Running_wild_elephant_in_Sri_Lanka.JPG http://jp.freepik.com/index.php?goto=41&idd=617504&url=aHR0cDovL3d3dy5zeGMuaHUvcGhvdG8vMTEyMTA2NQ==#&onepasswdfill=F80608A07ACE4264AA2E46724BC371CC http://jp.freepik.com/index.php?goto=41&idd=617504&url=aHR0cDovL3d3dy5zeGMuaHUvcGhvdG8vMTEyMTA2NQ==#&onepasswdfill=F80608A07ACE4264AA2E46724BC371CC こんな感じ?でもよくわからない。 言い換えると
  5. http://jp.freepik.com/index.php?goto=41&idd=617504&url=aHR0cDovL3d3dy5zeGMuaHUvcGhvdG8vMTEyMTA2NQ==#&onepasswdfill=F80608A07ACE4264AA2E46724BC371CC これだけみると、Sparkに乗り換えようと思うのが心理ですかね。遅い方がいいってこともたまにはあるかもしれませんが、
  6. あっ
  7. ともあれ、100倍速いってのはかなりインパクトがあります。 しかし、何が速いのかを知るためには、HadoopのMapReduceを知らなければなりません この「速い」というところを軸に、まずはSpark/MapReduceとはどんなものなのかを見ていきましょう。
  8. まず Apache Sparkですが、汎用的なクラスタ計算システムです。ストレージは持っていません。 HDFSのようなストレージに貯めてあるデータを大規模に分散して処理することができます。
  9. https://en.wikipedia.org/wiki/Global_Access_Point 分散処理というと、たくさんのサーバーを使って処理をするということです。 Sparkは1台でも実行できますが、通常は大規模に分散して実行します。 分散処理をする場合、MapReduceという概念があります。
  10. Hadoopを知っている方はMapReduceをご存知ですね。 たくさんのサーバーでMapという並列分散処理を行い、それぞれ計算した結果をReduce処理で集約します MapReduceの主な利点: データの局所性: 自動的に計算処理を分けてMapperを適切に開始 フォールトトレランス: 中間結果を書き出してMapperが再実行できることが、コモディティハードウェアで実行できる機能を意味している 線形なスケーラビリティ:問題に対して一般的に拡張できる解決を記述するために、開発者に局所性とプログラミングモデルの組み合わせ強要する
  11. MapReduceの主な利点: データの局所性: 自動的に計算処理を分けてMapperを適切に開始 フォールトトレランス: 中間結果を書き出してMapperが再実行できることが、コモディティハードウェアで実行できる機能を意味している 線形なスケーラビリティ:問題に対して一般的に拡張できる解決を記述するために、開発者に局所性とプログラミングモデルの組み合わせ強要する
  12. https://en.wikipedia.org/wiki/Global_Access_Point
  13. https://en.wikipedia.org/wiki/Global_Access_Point
  14. http://jp.freepik.com/index.php?goto=41&idd=617504&url=aHR0cDovL3d3dy5zeGMuaHUvcGhvdG8vMTEyMTA2NQ==#&onepasswdfill=F80608A07ACE4264AA2E46724BC371CC では、なぜHadoop MapReduceよりも100倍も速いのでしょうか? ここではHadoop MapReduceとSparkとを比較していきます。 まずは速度から。
  15. MapReduceの主な利点: データの局所性: 自動的に計算処理を分けてMapperを適切に開始 フォールトトレランス: 中間結果を書き出してMapperが再実行できることが、コモディティハードウェアで実行できる機能を意味している 線形なスケーラビリティ:問題に対して一般的に拡張できる解決を記述するために、開発者に局所性とプログラミングモデルの組み合わせ強要する
  16. Hadoop MapReduceは単純な処理しかできません。SparkはHadoop MapReduceよりも複雑な処理を行うことができます。 言い換えれば、複雑なことをやるために、Hadoopではこれを何回も行う必要があるということです。
  17. These are typical examples of the type of things you’d like to be able to do ただ、この図は若干微妙。SparkはReduce処理の際に
  18. These are typical examples of the type of things you’d like to be able to do
  19. Historically, a Hadoop node has been 64 GB of RAM for 24 TB of disk. Now, a hadoop node tends to have 256 GB RAM for the same 24TB disk. We expect this to quadruple in the next 3 years to 1 TB RAM for 24 TB disks. Which is a HUGE increase in ratio - 20x improvement.  Thus, engineering systems to work with lots of RAM is important. Spark is one such example, but so is Impala. In fact, we are focusing on making sure all our systems are capable of leveraging RAM effectively. 
  20. Caching Data is a Big Win Avoid re-reading data Most of Spark’s speed advantage MapRecuce: 毎回110秒 Spark: 1回目:80秒 以降はキャッシュを使うことで1秒
  21. Caching Data is a Big Win Avoid re-reading data Most of Spark’s speed advantage MapRecuce: 毎回110秒 Spark: 1回目:80秒 以降はキャッシュを使うことで1秒
  22. Caching Data is a Big Win Avoid re-reading data Most of Spark’s speed advantage MapRecuce: 毎回110秒 Spark: 1回目:80秒 以降はキャッシュを使うことで1秒 30回だと3400秒 vs 110秒
  23. Caching Data is a Big Win Avoid re-reading data Most of Spark’s speed advantage
  24. コードを最小化するために、クロージャ、繰り返し、その他の言語の概念を使用 MapReduceと比較して2-5倍コードを削減
  25. データサイエンティストのためのインタラクティブなデータ探索 「アプリケーション」を開発する必要がない 開発者は実際のシステムでアプリケーションのプロトタイピングができる
  26. Interactive exploration of data for data scientists – no need to develop “applications” Developers can prototype application on live system as they build application
  27. コードを最小化するために、クロージャ、繰り返し、その他の言語の概念を使用 MapReduceと比較して2-5倍コードを削減
  28. 分散されたフォールトトレランスなキャッシュにデータを保存するメモリキャッシング層 データセットがメモリ領域より大きい場合はディスクに戻すことができる 安定したストレージにあるデータに対する並列変換処理によって生成 「リネージ」のコンセプトを通してフォールトトレランスを提供
  29. END BUILD – the magic. 5. “count” is an action (note the red triangle!), meaning that it actually processes the data in the RDD and returns a value to the calling program (the driver). At the point that the operation is performed on the last RDD, Spark will recursively process each RDD and its parent. countはアクション。アクションでRDDにあるデータを処理して呼び出したプログラム(ドライバ)に返す この時点で操作は最後のRDDで行われ、Sparkは各RDDを処理して親に再帰的に処理する We’ll talk more later about this concept of “lineage”. The important point here is that nothing actually *happens* until that final call.リネージのコンセプトは後述。ここでの重要なポイントは最後の呼び出しまで何も起こらないってこと。 Also worth mentioning: this data is not cached by default! if you call count again, it will re-execute all three transformations. Caching is covered later, but it might be worth pointing out that the picture is misleading in that it implies that the RDDs stay populated after the call, which isn’t the case.  伝えておく価値のあること。データはデフォルトではキャッシュされない!もう一度カウントを呼び出すと、3つの変換が再実行される。キャッシュは後述するが重要。絵はわかりにくいが実行後には残ってないので注意
  30. Mllib Sparkの機械学習(ML)ライブラリ 目的 実用的な機械学習をスケーラブルおよび簡単にすること MLlibとは Sparkのスケール可能な機械学習ライブラリ 一般的な機械学習アルゴリズムとユーティリティからなる
  31. What is it? Run continuous processing of data using Spark’s core API Extends Spark RDDs to DStreams (Discretized Streams) Fault-tolerant, transformable streams Re-use existing code for batch/offline processing Adds “rolling window” operations Example: Compute rolling averages or counts for data over last five minutes Common Use Cases: “On-the-fly” ETL as data is ingested into Hadoop/HDFS Detect anomalous behavior and trigger alerts Continuous reporting of summary metrics for incoming data
  32. Item 1: Standard question related to big data problem Item 2: Bigger question enabled by Enterprise Data Hub Item 3: Direct benefit of Cloudera’s platform Link to account record in SFDC (valid for Cloudera employees only): https://na6.salesforce.com/0018000000tdY3k?srPos=0&srKp=001 Cerner saves lives with Big Data analytics that predict patient conditions. Background: Cerner, a longtime leader in the healthcare IT space, is in the midst of an evolution. Today, its solutions and services are utilized in over 14,000 medical facilities around the world, such as hospitals, integrated delivery networks, ambulatory offices, and physicians’ offices. But Cerner’s goal is to deliver more than software and solutions. The company is expanding its historical focus on electronic medical records (EMR) to help improve health and care across the board. Cerner aims to bring together the world's healthcare data in order to reduce costs and increase efficiency of delivering healthcare, while improving patient outcomes. Challenge: When the Cerner team set out to build this unified healthcare data platform, they established a few key objectives. It would need to be: Capable of bringing together all of the world’s health data Secure, traceable, and audited Catalogued and explorable Usable for any need at any time   Most tools available at the time weren't really a great fit for the magnitude or complexity of the global healthcare data challenge Cerner was trying to address. They started out just building search indexes for medical records, but even that required huge amounts of computational power. Cerner needed  an achievable way to throw significant CPU power at a very large dataset without compromising agility. They needed to be able to iterate quickly on search processing algorithms. Solution: Cerner has built an enterprise data hub on Cloudera that contains more than 2 PB of data in a multi-tenant environment, supporting several hundred clients. Cloudera Manager provides a holistic view of multiple clusters. The platform ingests different EMRs, HL7 feeds, Health Information Exchange information, claims data, and custom extracts from a variety of proprietary or client-owned data sources, uses Apache Kafka to ingest real-time data streams, and then pushes data to the appropriate HBase or HDFS cluster using Apache Storm.   Data moves from Cloudera to Cerner’s HP Vertica data marts via bulk loads, giving data scientists, SAP Business Objects users, and SAS users the ability to interact with Hadoop data for broad reporting and analysis using tools they’re familiar with. This helps them understand the most significant risks and opportunities for improvement across a population of people. Cerner is starting to use SAS on Hadoop for deep data science. In the healthcare space especially, a technical solution must provide a mechanism for threat mitigation in order to be considered a viable data management technology. Cloudera advised Cerner’s approach to encrypting data at rest and on its Kerberos integration, and Cerner is actively evaluating tools like Apache Sentry to complement what the team has already built.   Results: What’s unique about Cerner’s EDH is that it brings together data from an almost unlimited number of sources, and that data can be used to build a far more complete picture of any patient, condition, or trend. For example, using SAS on Hadoop is giving Cerner the ability to predict the probability of a discharged patient being re-admitted for the same or a similar condition. Using the same strategy, Cerner can accurately determine the probability that a person has a bloodstream infection. Its clients are reporting that the new system has actually saved hundreds of lives by being able to predict if a patient is septic more effectively than they could before.  
  33. そういった
  34. 他の記事 http://www.datanami.com/2015/09/24/cutting-spark-an-all-around-win-for-hadoop/
  35. 他の記事 http://www.datanami.com/2015/09/24/cutting-spark-an-all-around-win-for-hadoop/
  36. 特別な目的のエンジンによりSparkを補完する
  37. Modules Spark Core (batch processing) Spark Streaming (stream processing) MLlib (machine learning) GraphX (graph processing - Alpha)
  38. Not just bundling another component
  39. Cloudera Spark Committers: 4 Intel (our close partner): 1 Hortonworks: 1 IBM: 0 MapR: 0 8 full-time engineers working on Spark Contributed over 370 patches and 43,000 lines of code to Spark Compare to Hortonworks (4), IBM (12), and MapR (1)
  40. そういった