SlideShare uma empresa Scribd logo
1 de 33
1Copyright © 2014 NTT DATA Corporation
NTTデータ 基盤システム事業本部
OSSプロフェッショナルサービス
土橋 昌
Apache Sparkが描く大規模インメモリ処理の世界
~数百台のSparkクラスタを動かしたNTTデータの現場より~
2Copyright © 2014 NTT DATA Corporation
自己紹介
 所属/氏名
 基盤システム事業本部 OSSプロフェッショナルサービス
 土橋昌(どばし まさる)
 お仕事
 OSSを使ったR&Dやシステム開発に携わっています
 6年ほどHadoop関連のR&Dやシステム開発に関わってきました
 近年はHadoopから派生して、ストリーム分散処理やインメモリ分散処理にも携わっています
 最近の講演など
 Spark Summit 2014 @サンフランシスコ
 Hadoop Conference Japan 2014
 日経BP IT PRO、日経コンピュータの記事など
• http://itpro.nikkeibp.co.jp/atcl/column/14/081900045/?TOC=1&ST=bigdata
• http://www.nikkeibp.co.jp/article/news/20140828/413029/?rt=nocnt
• http://itpro.nikkeibp.co.jp/atcl/ncd/14/379228/071600004/
3Copyright © 2014 NTT DATA Corporation
私たちはOSSのプロフェッショナル集団です
 NTTデータ 基盤システム事業本部 OSSプロフェッショナルサービス
 OSSのサポートサービス、構築・運用支援を担当
- 徹底的に検証・評価したOSSの組み合わせ、設定・運用のノウハウの提供
- 高品質なシステム基盤を実現する仕組みの整備
- 幅広いOSSを対象とするプロフェッショナルサービスの提供
- NTT持株会社 OSSセンタとも連携
 平成22年7月 Hadoopの構築・運用ソリューションを提供開始
- http: //www.nttdata.co.jp/release/2010/070101.html
 最近は に関する支援業務が多い
 担当メンバには 「Hadoop徹底入門」、「HADOOP HACKS」 の著者が複数在籍
 平成21年度 産学連携ソフトウェア工学実践事業報告書
高信頼クラウド実現用ソフトウェア開発
(分散制御処理技術等に係るデータセンター高信頼化に向けた実証事業)
- http: //www.meti.go.jp/policy/mono_info_service/joho/downloadfiles/2010software_research/clou_dist_software.pdf
4Copyright © 2014 NTT DATA Corporation
本日のお伝えしたいこと
Sparkとは何か?何が嬉しいのか?
Sparkは特徴的なプロダクトです。
特徴的なプロダクトを活かしきるには、
何を押さえておけばよいのか?
5Copyright © 2014 NTT DATA Corporation
特徴的なプロダクトを活かすために大切なこと
プロダクトの背景を知り、
アーキテクチャを知り、実際の挙動を知る
その上でプロダクトの「得意分野」を活かす
Copyright © 2014 NTT DATA Corporation 6
Sparkの背景
7Copyright © 2014 NTT DATA Corporation
• データ集計・抽出と言った大容量処理だけではなく、純バッチの
高スループット化など大件数処理にも向いている
• データを蓄積、変換するといった使い方でコストパフォーマンスが高い
秒
分
時間
日
Hadoopは大規模データ処理向けの仕組み
デ
ー
タ
の
レ
イ
テ
ン
シ
バッチ処理
リアルタイム処理
データサイズ少ない 多い
オンライン処理
汎用検索
GB(ギガバイト) TB(テラバイト) PB(ペタバイト)
TB(テラバイト)
大容量データ処理
オンバッチ処理
純バッチ処理
大件数データ処理
既存処理の高速化 蓄積・分析
8Copyright © 2014 NTT DATA Corporation
秒
分
時間
日
Hadoopは大規模データ処理向けの仕組み
デ
ー
タ
の
レ
イ
テ
ン
シ
データサイズ
TB(テラバイト)
がもたらしたもの
ディスクを並べてスループットを徹底的に引き出す
=>大規模データ処理を現実的な時間幅に
スケーラビリティ、現実的な運用性
=>並列分散処理を身近なものに
9Copyright © 2014 NTT DATA Corporation
しかし何物にも得意・不得意はある
がすこし苦手だったもの
レイテンシの低さの求められる処理
複雑で繰り返しが多い処理
他にもMapReduceのアプリケーションの書きづらさから、
HiveやPigが生まれた・・・という経緯もあります
10Copyright © 2014 NTT DATA Corporation
しかし何物にも得意・不得意はある
がすこし苦手だったもの
レイテンシの低さの求められる処理
複雑で繰り返しが多い処理
統計処理、機械学習、複雑な業務処理の中には
上記のような類が含まれることがあった
「分散処理が使いものになることが分かった。適用範囲をさらに広げたい」
と思ったからこその課題感
11Copyright © 2014 NTT DATA Corporation
 元データの蓄積と一次的な加工をHadoopが担当、分析を別の仕組みで実行
