SlideShare ist ein Scribd-Unternehmen logo
1 von 26
NTTデータにおける
Apache Spark への取り組み
2014/08/02
(株) NTTデータ 基盤システム事業本部
下垣 徹
オープンソースカンファレンス2014 Kansai@Kyoto
2Copyright © 2013 NTT DATA Corporation
 “The Elephant Wizard”
NTTデータ OSSプロフェッショナルサービス の一員
OSSのRDBMS “PostgreSQL” の開発・導入
大量データの蓄積・処理に “Hadoop”
自己紹介:下垣 徹 (しもがき とおる)
Co-Author
2nd Edition
in Japan
10+ years
Contributor
Ex. pg_bulkload
6+ years
Leads Japanese
Hadoop Community
3Copyright © 2013 NTT DATA Corporation
 Apache Spark とは
 Spark Summit 2014 レポートと Spark の最新動向
 NTTデータにおける Apache Spark への取り組み
アジェンダ
Copyright © 2013 NTT DATA Corporation 4
Apache Spark とは
5Copyright © 2013 NTT DATA Corporation
 大規模データの分散処理をオンメモリで実現する
データ処理してHDDに都度書き出す方式よりも高速
JavaやScalaのコレクション操作のような使い方で
分散処理を実現できる
 大規模データの分散処理ではHadoopが有名だが、
Hadoopとは異なるアイデア・方法でデータ処理を実現する
UCBerkeleyのResilient distributed datasets(RDD)の
論文がおおもと
Sparkとはオンメモリデータ処理の分散処理基盤
Hadoopとよく比較されるが、
アーキテクチャが全く異なる
最新バージョン「Spark 1.0.1」
(2014/7/11 リリース)
メモリ上に分散した
変換処理に適したデータセット
6Copyright © 2013 NTT DATA Corporation
HadoopはディスクIOを並列化してスループット高める
• 集中管理型の分散システム
– 分散処理ジョブやデータの管理は
マスタサーバで実施
– スレーブサーバは、分散処理の
実行やデータの実体を保存
• スレーブサーバを増やすことで、
全体の処理性能を向上させる
スケールアウトアーキテクチャ
Hadoopマスタサーバ
Hadoopクライアント
L2/L3スイッチ
NameNode JobTracker
L2スイッチ
Hadoopスレーブサーバ群
DataNode
TaskTracker
DataNode
TaskTracker
DataNode
TaskTracker
DataNode
TaskTracker
DataNode
TaskTracker
ディスク ディスク ディスク ディスク ディスク
ディスクIOの並列化
レプリケーションによる永続化
7Copyright © 2013 NTT DATA Corporation
 機械学習のような繰り返し処理に MapReduce を適用する上での問題点
 MapReduce の起動に時間がかかる (最低でも 15 秒)
 処理途中でディスクへの書き込みが発生する
- 処理開始時に HDFS からデータを読み込み、処理終了時に HDFS に書き込む
- 中間処理で、処理結果をローカルディスクに書き込む
 Spark ではディスクI/Oを減らすように動作することで高速化を狙う
なぜSparkなのか?
Map
Map
Map
Reduce
Reduce
HDFS HDFS
MapReduceでディスクI/Oが発生する箇所
→ Spark では Shuffle 以外の箇所で発生するディスク I/O を極力起こさないように動作する
Shuffle
8Copyright © 2013 NTT DATA Corporation
Sparkは繰り返し処理を高速に実現
Generated
Data
Output
Output
Data
分散ファイルシステム HDFS
バッチ処理
MapReduce
インメモリ分散処理
Spark
リソース制御:YARN
繰り返し処理にHadoopとSparkを組み合わせるイメージ
大きなデータをMapReduceで加工
データがメモリ上に置かれるため
レスポンスに優れる
Spark内の処理イメージ
データ
同じデータを
繰り返し処理
データ データ データ
変換処理を連続で適用
HDFS上の
データを利用
小処理をつなげて
大処理を実現
メモリ メモリ
9Copyright © 2013 NTT DATA Corporation
 JavaやScalaのコレクション操作のようなメソッドやフレームワークを利用できるため、
