SlideShare une entreprise Scribd logo
1  sur  41
Apache Sparkのご紹介 ~Sparkのキホン
NTTデータ 基盤システム事業本部
OSSプロフェッショナルサービス
土橋 昌
2014年5月29日
第16回 Hadoopソースコードリーディング 発表資料
2Copyright © 2013 NTT DATA Corporation
 氏名:土橋 昌
 略歴:
 まだ世にHadoopクラスタが少なかったころから、数十台~数千台のHadoopクラスタのため
に奔走。結局Hadoop以外のOSSとも格闘する日々。ActiveDirectory、LDAP、Ganglia、
Nagios、Zabbix、Puppet、・・・。OSSじゃなのも混ざってますが、OSS屋さん。
 最近はHadoopしながら、Stormやったり、Sparkやったり、HBase触れたり、Cassandraを覗
いたり。「ゲテモノ」にぶつかって 心砕ける 心踊るのが仕事。
 どんな人?:
 基本はインフラエンジニア。下手の横好きでコード書くのも好き。
 コンサル(ご相談)から開発、運用もやります。
 実は人前は苦手。こっそり生きています。
 他には?:
 分散システムやっている関係で構成管理には昔から悩まされてきました。数年Puppet使っ
ていますが、ここ1年くらいはAnsible使ってます。個人的な検証は Vagrant + VirtualBox +
Ansible
 写真撮ったり出掛けたりするのが好き。
自己紹介
3Copyright © 2013 NTT DATA Corporation
 日頃Hadoopに触れる生活で見出したSparkの背景
一面的な説明ですが、なるべく分かりやすく書いたつもり・・・
 Spark Summit 2013の振り返り
 Sparkのキホン
Sparkの鍵 => RDDってなに?
スケジューラ外観からその動き
 Sparkの細かな話
きっと@taroleoさんが話してくれる
アジェンダ
Copyright © 2013 NTT DATA Corporation 4
Sparkの簡単なご説明
5Copyright © 2013 NTT DATA Corporation
この資料で紹介する内容は、基本的に机上調査+
ソースコード調査をもとにしています
動作確認しながら・・・の内容はここには含まれていま
せん。
あと、Scalaはコワクナイ
まず初めにお伝えする大切なこと
6Copyright © 2013 NTT DATA Corporation
 大規模データの分散処理をオンメモリで実現する
データ処理してHDDに都度書き出す方式よりも高速
JavaやScalaのコレクション操作のような使い方で
分散処理を実現できる
 大規模データの分散処理ではHadoopが有名だが、
Hadoopとは異なるアイデア・方法でデータ処理を実現する
UCBerkeleyのResilient distributed datasets(RDD)の
論文がおおもと
Sparkとはオンメモリデータ処理の分散処理基盤
Hadoopとよく比較されるが、
アーキテクチャが全く異なる
最新バージョン「Spark 0.9.1」
(2014/4/9 リリース)
メモリ上に分散した
変換処理に適したデータセット
7Copyright © 2013 NTT DATA Corporation
Hadoopは大量データ処理を現実的なものにしてくれた
• 従来技術は、必要充分な性能をもった後発のローエンド技術に
凌駕されてゆく流れに乗って、必要十分を追求するOSS
 枯れた技術を安価に使いこなす
 複数のOSSを適材適所、組み
合わせて使いこなす
 品質をコントロールして使いこなす
• 従来技術では困難であった
領域にチャレンジするOSS
 新たな領域特有の課題を解決する
 リスクをコントロールして使いこなす
• OSSは..
コモディティ製品を使い切る
先進的な技術(大容量データ処理)を
身近なものにする
性
能
1970 1980 1990 2000
Moore's Law
The number of transistors on the
chip doubles every 18 months.
Gilder’s Law
The bandwidth of network doubles
every 6 months.
Metcalfe's Law
The value of a network is
proportional to the square
of the number of users.
2010
Sparkの前にはHadoopが開いた道がある
8Copyright © 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の並列化
レプリケーションによる永続化
9Copyright © 2013 NTT DATA Corporation
繰り返し処理ではIOコストの課題に対処が必要
Generated
Data
分散
ファイル
システム
HDFS
バッチ処理
MapReduce
(MR)
MR
Enterprise
Data Warehouse
Generated
Data
処理対象
データを
抽出 Output
Output
Data
データ
マート
分散ファイルシステム
HDFS
バッチ処理
MapReduce
分散
ファイル
システム
HDFS
HDFSに毎度データを
保存するコストが無視できない
データを転送する
コストが無視できない
Output
Output
Data
例1
例2
業務処理・データ分析の中には繰り返し処理が現れる
10Copyright © 2013 NTT DATA Corporation
Hadoopはパワフルだけど…
もう少し繰り返し計算を効率よくできないか?
- 途中結果を何回も再利用しながら計算している
- 業務処理が煩雑でジョブが200段くらいになっている
インタラクティブなドリルダウン分析につかえないか?
- 既存HiveやPigでも何とかならないでもないが、もう少し
速さと使い勝手の良いREPLが欲しい
- (あとSQL以外の選択肢が欲しい。行指向じゃないこと
もしたい)
Hadoopはパワフルだけど…という思い
11Copyright © 2013 NTT DATA Corporation
Sparkは繰り返し処理を高速に実現
Generated
Data
Output
Output
Data
分散ファイルシステム HDFS
バッチ処理
MapReduce
インメモリ分散処理
Spark
リソース制御:YARN
繰り返し処理にHadoopとSparkを組み合わせるイメージ
大きなデータをMapReduceで加工
データがメモリ上に置かれるため
レスポンスに優れる
Spark内の処理イメージ
データ
同じデータを
繰り返し処理
データ データ データ
変換処理を連続で適用
HDFS上の
データを利用
小処理をつなげて
大処理を実現
メモリ メモリ
12Copyright © 2013 NTT DATA Corporation
 JavaやScalaのコレクション操作のようなメソッドやフレームワークを利用できるため、