従来のHadoopを使う現場のよくある利用パターン
Generated
Data
M R
バッチ処理
(MapReduce)
分散ストレージ
(HDFS)
外部システム
分析アプリ
外部システム
データエクスポートの時間が
無視できない
入力 蓄積・処理 分析
大量の分析結果を
保存する場所に困る
ストレージ
12Copyright © 2014 NTT DATA Corporation
 HadoopのHDFS内のデータをそのままSparkで読み込んで処理できる
 YARNを使うと、従来の手堅いHadoop MapReduceと新しいSparkを併用できる
HadoopとSparkを組み合わせる利用パターン
Generated
Data
M R
バッチ処理
(MapReduce)
分散ストレージ
(HDFS)
外部システム
インメモリ処理
HDFSに保存された
データをそのまま入力
結果データを
HDFSに保存
入力 蓄積・処理 分析
13Copyright © 2014 NTT DATA Corporation
データ処理に関するOSSの特徴比較の例
バッチ処理では間に合わないような
速報値を必要とするケースで、かつ1
台のサーバでは処理できない量の
データに対応する必要があるケース
でStormを採用する
Storm
ストリーム並列処理基盤
Hadoop
バッチ並列処理基盤
Spark
インメモリ並列処理基盤
PostgreSQL
RDBMS
単体で少量のレコードを
処理・管理
オンディスク
インメモリ
蓄積してバッチ処理
蓄積せずにメッセージ処理
単体処理
分散処理
マイクロバッチ
イベント駆動処理
並列分散処理
分散して大量蓄積、
大量処理が得意
OSSは各々の得意分野を活かして使うのが良い
14Copyright © 2014 NTT DATA Corporation
データ処理に関するOSSの特徴比較の例
バッチ処理では間に合わないような
速報値を必要とするケースで、かつ1
台のサーバでは処理できない量の
データに対応する必要があるケース
でStormを採用する
Storm
ストリーム並列処理基盤
Hadoop
バッチ並列処理基盤
Spark
インメモリ並列処理基盤
PostgreSQL
RDBMS
単体で少量のレコードを
処理・管理
オンディスク
インメモリ
蓄積してバッチ処理
蓄積せずにメッセージ処理
単体処理
分散処理
マイクロバッチ
イベント駆動処理
並列分散処理
分散して大量蓄積、
大量処理が得意
ユーザアカウント情報の管理
(1サーバで扱えて、厳密性を要
求される情報を管理する) ユーザ行動の即時処理
異常行動の検知
ユーザのページ遷移や行動履歴の分析
インタラクティブなデータ処理
例えば「ユーザ情報」という枠で考えると…
データクレンジング
蓄積データの全件処理
大規模データの結合・非正規化
Copyright © 2014 NTT DATA Corporation 15
Sparkのポイント
16Copyright © 2014 NTT DATA Corporation
Sparkの特徴を説明する上で外せないポイント
ポイント1 Sparkは柔軟な分散処理基盤
ポイント2 データをうまく扱うための抽象化の仕組み
ポイント3 コアを中心に成り立つエコシステム
「メモリを使って処理をする」というコンセプトが大前提
17Copyright © 2014 NTT DATA Corporation
 クライアントからSparkアプリケーションを走らせると、
分散処理の内容が転送されてスレーブノード群で実行される
 インタラクティブなシェルも付属していて、手元で動かしているような
使い勝手でドリルダウン分析を実施できる
 手元のテスト環境で試行錯誤しつつ、本番クラスタに接続しなおして
同じ処理を実行するような使い方が可能
ポイント1:Sparkは柔軟な分散処理基盤
マスタ
スレーブノード群
クライアント
scala> val file = spark.textFile("hdfs://...")
scala> val counts = file.flatMap(line => line.split(" "))
.map(word => (word, 1))
.reduceByKey(_ + _)
scala> counts.saveAsTextFile("hdfs://...")
メモリ
ディスク
主にメモリ上で処理されつつ、
必要に応じてディスクが使われる
シェル実行の例
18Copyright © 2014 NTT DATA Corporation
 分散したデータをコレクション(データ配列)のように扱える
RDD(Resilient Distributed Dataset)
 RDDを変換する流れを実装することで、様々なデータ処理を表現する
 中間データをできるだけ生成せずに、各サーバで処理できることをまとめて実行
 データをレプリケートしないことで最低限のIO
 繰り返し使うデータをメモリに置くキャッシュ機能
 何らかの理由で失われたデータを再び利用する場合は再生成する
 元データとRDD変換の流れをもとに再生成
ポイント2:データをうまく扱うための抽象化の仕組み
「抽象化」、「割り切り」の方針がうまい
これがSparkエコシステムの充実につながっている
個人的には・・・
19Copyright © 2014 NTT DATA Corporation
(補足)Hadoop MapReduceとの違い
M M RM R M
Map処理 Reduce処理
HDFSに書き出し
HDFSから読み出し
従来のHadoopではMapReduceの単位で処理を表現
RDD RDD RDD Stage Stage
データ変換(フィルター、フォーマット変換など)
SparkではRDD(Resilient Distributed Dataset)の変換で処理を表現
ジョブ
コレクションのように扱える
データセットの定義
(1)ユーザがRDDの変換の流れを定義 (2)Sparkが処理をまとめこんで実行
データ通信せずに
処理できるタスクの単位で実行
シャッフル
HDFSに書き出し
HDFSから読み出し
HDFSに書き出し
HDFSから読み出し
中間データは
HDFS(3冗長)ではなく
ローカルで保持
20Copyright © 2014 NTT DATA Corporation
ポイント3:コアを中心に成り立つエコシステム
Apache Spark(コア)
Spark SQL
Spark
Streaming
MLlib GraphX
Sparkアプリ内で
SQL/HQLを
利用できる
ストリーム処理を
マイクロバッチ方式で実現
Sparkアプリ内で
機械学習を
利用できる
Sparkアプリ内で
グラフ処理を
利用できる
Scala、Java、Pythonで分散処理を記述できる
コアやライブラリを組み合わせて利用することができる
21Copyright © 2014 NTT DATA Corporation
 データセットの抽象化の仕組み(RDD)と使いやすいAPIのおかげで、それを活用したラ