JavaやScalaに慣れた技術者にとって、複雑な処理を実装しやすい
 Hadoopを置き換えるものではなく、SparkはHadoopの仕組みも利用する
 利用例
 ログ分析: POSデータ解析、トラヒック解析、M2M、行動履歴、ライフログ長期保存 など
 レコメンド: クリック・ストリーム分析、関係グラフ解析、広告分析 など
 検索: 非構造データの検索、データ抽出
 データマイニング: 取引情報の分析・監査、不整データの抽出など
 機械学習: 大量データのパターン分析、分類など
Sparkは大量データを次々に変換する処理が得意
得意 苦手
 Hadoopで加工した後のドリルダウン分析
 TB級までのデータを扱うシステム
 サンプリングが有効でないロングテールの
データ分析
 数秒~数分級のHadoopよりも短い
レスポンスが必要な処理
 クラスタ全体のメモリに乗り切らない
巨大なデータ処理(TB級以上)
 大きなデータセットを少しずつ更新する処理
 秒以下の特に短いレスポンスが必要な処理
10Copyright © 2013 NTT DATA Corporation
Hadoopなどを含むエコシステムで成り立つ
• Spark : イテレーションや多段MapReduceを効率的に実行するインメモリ分散処理基盤
バッチ処理では間に合わないような
速報値を必要とするケースで、かつ1
台のサーバでは処理できない量の
データに対応する必要があるケース
でStormを採用する
Storm
ストリーム並列処理基盤
Hadoop
バッチ並列処理基盤
Spark
インメモリ並列処理基盤
イテレーションを回したり
ピボット処理を行うようなインメモリで
の処理を必要とする場合、従来は
RDBMSで扱えるデータサイズにまで
減らしてから処理していた
PostgreSQL
RDBMS
Oracle Coherence や SAP HANA の
ような高価な商用製品でしか実現でき
なかったインメモリでの並列分散処理
がIAサーバ+OSSで実現可能になる
1台のサーバによる
少量のレコードに対する処
理・管理 (e.g. インデックス
スキャン、レコード単位の更
新)
複数台サーバによる
大量のデータに対する
蓄積・処理が得意
ディスク上での
データ処理
メモリ上での
データ処理
データを蓄積した上
でバッチ処理
入力される各レコード
に対する逐次処理
1台のサーバ内
での処理
複数台サー
バでの処理
メモリ上で
データを保持し
て処理
データを保持・蓄
積せずに処理
並列分散処理
11Copyright © 2013 NTT DATA Corporation
互いの得意分野が少しずつ異なる
バッチ処理では間に合わないような
速報値を必要とするケースで、かつ1
台のサーバでは処理できない量の
データに対応する必要があるケース
でStormを採用する
Storm
ストリーム並列処理基盤
Hadoop
バッチ並列処理基盤
Spark
インメモリ並列処理基盤
PostgreSQL
RDBMS
1台のサーバによる
少量のレコードに対する処
理・管理 (e.g. インデックス
スキャン、レコード単位の更
新)
複数台サーバによる
大量のデータに対する
蓄積・処理が得意
ディスク上での
データ処理
メモリ上での
データ処理
データを蓄積した上
でバッチ処理
入力される各レコード
に対する逐次処理
1台のサーバ内
での処理
複数台サー
バでの処理
メモリ上で
データを保持し
て処理
データを保持・蓄
積せずに処理
並列分散処理
ユーザアカウント情報の管理
(1サーバで扱えて、厳密性を要
求される情報を管理する) ユーザ行動の即時処理
異常行動の検知
ユーザのページ遷移や行動履歴の分析
インタラクティブなデータ処理
例えば「ユーザ情報」という枠で考えると…
データクレンジング
蓄積データの全件処理
(総メモリに乗り切らない処理)
12Copyright © 2013 NTT DATA Corporation
 Apache Spark をコア機能として、SQL、機械学習、ストリー
ム処理、グラフ処理の各種インターフェースを提供し、Spark
独自のエコシステムを形成
Spark エコシステム
インメモリ分散処理
Apache Spark
SQL
SparkSQL
機械学習
MLLib
ストリーム処理
Spark
Streaming
グラフ
GraphX
13Copyright © 2013 NTT DATA Corporation
 2009年:
 UC Berkley AMPLab にて研究プロジェクトがスタート
 2012年:
 AMP Camp 1
 2013年: 急速に動きが活発化
 6/19 Apache Incubation Project
 8月 AMP Camp 2
 10/27 AMPLab から Databrics 社設立
 12/2 Spark Summit 2013 開催
 2014年:
 3/30 Spark 1.0.0 リリース
 6/30 Spark Summit 2014 開催
 7/11 Spark 1.0.1 リリース