JavaやScalaに慣れた技術者にとって、複雑な処理を実装しやすい
 Hadoopを置き換えるものではなく、SparkはHadoopの仕組みも利用する
 利用例
 ログ分析: POSデータ解析、トラヒック解析、M2M、行動履歴、ライフログ長期保存 など
 レコメンド: クリック・ストリーム分析、関係グラフ解析、広告分析 など
 検索: 非構造データの検索、データ抽出
 データマイニング: 取引情報の分析・監査、不整データの抽出など
 機械学習: 大量データのパターン分析、分類など
Sparkは大量データを次々に変換する処理が得意
得意 苦手
 Hadoopで加工した後のドリルダウン分析
 TB級までのデータを扱うシステム
 サンプリングが有効でないロングテールの
データ分析
 数秒~数分級のHadoopよりも短い
レスポンスが必要な処理
 クラスタ全体のメモリに乗り切らない
巨大なデータ処理(TB級以上)
 大きなデータセットを少しずつ更新する処理
 秒以下の特に短いレスポンスが必要な処理
13Copyright © 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台のサーバ内
での処理
複数台サー
バでの処理
メモリ上で
データを保持し
て処理
データを保持・蓄
積せずに処理
並列分散処理
14Copyright © 2013 NTT DATA Corporation
互いの得意分野が少しずつ異なる
バッチ処理では間に合わないような
速報値を必要とするケースで、かつ1
台のサーバでは処理できない量の
データに対応する必要があるケース
でStormを採用する
Storm
ストリーム並列処理基盤
Hadoop
バッチ並列処理基盤
Spark
インメモリ並列処理基盤
PostgreSQL
RDBMS
1台のサーバによる
少量のレコードに対する処
理・管理 (e.g. インデックス
スキャン、レコード単位の更
新)
複数台サーバによる
大量のデータに対する
蓄積・処理が得意
ディスク上での
データ処理
メモリ上での
データ処理
データを蓄積した上
でバッチ処理
入力される各レコード
に対する逐次処理
1台のサーバ内
での処理
複数台サー
バでの処理
メモリ上で
データを保持し
て処理
データを保持・蓄
積せずに処理
並列分散処理
ユーザアカウント情報の管理
(1サーバで扱えて、厳密性を要
求される情報を管理する) ユーザ行動の即時処理
異常行動の検知
ユーザのページ遷移や行動履歴の分析
インタラクティブなデータ処理
例えば「ユーザ情報」という枠で考えると…
データクレンジング
蓄積データの全件処理
(総メモリに乗り切らない処理)
15Copyright © 2013 NTT DATA Corporation
(参考)Sparkの開発背景や体制
Apache Spark
ホームページと
Spark Summit
のスポンサー
ここ1年の Sparkの
contributorが
1年前に17人だったの
が今年9月に67人に
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 開催
開発背景
Copyright © 2013 NTT DATA Corporation 16
Spark Summit 2013の様子とホットトピック
17Copyright © 2013 NTT DATA Corporation
 日時:2013年12月2日~3日
 場所:The Hotel Nikko @ San Francisco
 参加者: 450名以上 (半数はチュートリアルに参加)
 1日目午前 : keynote
1日目午後 : 2トラックで合計24セッション
 2日目 : チュートリアル
イベント概要
スポンサー
18Copyright © 2013 NTT DATA Corporation
 Keynote : Databricks 社 CEO からのメッセージ
 「いろいろ道具立てが溢れているが、Spark の上で全部やれるようになるこ
とを目指しています」
 「Hadoop とは共存します」
 Cloudera との提携を前面に押し出していた
 アカデミック+エンタープライズの両方の雰囲気をもつ会場
会場は満員御礼、チュートリアルも人気
Keynoteの様子
チュートリアルの様子
(こちらも満員)
19Copyright © 2013 NTT DATA Corporation
 Hadoopコミュニティとの連携が強まり、Sparkコミュニティも急速に成長中
 Yahoo!の事例が目立った
 最も先行して導入している様子が伺われた
 ただし、SparkはもともとUCBerkeleyが推し進めていたので、Hadoop YARN連携以外の
細かな既存事例が他にもある様子
 Sparkの特徴や利用イメージに関する発表が多かった
 アプリの見た目は、Java8 Streamなどに似ている…?
 Shark(SQL on Spark)、Spark Streaming、MLbaseなどのエコシステムも形成されている
 後発だけあって、黎明期のHadoopよりもドキュメントやUIが充実している印象