イブラリが活発に開発される状況ができている
 オープンな開発状況もそれに一役買っていると考えられる
(補足)エコシステムが目覚ましく発展する理由
オープンで使いやすいコア
(RDD・API)
便利なライブラリの活発な開発
(Spark SQL・MLlib・Spark Streaming・GraphX)
ライブラリの組み合わせも可能
(Spark SQL+MLlib、MLlib+Spark Streamingなど)
Hadoopはエコシステムを含めて開発者、利用者を増やして成功した
Sparkもオープンな活動を続けており良いサイクルができつつあるように見える
22Copyright © 2014 NTT DATA Corporation
 Spark Summit 2014で紹介されていた事例
 Sparkコアで開発する場合も、各ライブラリを使う場合もある
Sparkエコシステム活用の例
引用元: Spark and Shark Bridges the Gap Between BI and Machine Learning at Yahoo! Taiwan
Yahoo! Taiwanのポータルサイトにおける利用
トラフィック/トランザクションログを利用した
BI(レポーティング)と機械学習(レコメンデーション)
の処理にSparkを導入
Ooyalaのストリーム処理への利用
ビデオ配信に関するアクセスログの
SparkStreamingによる分析を実施
引用元: Productionizing a 24/7 Spark Streaming Service on YARN (OOYALA)
Copyright © 2014 NTT DATA Corporation 23
Sparkを使いきるための勘所
24Copyright © 2014 NTT DATA Corporation
 背景や開発状況から特徴を押さえること
 実際の動作を踏まえた勘所を押さえること
Sparkのようなプロダクトを扱うときのコツは?
プロダクトB
プロダクトA
プロダクトC
プロダクトの特徴は、往々にして「できる/できない」ではなく、「得意/不得意」である
プロダクトの特徴と業務要件、
特に将来像を照らし合わせる
得意分野を活かせるように
場合によっては組み合わせる
特徴の重なり領域での動作が気になることが多い
得意分野と適用範囲の重なりイメージ
25Copyright © 2014 NTT DATA Corporation
 これまでの「Hadoopのシステム開発経験」と「Sparkのアーキテクチャ面
の特徴」から、Sparkは幅広い業務に対応し、データ分析基盤の一角を
担えるようになるはずだ、と考えた
 Spark1.0.2の段階で特に以下の点に着目し、数千コアのYARNクラス
タなどで確かめてきました
Hadoopのプロから見て「確かめたかったこと」
機械学習以外の並列分散処理にも十分使える?
メモリサイズを超えるようなデータの取り扱いは?
アプリケーション実装における使い勝手は?
26Copyright © 2014 NTT DATA Corporation
機械学習以外の並列分散処理にも十分使える?
WordCount(基本的な集計)の処理時間 大規模シャッフル時の処理時間
「機械学習・統計処理に強い」イメージだが、
基本的な処理にも当然対応
様々な業務処理の基本的な処理は現実的な数十GB~数十TBオーダで動作(Spark1.0.2)
Spark1.1.0になり、sort-based shuffleが導入された。分散処理の鬼門となるデータ交換に
関する改善活動が活発になっており期待が高い。(主に大規模な計算を対象とした改善)
27Copyright © 2014 NTT DATA Corporation
メモリサイズを超えるようなデータの取り扱いは?
データをメモリに蓄積しない処理は順次処理される
メモリに蓄積するキャッシュ機能は柔軟に機能した
WordCount(基本的な集計)の処理時間
総ヒープサイズ
ロジスティック回帰(簡易版)の実行時間
キャッシュに載りきら
ないときも動作
バージョンが上がるごとに改善されているが、数十TBのデータを処理するときは
パラメータチューニングが必要だった
キャッシュを活用するときには、オブジェクトのサイズに注意。キャッシュに載せるデータは
シンプルな構造を推奨
28Copyright © 2014 NTT DATA Corporation
アプリケーション実装における使い勝手は?
データ処理やデータ分析の面では使いやすい印象
Sparkコアの上に成り立つライブラリは気軽に始めやすい
val file = spark.textFile("hdfs://...")
val errors = file.filter(line => line.contains("ERROR"))
val cnt = errors.count()
Scalaで書かれたログのフィルタリングと集計の例
他にもJava、Python、SQL(HiveQL)で記述可能
Sparkでデータ処理/分析する流れの一例
Hadoop HDFSにデータを取り込み
Sparkシェルを用いてインタラクティブに処理しながらデータ処理の流れを決定
場合によってMLlib(統計処理、機械学習ライブラリ)などを利用
アプリケーションとしてバッチ処理化
Copyright © 2014 NTT DATA Corporation 29
まとめにかえて
30Copyright © 2014 NTT DATA Corporation
特徴をつかんで得意分野を活かすべし
 Hadoopのプロの目から見て、Sparkは「抽象化」と「割り切り」の方針がうまい
 Sparkは、「オープンな開発状況」、「利用しやすいコア(RDDとAPI)」、「強力なライブラ