Spark の歴史
Spark Summit 2013 の様子
Copyright © 2013 NTT DATA Corporation 14
Spark Summit 2014 レポートと Spark の最新動向
15Copyright © 2013 NTT DATA Corporation
 今回が2回目の開催となる Spark Summit
 The Westin St. Francis San Francisco on Union Square
 前回の開催が 2013年12月であり、わずか半年後に2回目が開催
 参加者は1000人以上
 前回の400人を大きく上回った。
 受付の行列は非常に長く、カンファレンス開始直前から大混雑であり会場はやや手狭にさ
え感じられた。
Spark Summit 2014
16Copyright © 2013 NTT DATA Corporation
 Apache Software Foundation のプロジェクトの中で Top 3
に入るほど活発
 Spark 独自のエコシステムを形成し、ビッグデータ活用のた
めの標準ライブラリを目指す
Spark の開発状況と方向性
(出典: Spark Summit 2014 keynote)
17Copyright © 2013 NTT DATA Corporation
 前回カンファレンスよりも充実、エコシステムの活用も
Spark の利用事例
企業 概要
Spotify 協調フィルタリングによる音楽のリコメンデーション
Yahoo!Taiwan データ基盤を統合し、BI(レポーティング)と機械学習(レコメ
ンデーション)を統合、Shark や MLlib を活用し、SparkSQL
も利用を検討
Telefonica サイバーセキュリティ対策のためのデータ分析基盤
SKTelecom 商用MPP DBのSparkへの置き換え。SparkStreamingによ
るリアルタイムデータ処理
Ooyala ビデオ配信に関するアクセスログのSparkStreamingによる
分析ビデオ配信に関するアクセスログのSparkStreamingに
よる分析
Copyright © 2013 NTT DATA Corporation 18
NTTデータにおける Apache Spark への取り組み
19Copyright © 2013 NTT DATA Corporation
 既存のHadoopクラスタのリソースを有効活用したい
Hadoopは手堅くスケーラビリティを得られる分散処理基盤とし
て地位が確立されており、継続して活用を続ける
 Hadoop と Spark を適材適所で組み合わせて利用
 Hadoop の動向 → “YARN” にも着目
NTTデータにおける Apache Spark への取り組み
20Copyright © 2013 NTT DATA Corporation
 YARN : 並列分散処理フレームワークからリソース制御のレイヤを切り出した
Hadoopの動向 ~YARNの登場~
分散ファイルシステム
HDFS
バッチ処理
MapReduce
従来のHadoop
分散ファイルシステム
HDFS
バッチ処理
MapReduce
これからのHadoop
リソース制御
YARN
21Copyright © 2013 NTT DATA Corporation
 YARN により単一クラスタ内に複数の分散処理アーキテクチャを同居可能に
Hadoopの動向~YARN上の処理アーキテクチャ~
分散ファイルシステム
HDFS
バッチ処理
MapReduce
リソース制御
YARN
ストリーム処理
Storm
インメモリ分散処理
Spark
・・・・・・
22Copyright © 2013 NTT DATA Corporation
 Spark の活用に加えて YARN の活用もあわせて行う
用途別の複数クラスタやDBMS/MPP-DBMSの並立から、デー
タストアを共有したハイブリッドな統合処理基盤の実現
従来の MapReduce 処理も活かしながら、他の処理基盤の追
加を後から行うことが可能に
NTTデータでの Spark への取り組み
分散ファイルシステム HDFS
バッチ
Map
Reduce
SQL
Hive
リソース管理機構 YARN
インメモリ分散処理
Apache Spark
SQL
SparkSQL
機械学習
MLLib
グラフ
GraphX
ストリーム
Spark
Streaming
23Copyright © 2013 NTT DATA Corporation
 約200台のクラスタの Spark on YARN 環境で検証を実施
 クラスタ全体のメモリサイズを超えるデータ量に対する検証も
大規模な Spark 検証の実施
Spark Summit 2014 / Hadoop Conference Japan 2014
24Copyright © 2013 NTT DATA Corporation
 Sparkへの取り組みを通じて発見した課題を随時コミュニティ
に報告、修正パッチを提供
 リリースマネージャをつとめる Patrick Wendell 氏を交えて、