Yahoo事例とSparkの特徴紹介が多かった
セッション全体のポイント
20Copyright © 2013 NTT DATA Corporation
サミットの盛況ぶりを裏付けるコミュニティの成長
出典: The State of Spark(Matei Zaharia)
最近話題に上ることが多い
Stormなどと比較してもSparkも
負けていない
開発母体であるオープンソースコミュニティが成長してくると、
機能拡充や不具合への対応が充実してくる傾向がある
21Copyright © 2013 NTT DATA Corporation
(参考)Sparkはコードのコミット量が多い(その1)
150
20
2/17 8/25 2/9
2/17 8/25 2/9
summit
0.9.0
週あたりのコミット数比較
Spark
Storm
増加傾向?
22Copyright © 2013 NTT DATA Corporation
(参考)Sparkはコードのコミット量が多い(その2)
150
40
2/17 8/25 2/9
2/17 8/25 2/9
summit
0.9.0
週あたりのコミット数比較
Spark
Drill
増加傾向?
23Copyright © 2013 NTT DATA Corporation
着実に開発母体が大きくなっていることが分かる
出典: The State of Spark(Matei Zaharia)
Spark 0.9.0
142 contributors
2014/2
Githubの「contributors」の数の推移
24Copyright © 2013 NTT DATA Corporation
実は2012年からカンファレンスへの露出があった
出典: The State of Spark(Matei Zaharia)
Databricksの母体となった
AMPLABが主
25Copyright © 2013 NTT DATA Corporation
Hadoopとの連携を強めて利便性高くなってきた
出典: Big Data Research in the AMPLab:BDAS and Beyond(Michael Franklin )
「UC Berkeleyの既存プロダクト」と「Hadoopの既存エコシステム」の連携を強める
動きが見られ、先行するHadoopの機能を利用しやすくなっている
Sparkの入出力や
データの永続化に利用
高度なリソースマネー
ジメントに利用
Hiveで培われた
SQLによる分散処理を利用
26Copyright © 2013 NTT DATA Corporation
Yahoo台湾でパーソナライズに利用されている
一部の処理をHadoopから
Sparkに置き換えている
出典: Hadoop and Saprk Join Forces at Yahoo(Andy Feng)
台湾のショッピングサイトで
利用されている
企業ユースも少しずつ増えている様子である
(数人程度 x 数か月で移行したとのこと)
27Copyright © 2013 NTT DATA Corporation
低レスポンスが求められる繰り返し処理をSparkに
出典: Analytics on Spark & Shark @Yahoo (Tim Tully)
新しいスタック従来のスタック
業務処理後半の分析業務や
繰り返し処理のレスポンスに課題
スループット重視:Hadoop
レスポンス重視:Spark
Yahoo!の処理基盤の将来的なイメージ
Pig/Hive/MR
BI/OLAP
Spark/Shark
28Copyright © 2013 NTT DATA Corporation
コンテンツ配信でのユーザエクスペリエンス向上を狙う
CONVIVA社での利用イメージ
出典: Using Spark @ CONVIVA
Adaptive Bit Rateの調整
CDNスイッチの最適化
きめ細かなトラヒックシェーピン
グとマルチCDNの実現を目指す
如何に素早く
フィードバックできるか?
Spark分析基盤
ビデオ配信の効率を最適化し、エンゲージ率の向上を狙う
(もともとはHadoopやストリーム処理基盤を利用していた事例)
29Copyright © 2013 NTT DATA Corporation
Conviva社「デメリットを補って余りあるメリット」
分析の高速化、ビットレート向上に確かに貢献
プログラミングモデルが適していた&コミュニティが活発
Conviva社では様々な機械学習をプロトタイプ
バッチ処理とストリーム処理で同じフレームワークを利用できた
スケールさせやすかった
良かった点
苦労した点
故障対処と運用
Sparkの基盤に関する独自の知識(特にデータモデル)が必要
デバッグに際して知識が必要
チューニングに際して知識が必要
数か月間のプロダクション環境実績から得られた感想
30Copyright © 2013 NTT DATA Corporation
インタラクティブ処理、繰り返し処理を利用しやすく
出典: The State of Spark(Matei Zaharia)
中間結果をHDFSに保持しながら処理
従来の細切れの処理
Sparkでは
既存言語から利用しやすい
HDFSを透過的に利用できる
Sparkが提供してくれる機能のイメージ
Copyright © 2013 NTT DATA Corporation 31
適用範囲の広がるSparkエコシステム
32Copyright © 2013 NTT DATA Corporation
Shark: SQLで記述できる分散処理フレームワーク
バックエンドでSparkが動作する
先行するHive(Hadoop)と互換性を保ちながら発展中
SharkとHiveのスタック比較
出典: Shark(Michael Armbrust @ Databricks)
クエリやUDFはHive互換
最新リリース: 0.8.1 (2014/1/15)
最新プレリリース: 0.9.0
2014/2現在、対応Hadoopは2.0系
33Copyright © 2013 NTT DATA Corporation
Spark Streaming: ストリーム処理フレームワーク
出典: Apache Spark (http://spark.incubator.apache.org/docs/latest/streaming-programming-guide.html)
入力データを
小さく区切ってRDDを
生成
小さなRDD(データセット)が
連なったもの
入力データを
区切った単語のRDDを生成
小さなバッチ処理を繰り返してSpark上にストリーミング処理を実現
時間
時間
時間
(Spark StreamingのバージョンはSparkと同一)
34Copyright © 2013 NTT DATA Corporation
 繰り返し処理を得意とする Spark の特徴を生かし、1台のサーバで処理できない量の
データセットに対して分散処理で機械学習を実現する
 Sparkの0.8系(2013年9月)から本体へ導入
 Spark 0.9.0 同梱の MLlib のコード量は約4KStep
 利用可能な処理
 二値分類 : 線形サポートベクタマシン、ロジスティック回帰
 線形回帰:Lasso回帰、Redge回帰
 クラスタリング:k-means (Scalable K-means++)
 協調フィルタリング:Alternating Least Squares (ALS)
 勾配降下法 (Gradient Descent)
 Scala、Java、Python から
利用可能
MLlib: Sparkで使える機械学習ライブラリ
分散ファイルシステム HDFS
バッチ
Map
Reduce
SQL
Hive
リソース管理機構 YARN
インメモリ分散処理
Apache Spark
SQL
Shark
機械学習
MLLib
グラフ
GraphX
ストリーム
Spark
Streaming
Copyright © 2013 NTT DATA Corporation 35
(参考)Sparkの技術トピック
36Copyright © 2013 NTT DATA Corporation
Python、Scala、Javaに対応
出典: Using Apache Spark(Pat McDonough@Databricks)
「関数」を書きやすいScalaかPythonがおすすめ
37Copyright © 2013 NTT DATA Corporation
Sparkシェルの実行例
ScalaのREPLを拡張したSparkシェルを利用し、インタラクティブの処理できる
・プロセス内単体で起動できる
・Sparkクラスタに接続&実行できる
Sparkクラスタに接続してシェルを起動
38Copyright © 2013 NTT DATA Corporation
HDFSから入力データを取得する例
Sparkシェル内で、Scalaで実装する
testdata.txtをインプットとして利用
HDFS上のデータを入力とした新たなRDDが定義された
・HadoopのHDFS APIが対応しているファイルシステムを利用できる
(ローカルファイルシステムを含む)
・そのほかのプロトコルにも対応している
39Copyright © 2013 NTT DATA Corporation
データを単語に分割してカウントし、出力する例
入力データを単語に分割して
単語ごとに総数を算出する
(いわゆるワードカウント)
HDFS上に出力
出力結果の例
あたかもJavaやScalaの
コレクション操作をするように見えて、
裏では分散処理を実行している
40Copyright © 2013 NTT DATA Corporation
UIは黎明期のHadoopよりも充実している様子
実行状況管理のエントリポイントであるウェブUI
マスタUI
ワーカUI
41Copyright © 2013 NTT DATA Corporation
WordCountの実装例
val file = spark.textFile("hdfs://...")
val counts = file.flatMap(line => line.split(" "))
.map(word => (word, 1))
.reduceByKey(_ + _)
counts.saveAsTextFile("hdfs://...")
1) HDFSからデータを入力する定義
2) データを単語に分割する定義
3) 単語ごとにタプルを作る定義
4) タプルを集約する定義
5) HDFSに出力する定義
サンプルコード
流れの概要