リ群」に牽引されて利用が広がり、注目を集めるようになってきた
 魅力的な機能が揃いつつあるが、「動かす」を超えて「活かす」ためには、背景やアー
キテクチャから見た特徴(得意/不得意)を押さえておくことが大切
場合によっては、いくつかのOSSを組み合わせるのがよい
Storm
Hadoop
Spark
PostgreSQL
31Copyright © 2014 NTT DATA Corporation
2015年1月26日(月)にセミナーを開催します
Copyright © 2011 NTT DATA Corporation
Copyright © 2014 NTT DATA Corporation
お問い合わせ先:
株式会社NTTデータ 基盤システム事業本部
OSSプロフェッショナルサービス
URL: http://oss.nttdata.co.jp/hadoop
メール: hadoop@kits.nttdata.co.jp TEL: 050-5546-2496
33Copyright © 2014 NTT DATA Corporation
Spark動作環境の一例
10G NW
with core switch
CentOS6.5
HDFS & YARN(CDH5.0.1)
Spark 1.0.0
ソフトウェアスタック
• 物理2000 コア over
• 10TB+ RAM
10G NW with top of rack switch
項目 値
CPU E5-2620 6 core x 2 socket
Memory 64GB 1.3GHz
NW interface 10GBase-T x 2 port (bonding)
Disk 3TB SATA 6Gb 7200rpm
ハードウェアスペック
クラスタサイズ
数TB級のデータを
扱うためのYARN環境

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
 
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
 
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
 
並列分散処理基盤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 ...
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
 
Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -
Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -
Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -
 
Apache spark 2.3 and beyond
Apache spark 2.3 and beyondApache spark 2.3 and beyond
Apache spark 2.3 and beyond
 
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
 
Spark SQL - The internal -
Spark SQL - The internal -Spark SQL - The internal -
Spark SQL - The internal -
 
Apache Sparkの紹介
Apache Sparkの紹介Apache Sparkの紹介
Apache Sparkの紹介
 
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...
 
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
 
CXL_説明_公開用.pdf
CXL_説明_公開用.pdfCXL_説明_公開用.pdf
CXL_説明_公開用.pdf
 
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
 
perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)
 
Marp Tutorial
Marp TutorialMarp Tutorial
Marp Tutorial
 
Kafka・Storm・ZooKeeperの認証と認可について #kafkajp
Kafka・Storm・ZooKeeperの認証と認可について #kafkajpKafka・Storm・ZooKeeperの認証と認可について #kafkajp
Kafka・Storm・ZooKeeperの認証と認可について #kafkajp
 

Destaque

ER DIAGRAM TO RELATIONAL SCHEMA MAPPING
ER DIAGRAM TO RELATIONAL SCHEMA MAPPING ER DIAGRAM TO RELATIONAL SCHEMA MAPPING
ER DIAGRAM TO RELATIONAL SCHEMA MAPPING
ARADHYAYANA
 

Destaque (10)

Spark MLlibではじめるスケーラブルな機械学習
Spark MLlibではじめるスケーラブルな機械学習Spark MLlibではじめるスケーラブルな機械学習
Spark MLlibではじめるスケーラブルな機械学習
 
Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)
 
Hadoop2.6の最新機能+
Hadoop2.6の最新機能+Hadoop2.6の最新機能+
Hadoop2.6の最新機能+
 
HTrace: Tracing in HBase and HDFS (HBase Meetup)
HTrace: Tracing in HBase and HDFS (HBase Meetup)HTrace: Tracing in HBase and HDFS (HBase Meetup)
HTrace: Tracing in HBase and HDFS (HBase Meetup)
 
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
 
Hadoop ecosystem NTTDATA osc15tk
Hadoop ecosystem NTTDATA osc15tkHadoop ecosystem NTTDATA osc15tk
Hadoop ecosystem NTTDATA osc15tk
 
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
 
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
 
ER DIAGRAM TO RELATIONAL SCHEMA MAPPING
ER DIAGRAM TO RELATIONAL SCHEMA MAPPING ER DIAGRAM TO RELATIONAL SCHEMA MAPPING
ER DIAGRAM TO RELATIONAL SCHEMA MAPPING
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
 

Semelhante a Apache Spark 1000 nodes NTT DATA

【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
Developers Summit
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
Recruit Technologies
 

Semelhante a Apache Spark 1000 nodes NTT DATA (20)

Introduction to Hadoop and Spark (before joining the other talk) and An Overv...
Introduction to Hadoop and Spark (before joining the other talk) and An Overv...Introduction to Hadoop and Spark (before joining the other talk) and An Overv...
Introduction to Hadoop and Spark (before joining the other talk) and An Overv...
 
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
 
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
 
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
 