Spark への希望や改善提案を議論
Spark コミュニティでの活動と主要開発者との意見交換
25Copyright © 2013 NTT DATA Corporation
 Spark はメモリ上で処理を得意とする並列分散処理基盤
Hadoop がディスクI/Oを伴いながら、スケーラビリティを追究し
たのと比較
 Spark エコシステムが充実:SQL、機械学習、ストリーム処理、
グラフ処理のインターフェースを備える
 NTTデータは Spark への取り組みを加速
Spark on YARN
コミュニティと連携しながら運用面での改善を実施
まとめ
Copyright © 2011 NTT DATA Corporation
Copyright © 2013 NTT DATA Corporation
お問い合わせ先:
株式会社NTTデータ 基盤システム事業本部
OSSプロフェッショナルサービス
URL: http://oss.nttdata.co.jp/hadoop
メール: hadoop@kits.nttdata.co.jp TEL: 050-5546-2496

Weitere ähnliche Inhalte

Andere mochten auch

HBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejpHBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejpFwardNetwork
 
Gangliaはじめました
GangliaはじめましたGangliaはじめました
Gangliaはじめましたyuzorock
 
Apache Spark チュートリアル
Apache Spark チュートリアルApache Spark チュートリアル
Apache Spark チュートリアルK Yamaguchi
 
Sparkで始めるお手軽グラフデータ分析
Sparkで始めるお手軽グラフデータ分析Sparkで始めるお手軽グラフデータ分析
Sparkで始めるお手軽グラフデータ分析Nagato Kasaki
 
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群Yu Ishikawa
 
WebDB Forum 2016 gunosy
WebDB Forum 2016 gunosyWebDB Forum 2016 gunosy
WebDB Forum 2016 gunosyHiroaki Kudo
 
AWS初心者向けWebinar AWSとのネットワーク接続入門
AWS初心者向けWebinar AWSとのネットワーク接続入門AWS初心者向けWebinar AWSとのネットワーク接続入門
AWS初心者向けWebinar AWSとのネットワーク接続入門Amazon Web Services Japan
 
Which Is Deeper - Comparison Of Deep Learning Frameworks On Spark
 Which Is Deeper - Comparison Of Deep Learning Frameworks On Spark Which Is Deeper - Comparison Of Deep Learning Frameworks On Spark
Which Is Deeper - Comparison Of Deep Learning Frameworks On SparkSpark Summit
 
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)NTT DATA OSS Professional Services
 
日本のオープンデータプラットフォームをPythonでつくる
日本のオープンデータプラットフォームをPythonでつくる日本のオープンデータプラットフォームをPythonでつくる
日本のオープンデータプラットフォームをPythonでつくるYuta Kashino
 
Kafkaによるリアルタイム処理
Kafkaによるリアルタイム処理Kafkaによるリアルタイム処理
Kafkaによるリアルタイム処理Naoki Yanai
 
(NET406) Deep Dive: AWS Direct Connect and VPNs
(NET406) Deep Dive: AWS Direct Connect and VPNs(NET406) Deep Dive: AWS Direct Connect and VPNs
(NET406) Deep Dive: AWS Direct Connect and VPNsAmazon Web Services
 
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)Satoshi Yamada
 
Scaling Apache Storm - Strata + Hadoop World 2014
Scaling Apache Storm - Strata + Hadoop World 2014Scaling Apache Storm - Strata + Hadoop World 2014
Scaling Apache Storm - Strata + Hadoop World 2014P. Taylor Goetz
 
Storm: distributed and fault-tolerant realtime computation
Storm: distributed and fault-tolerant realtime computationStorm: distributed and fault-tolerant realtime computation
Storm: distributed and fault-tolerant realtime computationnathanmarz
 

Andere mochten auch (20)

HBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejpHBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejp
 
Rrdtool基礎から応用
Rrdtool基礎から応用Rrdtool基礎から応用
Rrdtool基礎から応用
 
Gangliaはじめました
GangliaはじめましたGangliaはじめました
Gangliaはじめました
 
Apache Spark チュートリアル
Apache Spark チュートリアルApache Spark チュートリアル
Apache Spark チュートリアル
 
Sparkで始めるお手軽グラフデータ分析
Sparkで始めるお手軽グラフデータ分析Sparkで始めるお手軽グラフデータ分析
Sparkで始めるお手軽グラフデータ分析
 