Contenu connexe

Tendances

大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)NTT DATA Technology & Innovation
 
データ分析を支える技術 DWH再入門
データ分析を支える技術 DWH再入門データ分析を支える技術 DWH再入門
データ分析を支える技術 DWH再入門Satoru Ishikawa
 
Databricksを初めて使う人に向けて.pptx
Databricksを初めて使う人に向けて.pptxDatabricksを初めて使う人に向けて.pptx
Databricksを初めて使う人に向けて.pptxotato
 
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)NTT DATA Technology & Innovation
 
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoTreasure Data, Inc.
 
Presto on YARNの導入・運用
Presto on YARNの導入・運用Presto on YARNの導入・運用
Presto on YARNの導入・運用cyberagent
 
Data platformdesign
Data platformdesignData platformdesign
Data platformdesignRyoma Nagata
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けRecruit Technologies
 
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...NTT DATA Technology & Innovation
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Cloudera Japan
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) hamaken
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)hamaken
 
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Ken SASAKI
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionTetsutaro Watanabe
 
Azure Synapse Analytics 専用SQL Poolベストプラクティス
Azure Synapse Analytics 専用SQL PoolベストプラクティスAzure Synapse Analytics 専用SQL Poolベストプラクティス
Azure Synapse Analytics 専用SQL PoolベストプラクティスMicrosoft
 
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現Ryoma Nagata
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkTakanori Suzuki
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 

Tendances (20)

大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
 
データ分析を支える技術 DWH再入門
データ分析を支える技術 DWH再入門データ分析を支える技術 DWH再入門
データ分析を支える技術 DWH再入門
 
Databricksを初めて使う人に向けて.pptx
Databricksを初めて使う人に向けて.pptxDatabricksを初めて使う人に向けて.pptx
Databricksを初めて使う人に向けて.pptx
 
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
 
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
 
Presto on YARNの導入・運用
Presto on YARNの導入・運用Presto on YARNの導入・運用
Presto on YARNの導入・運用
 
Data platformdesign
Data platformdesignData platformdesign
Data platformdesign
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
 
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
 
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Hadoopの概念と基本的知識
Hadoopの概念と基本的知識
 
Apache Spark 2.4 and 3.0 What's Next?
Apache Spark 2.4 and 3.0  What's Next? Apache Spark 2.4 and 3.0  What's Next?
Apache Spark 2.4 and 3.0 What's Next?
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年version
 
Azure Synapse Analytics 専用SQL Poolベストプラクティス
Azure Synapse Analytics 専用SQL PoolベストプラクティスAzure Synapse Analytics 専用SQL Poolベストプラクティス
Azure Synapse Analytics 専用SQL Poolベストプラクティス
 
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 

En vedette

BigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめ
BigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめBigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめ
BigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめTanaka Yuichi
 
SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係datastaxjp
 
5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズYusuke Naka
 
Res netと派生研究の紹介
Res netと派生研究の紹介Res netと派生研究の紹介
Res netと派生研究の紹介masataka nishimori
 
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
 
Jupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep LearningJupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep LearningJun-ya Norimatsu
 
Deep Learningと画像認識   ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識   ~歴史・理論・実践~nlab_utokyo
 

En vedette (7)

BigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめ
BigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめBigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめ
BigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめ
 
SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係
 
5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ
 
Res netと派生研究の紹介
Res netと派生研究の紹介Res netと派生研究の紹介
Res netと派生研究の紹介
 
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 講演資料)
 
Jupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep LearningJupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep Learning
 
Deep Learningと画像認識   ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識   ~歴史・理論・実践~
 

Similaire à Apache Spark の紹介(前半:Sparkのキホン)

SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~NTT DATA OSS Professional Services
 
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】NTT DATA OSS Professional Services
 
第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポート第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポートYou&I
 
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...DataWorks Summit/Hadoop Summit
 
20140711 evf2014 hadoop_recommendmachinelearning
20140711 evf2014 hadoop_recommendmachinelearning20140711 evf2014 hadoop_recommendmachinelearning
20140711 evf2014 hadoop_recommendmachinelearningTakumi Yoshida
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~NTT DATA OSS Professional Services
 
Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料)
Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料)Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料)
Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料)NTT DATA Technology & Innovation
 