20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのspark20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのspark
 
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
 
分散処理基盤Apache Hadoopの現状と、NTTデータのHadoopに対する取り組み
分散処理基盤Apache Hadoopの現状と、NTTデータのHadoopに対する取り組み分散処理基盤Apache Hadoopの現状と、NTTデータのHadoopに対する取り組み
分散処理基盤Apache Hadoopの現状と、NTTデータのHadoopに対する取り組み
 
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 処理基盤~
 
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
 
MapReduce/YARNの仕組みを知る
MapReduce/YARNの仕組みを知るMapReduce/YARNの仕組みを知る
MapReduce/YARNの仕組みを知る
 
OSC2012 Tokyo/Spring - Hadoop入門
OSC2012 Tokyo/Spring - Hadoop入門OSC2012 Tokyo/Spring - Hadoop入門
OSC2012 Tokyo/Spring - Hadoop入門
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
 
Beginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning HadoopBeginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning Hadoop
 
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
 
Hadoop, NoSQL, GlusterFSの概要
Hadoop, NoSQL, GlusterFSの概要Hadoop, NoSQL, GlusterFSの概要
Hadoop, NoSQL, GlusterFSの概要
 
Hadoop scr第7回 hw2011フィードバック
Hadoop scr第7回 hw2011フィードバックHadoop scr第7回 hw2011フィードバック
Hadoop scr第7回 hw2011フィードバック
 
Deep Learning On Apache Spark
Deep Learning On Apache SparkDeep Learning On Apache Spark
Deep Learning On Apache Spark
 
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか by 日本ヒューレット・パッカード株式会社 後藤宏
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか  by 日本ヒューレット・パッカード株式会社 後藤宏[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか  by 日本ヒューレット・パッカード株式会社 後藤宏
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか by 日本ヒューレット・パッカード株式会社 後藤宏
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 

Mais de NTT DATA OSS Professional Services

Mais de NTT DATA OSS Professional Services (20)

Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
Hadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返りHadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返り
 
HDFS Router-based federation
HDFS Router-based federationHDFS Router-based federation
HDFS Router-based federation
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
 
Distributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystemDistributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystem
 
Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?
 
Apache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development statusApache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development status
 
HDFS basics from API perspective
HDFS basics from API perspectiveHDFS basics from API perspective
HDFS basics from API perspective
 
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
 
20170303 java9 hadoop
20170303 java9 hadoop20170303 java9 hadoop
20170303 java9 hadoop
 
ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)
 
Application of postgre sql to large social infrastructure jp
Application of postgre sql to large social infrastructure jpApplication of postgre sql to large social infrastructure jp
Application of postgre sql to large social infrastructure jp
 
Application of postgre sql to large social infrastructure
Application of postgre sql to large social infrastructureApplication of postgre sql to large social infrastructure
Application of postgre sql to large social infrastructure
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと
 
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
 
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
 
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
 
本当にあったHadoopの恐い話 Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...
本当にあったHadoopの恐い話Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...本当にあったHadoopの恐い話Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...
本当にあったHadoopの恐い話 Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...
 
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
 

Último

Último (12)

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