Apache Sparkのご紹介 (後半:技術トピック)
Apache Sparkのご紹介 (後半:技術トピック)Apache Sparkのご紹介 (後半:技術トピック)
Apache Sparkのご紹介 (後半:技術トピック)
 
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
 
WebDB Forum 2016 gunosy
WebDB Forum 2016 gunosyWebDB Forum 2016 gunosy
WebDB Forum 2016 gunosy
 
AWS初心者向けWebinar AWSとのネットワーク接続入門
AWS初心者向けWebinar AWSとのネットワーク接続入門AWS初心者向けWebinar AWSとのネットワーク接続入門
AWS初心者向けWebinar AWSとのネットワーク接続入門
 
Which Is Deeper - Comparison Of Deep Learning Frameworks On Spark
 Which Is Deeper - Comparison Of Deep Learning Frameworks On Spark Which Is Deeper - Comparison Of Deep Learning Frameworks On Spark
Which Is Deeper - Comparison Of Deep Learning Frameworks On Spark
 
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
 
AWS Black Belt Techシリーズ Amazon EMR
AWS Black Belt Techシリーズ  Amazon EMRAWS Black Belt Techシリーズ  Amazon EMR
AWS Black Belt Techシリーズ Amazon EMR
 
日本のオープンデータプラットフォームをPythonでつくる
日本のオープンデータプラットフォームをPythonでつくる日本のオープンデータプラットフォームをPythonでつくる
日本のオープンデータプラットフォームをPythonでつくる
 
Kafkaによるリアルタイム処理
Kafkaによるリアルタイム処理Kafkaによるリアルタイム処理
Kafkaによるリアルタイム処理
 
20170303 java9 hadoop
20170303 java9 hadoop20170303 java9 hadoop
20170303 java9 hadoop
 
(NET406) Deep Dive: AWS Direct Connect and VPNs
(NET406) Deep Dive: AWS Direct Connect and VPNs(NET406) Deep Dive: AWS Direct Connect and VPNs
(NET406) Deep Dive: AWS Direct Connect and VPNs
 
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
 
Resource Aware Scheduling in Apache Storm
Resource Aware Scheduling in Apache StormResource Aware Scheduling in Apache Storm
Resource Aware Scheduling in Apache Storm
 
Scaling Apache Storm - Strata + Hadoop World 2014
Scaling Apache Storm - Strata + Hadoop World 2014Scaling Apache Storm - Strata + Hadoop World 2014
Scaling Apache Storm - Strata + Hadoop World 2014
 
Storm: distributed and fault-tolerant realtime computation
Storm: distributed and fault-tolerant realtime computationStorm: distributed and fault-tolerant realtime computation
Storm: distributed and fault-tolerant realtime computation
 

Mehr von NTT DATA OSS Professional Services

Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力NTT DATA OSS Professional Services
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~NTT DATA OSS Professional Services
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントNTT DATA OSS Professional Services
 
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~NTT DATA OSS Professional Services
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~NTT DATA OSS Professional Services
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのことNTT DATA OSS Professional Services
 
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~NTT DATA OSS Professional Services
 

Mehr von 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 の確かで意外な技術力
 
Spark SQL - The internal -
Spark SQL - The internal -Spark SQL - The internal -
Spark SQL - The internal -
 
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活用のポイント
 
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
 
Distributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystemDistributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystem
 
Structured Streaming - The Internal -
Structured Streaming - The Internal -Structured Streaming - The Internal -
Structured Streaming - The Internal -
 
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とオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
 
ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)
 
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
 
Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと
 
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
 

Kürzlich hochgeladen

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介: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
 
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
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介: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
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介: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
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
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
 

Kürzlich hochgeladen (9)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介: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...
 
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
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介: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
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介: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
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
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」の紹介
 