Strata + Hadoop World 2014 レポート #cwt2014
Strata + Hadoop World 2014 レポート #cwt2014Strata + Hadoop World 2014 レポート #cwt2014
Strata + Hadoop World 2014 レポート #cwt2014Cloudera Japan
 
Hadoopことはじめ
HadoopことはじめHadoopことはじめ
HadoopことはじめKatsunori Kanda
 
20131116_OSC福岡_CloudOS「Apache CloudStack」概要
20131116_OSC福岡_CloudOS「Apache CloudStack」概要20131116_OSC福岡_CloudOS「Apache CloudStack」概要
20131116_OSC福岡_CloudOS「Apache CloudStack」概要Midori Oge
 
さくらのナレッジの運営から見えるもの
さくらのナレッジの運営から見えるものさくらのナレッジの運営から見えるもの
さくらのナレッジの運営から見えるもの法林浩之
 
ApacheSparkを中心としたOSSビッグデータ活用と導入時の検討ポイント
ApacheSparkを中心としたOSSビッグデータ活用と導入時の検討ポイントApacheSparkを中心としたOSSビッグデータ活用と導入時の検討ポイント
ApacheSparkを中心としたOSSビッグデータ活用と導入時の検討ポイントTanaka Yuichi
 
Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」
Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」
Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」Kuninobu SaSaki
 
20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのspark20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのsparkRyuji Tamagawa
 
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)NTT DATA OSS Professional Services
 
20190517 Spark+AI Summit2019最新レポート
20190517 Spark+AI Summit2019最新レポート20190517 Spark+AI Summit2019最新レポート
20190517 Spark+AI Summit2019最新レポートRyoma Nagata
 
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)NTT DATA OSS Professional Services
 
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...NTT DATA Technology & Innovation
 

Similaire à Apache Spark の紹介(前半:Sparkのキホン) (20)

SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
 
Apache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATAApache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATA
 
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
 
第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポート第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポート
 
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...
 
20140711 evf2014 hadoop_recommendmachinelearning
20140711 evf2014 hadoop_recommendmachinelearning20140711 evf2014 hadoop_recommendmachinelearning
20140711 evf2014 hadoop_recommendmachinelearning
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
 
Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料)
Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料)Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料)
Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料)
 
Jjug ccc
Jjug cccJjug ccc
Jjug ccc
 
Strata + Hadoop World 2014 レポート #cwt2014
Strata + Hadoop World 2014 レポート #cwt2014Strata + Hadoop World 2014 レポート #cwt2014
Strata + Hadoop World 2014 レポート #cwt2014
 
Hadoopことはじめ
HadoopことはじめHadoopことはじめ
Hadoopことはじめ
 
20131116_OSC福岡_CloudOS「Apache CloudStack」概要
20131116_OSC福岡_CloudOS「Apache CloudStack」概要20131116_OSC福岡_CloudOS「Apache CloudStack」概要
20131116_OSC福岡_CloudOS「Apache CloudStack」概要
 
さくらのナレッジの運営から見えるもの
さくらのナレッジの運営から見えるものさくらのナレッジの運営から見えるもの
さくらのナレッジの運営から見えるもの
 
ApacheSparkを中心としたOSSビッグデータ活用と導入時の検討ポイント
ApacheSparkを中心としたOSSビッグデータ活用と導入時の検討ポイントApacheSparkを中心としたOSSビッグデータ活用と導入時の検討ポイント
ApacheSparkを中心としたOSSビッグデータ活用と導入時の検討ポイント
 
Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」
Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」
Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」
 
20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのspark20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのspark
 
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
 
20190517 Spark+AI Summit2019最新レポート
20190517 Spark+AI Summit2019最新レポート20190517 Spark+AI Summit2019最新レポート
20190517 Spark+AI Summit2019最新レポート
 
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
 
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
 

Plus de 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
 
商用ミドルウェアの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
 
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
 

Plus 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 の確かで意外な技術力
 
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
 
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
 
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 ~ インフラエンジニアのたしなみ ~
 
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
 

Dernier

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
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
 
論文紹介: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
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介: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
 
論文紹介: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
 
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
 

Dernier (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」の紹介
 
論文紹介: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...
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介: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] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介: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
 
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
 