Apache Spark 1000 nodes NTT DATA

  • 1. 1Copyright © 2014 NTT DATA Corporation NTTデータ 基盤システム事業本部 OSSプロフェッショナルサービス 土橋 昌 Apache Sparkが描く大規模インメモリ処理の世界 ~数百台のSparkクラスタを動かしたNTTデータの現場より~
  • 2. 2Copyright © 2014 NTT DATA Corporation 自己紹介  所属/氏名  基盤システム事業本部 OSSプロフェッショナルサービス  土橋昌(どばし まさる)  お仕事  OSSを使ったR&Dやシステム開発に携わっています  6年ほどHadoop関連のR&Dやシステム開発に関わってきました  近年はHadoopから派生して、ストリーム分散処理やインメモリ分散処理にも携わっています  最近の講演など  Spark Summit 2014 @サンフランシスコ  Hadoop Conference Japan 2014  日経BP IT PRO、日経コンピュータの記事など • http://itpro.nikkeibp.co.jp/atcl/column/14/081900045/?TOC=1&ST=bigdata • http://www.nikkeibp.co.jp/article/news/20140828/413029/?rt=nocnt • http://itpro.nikkeibp.co.jp/atcl/ncd/14/379228/071600004/
  • 3. 3Copyright © 2014 NTT DATA Corporation 私たちはOSSのプロフェッショナル集団です  NTTデータ 基盤システム事業本部 OSSプロフェッショナルサービス  OSSのサポートサービス、構築・運用支援を担当 - 徹底的に検証・評価したOSSの組み合わせ、設定・運用のノウハウの提供 - 高品質なシステム基盤を実現する仕組みの整備 - 幅広いOSSを対象とするプロフェッショナルサービスの提供 - NTT持株会社 OSSセンタとも連携  平成22年7月 Hadoopの構築・運用ソリューションを提供開始 - http: //www.nttdata.co.jp/release/2010/070101.html  最近は に関する支援業務が多い  担当メンバには 「Hadoop徹底入門」、「HADOOP HACKS」 の著者が複数在籍  平成21年度 産学連携ソフトウェア工学実践事業報告書 高信頼クラウド実現用ソフトウェア開発 (分散制御処理技術等に係るデータセンター高信頼化に向けた実証事業) - http: //www.meti.go.jp/policy/mono_info_service/joho/downloadfiles/2010software_research/clou_dist_software.pdf
  • 4. 4Copyright © 2014 NTT DATA Corporation 本日のお伝えしたいこと Sparkとは何か?何が嬉しいのか? Sparkは特徴的なプロダクトです。 特徴的なプロダクトを活かしきるには、 何を押さえておけばよいのか?
  • 5. 5Copyright © 2014 NTT DATA Corporation 特徴的なプロダクトを活かすために大切なこと プロダクトの背景を知り、 アーキテクチャを知り、実際の挙動を知る その上でプロダクトの「得意分野」を活かす
  • 6. Copyright © 2014 NTT DATA Corporation 6 Sparkの背景
  • 7. 7Copyright © 2014 NTT DATA Corporation • データ集計・抽出と言った大容量処理だけではなく、純バッチの 高スループット化など大件数処理にも向いている • データを蓄積、変換するといった使い方でコストパフォーマンスが高い 秒 分 時間 日 Hadoopは大規模データ処理向けの仕組み デ ー タ の レ イ テ ン シ バッチ処理 リアルタイム処理 データサイズ少ない 多い オンライン処理 汎用検索 GB(ギガバイト) TB(テラバイト) PB(ペタバイト) TB(テラバイト) 大容量データ処理 オンバッチ処理 純バッチ処理 大件数データ処理 既存処理の高速化 蓄積・分析
  • 8. 8Copyright © 2014 NTT DATA Corporation 秒 分 時間 日 Hadoopは大規模データ処理向けの仕組み デ ー タ の レ イ テ ン シ データサイズ TB(テラバイト) がもたらしたもの ディスクを並べてスループットを徹底的に引き出す =>大規模データ処理を現実的な時間幅に スケーラビリティ、現実的な運用性 =>並列分散処理を身近なものに
  • 9. 9Copyright © 2014 NTT DATA Corporation しかし何物にも得意・不得意はある がすこし苦手だったもの レイテンシの低さの求められる処理 複雑で繰り返しが多い処理 他にもMapReduceのアプリケーションの書きづらさから、 HiveやPigが生まれた・・・という経緯もあります
  • 10. 10Copyright © 2014 NTT DATA Corporation しかし何物にも得意・不得意はある がすこし苦手だったもの レイテンシの低さの求められる処理 複雑で繰り返しが多い処理 統計処理、機械学習、複雑な業務処理の中には 上記のような類が含まれることがあった 「分散処理が使いものになることが分かった。適用範囲をさらに広げたい」 と思ったからこその課題感
  • 11. 11Copyright © 2014 NTT DATA Corporation  元データの蓄積と一次的な加工をHadoopが担当、分析を別の仕組みで実行 従来のHadoopを使う現場のよくある利用パターン Generated Data M R バッチ処理 (MapReduce) 分散ストレージ (HDFS) 外部システム 分析アプリ 外部システム データエクスポートの時間が 無視できない 入力 蓄積・処理 分析 大量の分析結果を 保存する場所に困る ストレージ
  • 12. 12Copyright © 2014 NTT DATA Corporation  HadoopのHDFS内のデータをそのままSparkで読み込んで処理できる  YARNを使うと、従来の手堅いHadoop MapReduceと新しいSparkを併用できる HadoopとSparkを組み合わせる利用パターン Generated Data M R バッチ処理 (MapReduce) 分散ストレージ (HDFS) 外部システム インメモリ処理 HDFSに保存された データをそのまま入力 結果データを HDFSに保存 入力 蓄積・処理 分析
  • 13. 13Copyright © 2014 NTT DATA Corporation データ処理に関するOSSの特徴比較の例 バッチ処理では間に合わないような 速報値を必要とするケースで、かつ1 台のサーバでは処理できない量の データに対応する必要があるケース でStormを採用する Storm ストリーム並列処理基盤 Hadoop バッチ並列処理基盤 Spark インメモリ並列処理基盤 PostgreSQL RDBMS 単体で少量のレコードを 処理・管理 オンディスク インメモリ 蓄積してバッチ処理 蓄積せずにメッセージ処理 単体処理 分散処理 マイクロバッチ イベント駆動処理 並列分散処理 分散して大量蓄積、 大量処理が得意 OSSは各々の得意分野を活かして使うのが良い
  • 14. 14Copyright © 2014 NTT DATA Corporation データ処理に関するOSSの特徴比較の例 バッチ処理では間に合わないような 速報値を必要とするケースで、かつ1 台のサーバでは処理できない量の データに対応する必要があるケース でStormを採用する Storm ストリーム並列処理基盤 Hadoop バッチ並列処理基盤 Spark インメモリ並列処理基盤 PostgreSQL RDBMS 単体で少量のレコードを 処理・管理 オンディスク インメモリ 蓄積してバッチ処理 蓄積せずにメッセージ処理 単体処理 分散処理 マイクロバッチ イベント駆動処理 並列分散処理 分散して大量蓄積、 大量処理が得意 ユーザアカウント情報の管理 (1サーバで扱えて、厳密性を要 求される情報を管理する) ユーザ行動の即時処理 異常行動の検知 ユーザのページ遷移や行動履歴の分析 インタラクティブなデータ処理 例えば「ユーザ情報」という枠で考えると… データクレンジング 蓄積データの全件処理 大規模データの結合・非正規化
  • 15. Copyright © 2014 NTT DATA Corporation 15 Sparkのポイント
  • 16. 16Copyright © 2014 NTT DATA Corporation Sparkの特徴を説明する上で外せないポイント ポイント1 Sparkは柔軟な分散処理基盤 ポイント2 データをうまく扱うための抽象化の仕組み ポイント3 コアを中心に成り立つエコシステム 「メモリを使って処理をする」というコンセプトが大前提
  • 17. 17Copyright © 2014 NTT DATA Corporation  クライアントからSparkアプリケーションを走らせると、 分散処理の内容が転送されてスレーブノード群で実行される  インタラクティブなシェルも付属していて、手元で動かしているような 使い勝手でドリルダウン分析を実施できる  手元のテスト環境で試行錯誤しつつ、本番クラスタに接続しなおして 同じ処理を実行するような使い方が可能 ポイント1:Sparkは柔軟な分散処理基盤 マスタ スレーブノード群 クライアント scala> val file = spark.textFile("hdfs://...") scala> val counts = file.flatMap(line => line.split(" ")) .map(word => (word, 1)) .reduceByKey(_ + _) scala> counts.saveAsTextFile("hdfs://...") メモリ ディスク 主にメモリ上で処理されつつ、 必要に応じてディスクが使われる シェル実行の例
  • 18. 18Copyright © 2014 NTT DATA Corporation  分散したデータをコレクション(データ配列)のように扱える RDD(Resilient Distributed Dataset)  RDDを変換する流れを実装することで、様々なデータ処理を表現する  中間データをできるだけ生成せずに、各サーバで処理できることをまとめて実行  データをレプリケートしないことで最低限のIO  繰り返し使うデータをメモリに置くキャッシュ機能  何らかの理由で失われたデータを再び利用する場合は再生成する  元データとRDD変換の流れをもとに再生成 ポイント2:データをうまく扱うための抽象化の仕組み 「抽象化」、「割り切り」の方針がうまい これがSparkエコシステムの充実につながっている 個人的には・・・
  • 19. 19Copyright © 2014 NTT DATA Corporation (補足)Hadoop MapReduceとの違い M M RM R M Map処理 Reduce処理 HDFSに書き出し HDFSから読み出し 従来のHadoopではMapReduceの単位で処理を表現 RDD RDD RDD Stage Stage データ変換(フィルター、フォーマット変換など) SparkではRDD(Resilient Distributed Dataset)の変換で処理を表現 ジョブ コレクションのように扱える データセットの定義 (1)ユーザがRDDの変換の流れを定義 (2)Sparkが処理をまとめこんで実行 データ通信せずに 処理できるタスクの単位で実行 シャッフル HDFSに書き出し HDFSから読み出し HDFSに書き出し HDFSから読み出し 中間データは HDFS(3冗長)ではなく ローカルで保持
  • 20. 20Copyright © 2014 NTT DATA Corporation ポイント3:コアを中心に成り立つエコシステム Apache Spark(コア) Spark SQL Spark Streaming MLlib GraphX Sparkアプリ内で SQL/HQLを 利用できる ストリーム処理を マイクロバッチ方式で実現 Sparkアプリ内で 機械学習を 利用できる Sparkアプリ内で グラフ処理を 利用できる Scala、Java、Pythonで分散処理を記述できる コアやライブラリを組み合わせて利用することができる
  • 21. 21Copyright © 2014 NTT DATA Corporation  データセットの抽象化の仕組み(RDD)と使いやすいAPIのおかげで、それを活用したラ イブラリが活発に開発される状況ができている  オープンな開発状況もそれに一役買っていると考えられる (補足)エコシステムが目覚ましく発展する理由 オープンで使いやすいコア (RDD・API) 便利なライブラリの活発な開発 (Spark SQL・MLlib・Spark Streaming・GraphX) ライブラリの組み合わせも可能 (Spark SQL+MLlib、MLlib+Spark Streamingなど) Hadoopはエコシステムを含めて開発者、利用者を増やして成功した Sparkもオープンな活動を続けており良いサイクルができつつあるように見える
  • 22. 22Copyright © 2014 NTT DATA Corporation  Spark Summit 2014で紹介されていた事例  Sparkコアで開発する場合も、各ライブラリを使う場合もある Sparkエコシステム活用の例 引用元: Spark and Shark Bridges the Gap Between BI and Machine Learning at Yahoo! Taiwan Yahoo! Taiwanのポータルサイトにおける利用 トラフィック/トランザクションログを利用した BI(レポーティング)と機械学習(レコメンデーション) の処理にSparkを導入 Ooyalaのストリーム処理への利用 ビデオ配信に関するアクセスログの SparkStreamingによる分析を実施 引用元: Productionizing a 24/7 Spark Streaming Service on YARN (OOYALA)
  • 23. Copyright © 2014 NTT DATA Corporation 23 Sparkを使いきるための勘所
  • 24. 24Copyright © 2014 NTT DATA Corporation  背景や開発状況から特徴を押さえること  実際の動作を踏まえた勘所を押さえること Sparkのようなプロダクトを扱うときのコツは? プロダクトB プロダクトA プロダクトC プロダクトの特徴は、往々にして「できる/できない」ではなく、「得意/不得意」である プロダクトの特徴と業務要件、 特に将来像を照らし合わせる 得意分野を活かせるように 場合によっては組み合わせる 特徴の重なり領域での動作が気になることが多い 得意分野と適用範囲の重なりイメージ
  • 25. 25Copyright © 2014 NTT DATA Corporation  これまでの「Hadoopのシステム開発経験」と「Sparkのアーキテクチャ面 の特徴」から、Sparkは幅広い業務に対応し、データ分析基盤の一角を 担えるようになるはずだ、と考えた  Spark1.0.2の段階で特に以下の点に着目し、数千コアのYARNクラス タなどで確かめてきました Hadoopのプロから見て「確かめたかったこと」 機械学習以外の並列分散処理にも十分使える? メモリサイズを超えるようなデータの取り扱いは? アプリケーション実装における使い勝手は?
  • 26. 26Copyright © 2014 NTT DATA Corporation 機械学習以外の並列分散処理にも十分使える? WordCount(基本的な集計)の処理時間 大規模シャッフル時の処理時間 「機械学習・統計処理に強い」イメージだが、 基本的な処理にも当然対応 様々な業務処理の基本的な処理は現実的な数十GB~数十TBオーダで動作(Spark1.0.2) Spark1.1.0になり、sort-based shuffleが導入された。分散処理の鬼門となるデータ交換に 関する改善活動が活発になっており期待が高い。(主に大規模な計算を対象とした改善)
  • 27. 27Copyright © 2014 NTT DATA Corporation メモリサイズを超えるようなデータの取り扱いは? データをメモリに蓄積しない処理は順次処理される メモリに蓄積するキャッシュ機能は柔軟に機能した WordCount(基本的な集計)の処理時間 総ヒープサイズ ロジスティック回帰(簡易版)の実行時間 キャッシュに載りきら ないときも動作 バージョンが上がるごとに改善されているが、数十TBのデータを処理するときは パラメータチューニングが必要だった キャッシュを活用するときには、オブジェクトのサイズに注意。キャッシュに載せるデータは シンプルな構造を推奨
  • 28. 28Copyright © 2014 NTT DATA Corporation アプリケーション実装における使い勝手は? データ処理やデータ分析の面では使いやすい印象 Sparkコアの上に成り立つライブラリは気軽に始めやすい val file = spark.textFile("hdfs://...") val errors = file.filter(line => line.contains("ERROR")) val cnt = errors.count() Scalaで書かれたログのフィルタリングと集計の例 他にもJava、Python、SQL(HiveQL)で記述可能 Sparkでデータ処理/分析する流れの一例 Hadoop HDFSにデータを取り込み Sparkシェルを用いてインタラクティブに処理しながらデータ処理の流れを決定 場合によってMLlib(統計処理、機械学習ライブラリ)などを利用 アプリケーションとしてバッチ処理化
  • 29. Copyright © 2014 NTT DATA Corporation 29 まとめにかえて
  • 30. 30Copyright © 2014 NTT DATA Corporation 特徴をつかんで得意分野を活かすべし  Hadoopのプロの目から見て、Sparkは「抽象化」と「割り切り」の方針がうまい  Sparkは、「オープンな開発状況」、「利用しやすいコア(RDDとAPI)」、「強力なライブラ リ群」に牽引されて利用が広がり、注目を集めるようになってきた  魅力的な機能が揃いつつあるが、「動かす」を超えて「活かす」ためには、背景やアー キテクチャから見た特徴(得意/不得意)を押さえておくことが大切 場合によっては、いくつかのOSSを組み合わせるのがよい Storm Hadoop Spark PostgreSQL
  • 31. 31Copyright © 2014 NTT DATA Corporation 2015年1月26日(月)にセミナーを開催します
  • 32. Copyright © 2011 NTT DATA Corporation Copyright © 2014 NTT DATA Corporation お問い合わせ先: 株式会社NTTデータ 基盤システム事業本部 OSSプロフェッショナルサービス URL: http://oss.nttdata.co.jp/hadoop メール: hadoop@kits.nttdata.co.jp TEL: 050-5546-2496
  • 33. 33Copyright © 2014 NTT DATA Corporation Spark動作環境の一例 10G NW with core switch CentOS6.5 HDFS & YARN(CDH5.0.1) Spark 1.0.0 ソフトウェアスタック • 物理2000 コア over • 10TB+ RAM 10G NW with top of rack switch 項目 値 CPU E5-2620 6 core x 2 socket Memory 64GB 1.3GHz NW interface 10GBase-T x 2 port (bonding) Disk 3TB SATA 6Gb 7200rpm ハードウェアスペック クラスタサイズ 数TB級のデータを 扱うためのYARN環境