NTTデータにおける Apache Spark への取り組み

  • 1. NTTデータにおける Apache Spark への取り組み 2014/08/02 (株) NTTデータ 基盤システム事業本部 下垣 徹 オープンソースカンファレンス2014 Kansai@Kyoto
  • 2. 2Copyright © 2013 NTT DATA Corporation  “The Elephant Wizard” NTTデータ OSSプロフェッショナルサービス の一員 OSSのRDBMS “PostgreSQL” の開発・導入 大量データの蓄積・処理に “Hadoop” 自己紹介:下垣 徹 (しもがき とおる) Co-Author 2nd Edition in Japan 10+ years Contributor Ex. pg_bulkload 6+ years Leads Japanese Hadoop Community
  • 3. 3Copyright © 2013 NTT DATA Corporation  Apache Spark とは  Spark Summit 2014 レポートと Spark の最新動向  NTTデータにおける Apache Spark への取り組み アジェンダ
  • 4. Copyright © 2013 NTT DATA Corporation 4 Apache Spark とは
  • 5. 5Copyright © 2013 NTT DATA Corporation  大規模データの分散処理をオンメモリで実現する データ処理してHDDに都度書き出す方式よりも高速 JavaやScalaのコレクション操作のような使い方で 分散処理を実現できる  大規模データの分散処理ではHadoopが有名だが、 Hadoopとは異なるアイデア・方法でデータ処理を実現する UCBerkeleyのResilient distributed datasets(RDD)の 論文がおおもと Sparkとはオンメモリデータ処理の分散処理基盤 Hadoopとよく比較されるが、 アーキテクチャが全く異なる 最新バージョン「Spark 1.0.1」 (2014/7/11 リリース) メモリ上に分散した 変換処理に適したデータセット
  • 6. 6Copyright © 2013 NTT DATA Corporation HadoopはディスクIOを並列化してスループット高める • 集中管理型の分散システム – 分散処理ジョブやデータの管理は マスタサーバで実施 – スレーブサーバは、分散処理の 実行やデータの実体を保存 • スレーブサーバを増やすことで、 全体の処理性能を向上させる スケールアウトアーキテクチャ Hadoopマスタサーバ Hadoopクライアント L2/L3スイッチ NameNode JobTracker L2スイッチ Hadoopスレーブサーバ群 DataNode TaskTracker DataNode TaskTracker DataNode TaskTracker DataNode TaskTracker DataNode TaskTracker ディスク ディスク ディスク ディスク ディスク ディスクIOの並列化 レプリケーションによる永続化
  • 7. 7Copyright © 2013 NTT DATA Corporation  機械学習のような繰り返し処理に MapReduce を適用する上での問題点  MapReduce の起動に時間がかかる (最低でも 15 秒)  処理途中でディスクへの書き込みが発生する - 処理開始時に HDFS からデータを読み込み、処理終了時に HDFS に書き込む - 中間処理で、処理結果をローカルディスクに書き込む  Spark ではディスクI/Oを減らすように動作することで高速化を狙う なぜSparkなのか? Map Map Map Reduce Reduce HDFS HDFS MapReduceでディスクI/Oが発生する箇所 → Spark では Shuffle 以外の箇所で発生するディスク I/O を極力起こさないように動作する Shuffle
  • 8. 8Copyright © 2013 NTT DATA Corporation Sparkは繰り返し処理を高速に実現 Generated Data Output Output Data 分散ファイルシステム HDFS バッチ処理 MapReduce インメモリ分散処理 Spark リソース制御:YARN 繰り返し処理にHadoopとSparkを組み合わせるイメージ 大きなデータをMapReduceで加工 データがメモリ上に置かれるため レスポンスに優れる Spark内の処理イメージ データ 同じデータを 繰り返し処理 データ データ データ 変換処理を連続で適用 HDFS上の データを利用 小処理をつなげて 大処理を実現 メモリ メモリ
  • 9. 9Copyright © 2013 NTT DATA Corporation  JavaやScalaのコレクション操作のようなメソッドやフレームワークを利用できるため、 JavaやScalaに慣れた技術者にとって、複雑な処理を実装しやすい  Hadoopを置き換えるものではなく、SparkはHadoopの仕組みも利用する  利用例  ログ分析: POSデータ解析、トラヒック解析、M2M、行動履歴、ライフログ長期保存 など  レコメンド: クリック・ストリーム分析、関係グラフ解析、広告分析 など  検索: 非構造データの検索、データ抽出  データマイニング: 取引情報の分析・監査、不整データの抽出など  機械学習: 大量データのパターン分析、分類など Sparkは大量データを次々に変換する処理が得意 得意 苦手  Hadoopで加工した後のドリルダウン分析  TB級までのデータを扱うシステム  サンプリングが有効でないロングテールの データ分析  数秒~数分級のHadoopよりも短い レスポンスが必要な処理  クラスタ全体のメモリに乗り切らない 巨大なデータ処理(TB級以上)  大きなデータセットを少しずつ更新する処理  秒以下の特に短いレスポンスが必要な処理
  • 10. 10Copyright © 2013 NTT DATA Corporation Hadoopなどを含むエコシステムで成り立つ • Spark : イテレーションや多段MapReduceを効率的に実行するインメモリ分散処理基盤 バッチ処理では間に合わないような 速報値を必要とするケースで、かつ1 台のサーバでは処理できない量の データに対応する必要があるケース でStormを採用する Storm ストリーム並列処理基盤 Hadoop バッチ並列処理基盤 Spark インメモリ並列処理基盤 イテレーションを回したり ピボット処理を行うようなインメモリで の処理を必要とする場合、従来は RDBMSで扱えるデータサイズにまで 減らしてから処理していた PostgreSQL RDBMS Oracle Coherence や SAP HANA の ような高価な商用製品でしか実現でき なかったインメモリでの並列分散処理 がIAサーバ+OSSで実現可能になる 1台のサーバによる 少量のレコードに対する処 理・管理 (e.g. インデックス スキャン、レコード単位の更 新) 複数台サーバによる 大量のデータに対する 蓄積・処理が得意 ディスク上での データ処理 メモリ上での データ処理 データを蓄積した上 でバッチ処理 入力される各レコード に対する逐次処理 1台のサーバ内 での処理 複数台サー バでの処理 メモリ上で データを保持し て処理 データを保持・蓄 積せずに処理 並列分散処理
  • 11. 11Copyright © 2013 NTT DATA Corporation 互いの得意分野が少しずつ異なる バッチ処理では間に合わないような 速報値を必要とするケースで、かつ1 台のサーバでは処理できない量の データに対応する必要があるケース でStormを採用する Storm ストリーム並列処理基盤 Hadoop バッチ並列処理基盤 Spark インメモリ並列処理基盤 PostgreSQL RDBMS 1台のサーバによる 少量のレコードに対する処 理・管理 (e.g. インデックス スキャン、レコード単位の更 新) 複数台サーバによる 大量のデータに対する 蓄積・処理が得意 ディスク上での データ処理 メモリ上での データ処理 データを蓄積した上 でバッチ処理 入力される各レコード に対する逐次処理 1台のサーバ内 での処理 複数台サー バでの処理 メモリ上で データを保持し て処理 データを保持・蓄 積せずに処理 並列分散処理 ユーザアカウント情報の管理 (1サーバで扱えて、厳密性を要 求される情報を管理する) ユーザ行動の即時処理 異常行動の検知 ユーザのページ遷移や行動履歴の分析 インタラクティブなデータ処理 例えば「ユーザ情報」という枠で考えると… データクレンジング 蓄積データの全件処理 (総メモリに乗り切らない処理)
  • 12. 12Copyright © 2013 NTT DATA Corporation  Apache Spark をコア機能として、SQL、機械学習、ストリー ム処理、グラフ処理の各種インターフェースを提供し、Spark 独自のエコシステムを形成 Spark エコシステム インメモリ分散処理 Apache Spark SQL SparkSQL 機械学習 MLLib ストリーム処理 Spark Streaming グラフ GraphX
  • 13. 13Copyright © 2013 NTT DATA Corporation  2009年:  UC Berkley AMPLab にて研究プロジェクトがスタート  2012年:  AMP Camp 1  2013年: 急速に動きが活発化  6/19 Apache Incubation Project  8月 AMP Camp 2  10/27 AMPLab から Databrics 社設立  12/2 Spark Summit 2013 開催  2014年:  3/30 Spark 1.0.0 リリース  6/30 Spark Summit 2014 開催  7/11 Spark 1.0.1 リリース Spark の歴史 Spark Summit 2013 の様子
  • 14. Copyright © 2013 NTT DATA Corporation 14 Spark Summit 2014 レポートと Spark の最新動向
  • 15. 15Copyright © 2013 NTT DATA Corporation  今回が2回目の開催となる Spark Summit  The Westin St. Francis San Francisco on Union Square  前回の開催が 2013年12月であり、わずか半年後に2回目が開催  参加者は1000人以上  前回の400人を大きく上回った。  受付の行列は非常に長く、カンファレンス開始直前から大混雑であり会場はやや手狭にさ え感じられた。 Spark Summit 2014
  • 16. 16Copyright © 2013 NTT DATA Corporation  Apache Software Foundation のプロジェクトの中で Top 3 に入るほど活発  Spark 独自のエコシステムを形成し、ビッグデータ活用のた めの標準ライブラリを目指す Spark の開発状況と方向性 (出典: Spark Summit 2014 keynote)
  • 17. 17Copyright © 2013 NTT DATA Corporation  前回カンファレンスよりも充実、エコシステムの活用も Spark の利用事例 企業 概要 Spotify 協調フィルタリングによる音楽のリコメンデーション Yahoo!Taiwan データ基盤を統合し、BI(レポーティング)と機械学習(レコメ ンデーション)を統合、Shark や MLlib を活用し、SparkSQL も利用を検討 Telefonica サイバーセキュリティ対策のためのデータ分析基盤 SKTelecom 商用MPP DBのSparkへの置き換え。SparkStreamingによ るリアルタイムデータ処理 Ooyala ビデオ配信に関するアクセスログのSparkStreamingによる 分析ビデオ配信に関するアクセスログのSparkStreamingに よる分析
  • 18. Copyright © 2013 NTT DATA Corporation 18 NTTデータにおける Apache Spark への取り組み
  • 19. 19Copyright © 2013 NTT DATA Corporation  既存のHadoopクラスタのリソースを有効活用したい Hadoopは手堅くスケーラビリティを得られる分散処理基盤とし て地位が確立されており、継続して活用を続ける  Hadoop と Spark を適材適所で組み合わせて利用  Hadoop の動向 → “YARN” にも着目 NTTデータにおける Apache Spark への取り組み
  • 20. 20Copyright © 2013 NTT DATA Corporation  YARN : 並列分散処理フレームワークからリソース制御のレイヤを切り出した Hadoopの動向 ~YARNの登場~ 分散ファイルシステム HDFS バッチ処理 MapReduce 従来のHadoop 分散ファイルシステム HDFS バッチ処理 MapReduce これからのHadoop リソース制御 YARN
  • 21. 21Copyright © 2013 NTT DATA Corporation  YARN により単一クラスタ内に複数の分散処理アーキテクチャを同居可能に Hadoopの動向~YARN上の処理アーキテクチャ~ 分散ファイルシステム HDFS バッチ処理 MapReduce リソース制御 YARN ストリーム処理 Storm インメモリ分散処理 Spark ・・・・・・
  • 22. 22Copyright © 2013 NTT DATA Corporation  Spark の活用に加えて YARN の活用もあわせて行う 用途別の複数クラスタやDBMS/MPP-DBMSの並立から、デー タストアを共有したハイブリッドな統合処理基盤の実現 従来の MapReduce 処理も活かしながら、他の処理基盤の追 加を後から行うことが可能に NTTデータでの Spark への取り組み 分散ファイルシステム HDFS バッチ Map Reduce SQL Hive リソース管理機構 YARN インメモリ分散処理 Apache Spark SQL SparkSQL 機械学習 MLLib グラフ GraphX ストリーム Spark Streaming
  • 23. 23Copyright © 2013 NTT DATA Corporation  約200台のクラスタの Spark on YARN 環境で検証を実施  クラスタ全体のメモリサイズを超えるデータ量に対する検証も 大規模な Spark 検証の実施 Spark Summit 2014 / Hadoop Conference Japan 2014
  • 24. 24Copyright © 2013 NTT DATA Corporation  Sparkへの取り組みを通じて発見した課題を随時コミュニティ に報告、修正パッチを提供  リリースマネージャをつとめる Patrick Wendell 氏を交えて、 Spark への希望や改善提案を議論 Spark コミュニティでの活動と主要開発者との意見交換
  • 25. 25Copyright © 2013 NTT DATA Corporation  Spark はメモリ上で処理を得意とする並列分散処理基盤 Hadoop がディスクI/Oを伴いながら、スケーラビリティを追究し たのと比較  Spark エコシステムが充実:SQL、機械学習、ストリーム処理、 グラフ処理のインターフェースを備える  NTTデータは Spark への取り組みを加速 Spark on YARN コミュニティと連携しながら運用面での改善を実施 まとめ
  • 26. Copyright © 2011 NTT DATA Corporation Copyright © 2013 NTT DATA Corporation お問い合わせ先: 株式会社NTTデータ 基盤システム事業本部 OSSプロフェッショナルサービス URL: http://oss.nttdata.co.jp/hadoop メール: hadoop@kits.nttdata.co.jp TEL: 050-5546-2496