Apache Spark の紹介(前半:Sparkのキホン)

  • 1. Apache Sparkのご紹介 ~Sparkのキホン NTTデータ 基盤システム事業本部 OSSプロフェッショナルサービス 土橋 昌 2014年5月29日 第16回 Hadoopソースコードリーディング 発表資料
  • 2. 2Copyright © 2013 NTT DATA Corporation  氏名:土橋 昌  略歴:  まだ世にHadoopクラスタが少なかったころから、数十台~数千台のHadoopクラスタのため に奔走。結局Hadoop以外のOSSとも格闘する日々。ActiveDirectory、LDAP、Ganglia、 Nagios、Zabbix、Puppet、・・・。OSSじゃなのも混ざってますが、OSS屋さん。  最近はHadoopしながら、Stormやったり、Sparkやったり、HBase触れたり、Cassandraを覗 いたり。「ゲテモノ」にぶつかって 心砕ける 心踊るのが仕事。  どんな人?:  基本はインフラエンジニア。下手の横好きでコード書くのも好き。  コンサル(ご相談)から開発、運用もやります。  実は人前は苦手。こっそり生きています。  他には?:  分散システムやっている関係で構成管理には昔から悩まされてきました。数年Puppet使っ ていますが、ここ1年くらいはAnsible使ってます。個人的な検証は Vagrant + VirtualBox + Ansible  写真撮ったり出掛けたりするのが好き。 自己紹介
  • 3. 3Copyright © 2013 NTT DATA Corporation  日頃Hadoopに触れる生活で見出したSparkの背景 一面的な説明ですが、なるべく分かりやすく書いたつもり・・・  Spark Summit 2013の振り返り  Sparkのキホン Sparkの鍵 => RDDってなに? スケジューラ外観からその動き  Sparkの細かな話 きっと@taroleoさんが話してくれる アジェンダ
  • 4. Copyright © 2013 NTT DATA Corporation 4 Sparkの簡単なご説明
  • 5. 5Copyright © 2013 NTT DATA Corporation この資料で紹介する内容は、基本的に机上調査+ ソースコード調査をもとにしています 動作確認しながら・・・の内容はここには含まれていま せん。 あと、Scalaはコワクナイ まず初めにお伝えする大切なこと
  • 6. 6Copyright © 2013 NTT DATA Corporation  大規模データの分散処理をオンメモリで実現する データ処理してHDDに都度書き出す方式よりも高速 JavaやScalaのコレクション操作のような使い方で 分散処理を実現できる  大規模データの分散処理ではHadoopが有名だが、 Hadoopとは異なるアイデア・方法でデータ処理を実現する UCBerkeleyのResilient distributed datasets(RDD)の 論文がおおもと Sparkとはオンメモリデータ処理の分散処理基盤 Hadoopとよく比較されるが、 アーキテクチャが全く異なる 最新バージョン「Spark 0.9.1」 (2014/4/9 リリース) メモリ上に分散した 変換処理に適したデータセット
  • 7. 7Copyright © 2013 NTT DATA Corporation Hadoopは大量データ処理を現実的なものにしてくれた • 従来技術は、必要充分な性能をもった後発のローエンド技術に 凌駕されてゆく流れに乗って、必要十分を追求するOSS  枯れた技術を安価に使いこなす  複数のOSSを適材適所、組み 合わせて使いこなす  品質をコントロールして使いこなす • 従来技術では困難であった 領域にチャレンジするOSS  新たな領域特有の課題を解決する  リスクをコントロールして使いこなす • OSSは.. コモディティ製品を使い切る 先進的な技術(大容量データ処理)を 身近なものにする 性 能 1970 1980 1990 2000 Moore's Law The number of transistors on the chip doubles every 18 months. Gilder’s Law The bandwidth of network doubles every 6 months. Metcalfe's Law The value of a network is proportional to the square of the number of users. 2010 Sparkの前にはHadoopが開いた道がある
  • 8. 8Copyright © 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の並列化 レプリケーションによる永続化
  • 9. 9Copyright © 2013 NTT DATA Corporation 繰り返し処理ではIOコストの課題に対処が必要 Generated Data 分散 ファイル システム HDFS バッチ処理 MapReduce (MR) MR Enterprise Data Warehouse Generated Data 処理対象 データを 抽出 Output Output Data データ マート 分散ファイルシステム HDFS バッチ処理 MapReduce 分散 ファイル システム HDFS HDFSに毎度データを 保存するコストが無視できない データを転送する コストが無視できない Output Output Data 例1 例2 業務処理・データ分析の中には繰り返し処理が現れる
  • 10. 10Copyright © 2013 NTT DATA Corporation Hadoopはパワフルだけど… もう少し繰り返し計算を効率よくできないか? - 途中結果を何回も再利用しながら計算している - 業務処理が煩雑でジョブが200段くらいになっている インタラクティブなドリルダウン分析につかえないか? - 既存HiveやPigでも何とかならないでもないが、もう少し 速さと使い勝手の良いREPLが欲しい - (あとSQL以外の選択肢が欲しい。行指向じゃないこと もしたい) Hadoopはパワフルだけど…という思い
  • 11. 11Copyright © 2013 NTT DATA Corporation Sparkは繰り返し処理を高速に実現 Generated Data Output Output Data 分散ファイルシステム HDFS バッチ処理 MapReduce インメモリ分散処理 Spark リソース制御:YARN 繰り返し処理にHadoopとSparkを組み合わせるイメージ 大きなデータをMapReduceで加工 データがメモリ上に置かれるため レスポンスに優れる Spark内の処理イメージ データ 同じデータを 繰り返し処理 データ データ データ 変換処理を連続で適用 HDFS上の データを利用 小処理をつなげて 大処理を実現 メモリ メモリ
  • 12. 12Copyright © 2013 NTT DATA Corporation  JavaやScalaのコレクション操作のようなメソッドやフレームワークを利用できるため、 JavaやScalaに慣れた技術者にとって、複雑な処理を実装しやすい  Hadoopを置き換えるものではなく、SparkはHadoopの仕組みも利用する  利用例  ログ分析: POSデータ解析、トラヒック解析、M2M、行動履歴、ライフログ長期保存 など  レコメンド: クリック・ストリーム分析、関係グラフ解析、広告分析 など  検索: 非構造データの検索、データ抽出  データマイニング: 取引情報の分析・監査、不整データの抽出など  機械学習: 大量データのパターン分析、分類など Sparkは大量データを次々に変換する処理が得意 得意 苦手  Hadoopで加工した後のドリルダウン分析  TB級までのデータを扱うシステム  サンプリングが有効でないロングテールの データ分析  数秒~数分級のHadoopよりも短い レスポンスが必要な処理  クラスタ全体のメモリに乗り切らない 巨大なデータ処理(TB級以上)  大きなデータセットを少しずつ更新する処理  秒以下の特に短いレスポンスが必要な処理
  • 13. 13Copyright © 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台のサーバ内 での処理 複数台サー バでの処理 メモリ上で データを保持し て処理 データを保持・蓄 積せずに処理 並列分散処理
  • 14. 14Copyright © 2013 NTT DATA Corporation 互いの得意分野が少しずつ異なる バッチ処理では間に合わないような 速報値を必要とするケースで、かつ1 台のサーバでは処理できない量の データに対応する必要があるケース でStormを採用する Storm ストリーム並列処理基盤 Hadoop バッチ並列処理基盤 Spark インメモリ並列処理基盤 PostgreSQL RDBMS 1台のサーバによる 少量のレコードに対する処 理・管理 (e.g. インデックス スキャン、レコード単位の更 新) 複数台サーバによる 大量のデータに対する 蓄積・処理が得意 ディスク上での データ処理 メモリ上での データ処理 データを蓄積した上 でバッチ処理 入力される各レコード に対する逐次処理 1台のサーバ内 での処理 複数台サー バでの処理 メモリ上で データを保持し て処理 データを保持・蓄 積せずに処理 並列分散処理 ユーザアカウント情報の管理 (1サーバで扱えて、厳密性を要 求される情報を管理する) ユーザ行動の即時処理 異常行動の検知 ユーザのページ遷移や行動履歴の分析 インタラクティブなデータ処理 例えば「ユーザ情報」という枠で考えると… データクレンジング 蓄積データの全件処理 (総メモリに乗り切らない処理)
  • 15. 15Copyright © 2013 NTT DATA Corporation (参考)Sparkの開発背景や体制 Apache Spark ホームページと Spark Summit のスポンサー ここ1年の Sparkの contributorが 1年前に17人だったの が今年9月に67人に 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 開催 開発背景
  • 16. Copyright © 2013 NTT DATA Corporation 16 Spark Summit 2013の様子とホットトピック
  • 17. 17Copyright © 2013 NTT DATA Corporation  日時:2013年12月2日~3日  場所:The Hotel Nikko @ San Francisco  参加者: 450名以上 (半数はチュートリアルに参加)  1日目午前 : keynote 1日目午後 : 2トラックで合計24セッション  2日目 : チュートリアル イベント概要 スポンサー
  • 18. 18Copyright © 2013 NTT DATA Corporation  Keynote : Databricks 社 CEO からのメッセージ  「いろいろ道具立てが溢れているが、Spark の上で全部やれるようになるこ とを目指しています」  「Hadoop とは共存します」  Cloudera との提携を前面に押し出していた  アカデミック+エンタープライズの両方の雰囲気をもつ会場 会場は満員御礼、チュートリアルも人気 Keynoteの様子 チュートリアルの様子 (こちらも満員)
  • 19. 19Copyright © 2013 NTT DATA Corporation  Hadoopコミュニティとの連携が強まり、Sparkコミュニティも急速に成長中  Yahoo!の事例が目立った  最も先行して導入している様子が伺われた  ただし、SparkはもともとUCBerkeleyが推し進めていたので、Hadoop YARN連携以外の 細かな既存事例が他にもある様子  Sparkの特徴や利用イメージに関する発表が多かった  アプリの見た目は、Java8 Streamなどに似ている…?  Shark(SQL on Spark)、Spark Streaming、MLbaseなどのエコシステムも形成されている  後発だけあって、黎明期のHadoopよりもドキュメントやUIが充実している印象 Yahoo事例とSparkの特徴紹介が多かった セッション全体のポイント
  • 20. 20Copyright © 2013 NTT DATA Corporation サミットの盛況ぶりを裏付けるコミュニティの成長 出典: The State of Spark(Matei Zaharia) 最近話題に上ることが多い Stormなどと比較してもSparkも 負けていない 開発母体であるオープンソースコミュニティが成長してくると、 機能拡充や不具合への対応が充実してくる傾向がある
  • 21. 21Copyright © 2013 NTT DATA Corporation (参考)Sparkはコードのコミット量が多い(その1) 150 20 2/17 8/25 2/9 2/17 8/25 2/9 summit 0.9.0 週あたりのコミット数比較 Spark Storm 増加傾向?
  • 22. 22Copyright © 2013 NTT DATA Corporation (参考)Sparkはコードのコミット量が多い(その2) 150 40 2/17 8/25 2/9 2/17 8/25 2/9 summit 0.9.0 週あたりのコミット数比較 Spark Drill 増加傾向?
  • 23. 23Copyright © 2013 NTT DATA Corporation 着実に開発母体が大きくなっていることが分かる 出典: The State of Spark(Matei Zaharia) Spark 0.9.0 142 contributors 2014/2 Githubの「contributors」の数の推移
  • 24. 24Copyright © 2013 NTT DATA Corporation 実は2012年からカンファレンスへの露出があった 出典: The State of Spark(Matei Zaharia) Databricksの母体となった AMPLABが主
  • 25. 25Copyright © 2013 NTT DATA Corporation Hadoopとの連携を強めて利便性高くなってきた 出典: Big Data Research in the AMPLab:BDAS and Beyond(Michael Franklin ) 「UC Berkeleyの既存プロダクト」と「Hadoopの既存エコシステム」の連携を強める 動きが見られ、先行するHadoopの機能を利用しやすくなっている Sparkの入出力や データの永続化に利用 高度なリソースマネー ジメントに利用 Hiveで培われた SQLによる分散処理を利用
  • 26. 26Copyright © 2013 NTT DATA Corporation Yahoo台湾でパーソナライズに利用されている 一部の処理をHadoopから Sparkに置き換えている 出典: Hadoop and Saprk Join Forces at Yahoo(Andy Feng) 台湾のショッピングサイトで 利用されている 企業ユースも少しずつ増えている様子である (数人程度 x 数か月で移行したとのこと)
  • 27. 27Copyright © 2013 NTT DATA Corporation 低レスポンスが求められる繰り返し処理をSparkに 出典: Analytics on Spark & Shark @Yahoo (Tim Tully) 新しいスタック従来のスタック 業務処理後半の分析業務や 繰り返し処理のレスポンスに課題 スループット重視:Hadoop レスポンス重視:Spark Yahoo!の処理基盤の将来的なイメージ Pig/Hive/MR BI/OLAP Spark/Shark
  • 28. 28Copyright © 2013 NTT DATA Corporation コンテンツ配信でのユーザエクスペリエンス向上を狙う CONVIVA社での利用イメージ 出典: Using Spark @ CONVIVA Adaptive Bit Rateの調整 CDNスイッチの最適化 きめ細かなトラヒックシェーピン グとマルチCDNの実現を目指す 如何に素早く フィードバックできるか? Spark分析基盤 ビデオ配信の効率を最適化し、エンゲージ率の向上を狙う (もともとはHadoopやストリーム処理基盤を利用していた事例)
  • 29. 29Copyright © 2013 NTT DATA Corporation Conviva社「デメリットを補って余りあるメリット」 分析の高速化、ビットレート向上に確かに貢献 プログラミングモデルが適していた&コミュニティが活発 Conviva社では様々な機械学習をプロトタイプ バッチ処理とストリーム処理で同じフレームワークを利用できた スケールさせやすかった 良かった点 苦労した点 故障対処と運用 Sparkの基盤に関する独自の知識(特にデータモデル)が必要 デバッグに際して知識が必要 チューニングに際して知識が必要 数か月間のプロダクション環境実績から得られた感想
  • 30. 30Copyright © 2013 NTT DATA Corporation インタラクティブ処理、繰り返し処理を利用しやすく 出典: The State of Spark(Matei Zaharia) 中間結果をHDFSに保持しながら処理 従来の細切れの処理 Sparkでは 既存言語から利用しやすい HDFSを透過的に利用できる Sparkが提供してくれる機能のイメージ
  • 31. Copyright © 2013 NTT DATA Corporation 31 適用範囲の広がるSparkエコシステム
  • 32. 32Copyright © 2013 NTT DATA Corporation Shark: SQLで記述できる分散処理フレームワーク バックエンドでSparkが動作する 先行するHive(Hadoop)と互換性を保ちながら発展中 SharkとHiveのスタック比較 出典: Shark(Michael Armbrust @ Databricks) クエリやUDFはHive互換 最新リリース: 0.8.1 (2014/1/15) 最新プレリリース: 0.9.0 2014/2現在、対応Hadoopは2.0系
  • 33. 33Copyright © 2013 NTT DATA Corporation Spark Streaming: ストリーム処理フレームワーク 出典: Apache Spark (http://spark.incubator.apache.org/docs/latest/streaming-programming-guide.html) 入力データを 小さく区切ってRDDを 生成 小さなRDD(データセット)が 連なったもの 入力データを 区切った単語のRDDを生成 小さなバッチ処理を繰り返してSpark上にストリーミング処理を実現 時間 時間 時間 (Spark StreamingのバージョンはSparkと同一)
  • 34. 34Copyright © 2013 NTT DATA Corporation  繰り返し処理を得意とする Spark の特徴を生かし、1台のサーバで処理できない量の データセットに対して分散処理で機械学習を実現する  Sparkの0.8系(2013年9月)から本体へ導入  Spark 0.9.0 同梱の MLlib のコード量は約4KStep  利用可能な処理  二値分類 : 線形サポートベクタマシン、ロジスティック回帰  線形回帰:Lasso回帰、Redge回帰  クラスタリング:k-means (Scalable K-means++)  協調フィルタリング:Alternating Least Squares (ALS)  勾配降下法 (Gradient Descent)  Scala、Java、Python から 利用可能 MLlib: Sparkで使える機械学習ライブラリ 分散ファイルシステム HDFS バッチ Map Reduce SQL Hive リソース管理機構 YARN インメモリ分散処理 Apache Spark SQL Shark 機械学習 MLLib グラフ GraphX ストリーム Spark Streaming
  • 35. Copyright © 2013 NTT DATA Corporation 35 (参考)Sparkの技術トピック
  • 36. 36Copyright © 2013 NTT DATA Corporation Python、Scala、Javaに対応 出典: Using Apache Spark(Pat McDonough@Databricks) 「関数」を書きやすいScalaかPythonがおすすめ
  • 37. 37Copyright © 2013 NTT DATA Corporation Sparkシェルの実行例 ScalaのREPLを拡張したSparkシェルを利用し、インタラクティブの処理できる ・プロセス内単体で起動できる ・Sparkクラスタに接続&実行できる Sparkクラスタに接続してシェルを起動
  • 38. 38Copyright © 2013 NTT DATA Corporation HDFSから入力データを取得する例 Sparkシェル内で、Scalaで実装する testdata.txtをインプットとして利用 HDFS上のデータを入力とした新たなRDDが定義された ・HadoopのHDFS APIが対応しているファイルシステムを利用できる (ローカルファイルシステムを含む) ・そのほかのプロトコルにも対応している
  • 39. 39Copyright © 2013 NTT DATA Corporation データを単語に分割してカウントし、出力する例 入力データを単語に分割して 単語ごとに総数を算出する (いわゆるワードカウント) HDFS上に出力 出力結果の例 あたかもJavaやScalaの コレクション操作をするように見えて、 裏では分散処理を実行している
  • 40. 40Copyright © 2013 NTT DATA Corporation UIは黎明期のHadoopよりも充実している様子 実行状況管理のエントリポイントであるウェブUI マスタUI ワーカUI
  • 41. 41Copyright © 2013 NTT DATA Corporation WordCountの実装例 val file = spark.textFile("hdfs://...") val counts = file.flatMap(line => line.split(" ")) .map(word => (word, 1)) .reduceByKey(_ + _) counts.saveAsTextFile("hdfs://...") 1) HDFSからデータを入力する定義 2) データを単語に分割する定義 3) 単語ごとにタプルを作る定義 4) タプルを集約する定義 5) HDFSに出力する定義 サンプルコード 流れの概要