SlideShare uma empresa Scribd logo
1 de 45
© 2019 NTT DATA Corporation
2019年9月25日
株式会社NTTデータ 技術開発本部
猿田 浩輔
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform
© 2019 NTT DATA Corporation 2
$ whoami
 猿田 浩輔
 株式会社NTTデータ 技術開発本部
 シニア・ソフトウェアエンジニア / Apache Sparkコミッタ
 Hadoop/SparkなどOSS並列分散処理系の開発やテクニカルサポートに従事
 普及活動の一環で講演や書籍執筆なども
 Twitter: @raspberry1123
© 2019 NTT DATA Corporation 3
本日のお話
 Apache SparkはこれまでUnified Analytics Platformとして様々なユースケース
をカバーしてきた
 バッチ
 ストリーム
 機械学習
 グラフ処理
 クエリ処理
 昨今はAIをはじめ、"よりインテリジェントな分析"を実現する機能の導入が検
討されている
 Project Hydrogen
• Spark上で分散Deep Learningを可能にするための下地作り
 Spark Graph
• Sparkの新しいグラフ処理ライブラリ
© 2019 NTT DATA Corporation 4
Project Hydrogen
© 2019 NTT DATA Corporation 5
ビッグデータとディープラーニング
 昨今AI(特にDeep Learning)が身近なものになり、領域を問わず活用されるよ
うになってきた
 Deep Learningは旧来のアルゴリズムと比較して大量のデータの活用によって
精度の向上が期待できる
 大量のデータで学習するために、複数の計算機を用いた分散ディープラーニ
ングが活用されるケースも出てきた
 Distributed TensorFlowやHorovodなど、
分散ディープラーニングを実現可能にする
フレームワークも登場
 Sparkも分散ディープラーニングパイプラインを
構成する一部として用いられてきた
http://cs229.stanford.edu/materials/CS229-DeepLearning.pdf
© 2019 NTT DATA Corporation 6
分散DLのワークロードの中で、Sparkはこれまでどう使われてきたか
① 前処理や、学習/推論部分とデータソースとのインターフェイス
 DLでは学習/推論部分だけでなく、学習データセットや推論対象のデータとの
インターフェイスや前処理も重要
 特に分散DLでは学習/推論以外の部分も分散処理が必要になる。ここで分散ETL
の実績があるSparkが活用されるケースがある
 RDBMSや分散KVS、クラウドストレージ、様々なデータフォーマットに対応
している点(インターフェイスの豊富さ)もSparkが選択される際のポイント
前処理済みデータセット
分散ストレージなど
分散学習
分散
ETL
© 2019 NTT DATA Corporation 7
分散DLのワークロードの中で、Sparkはこれまでどう使われてきたか
② 推論部分の分散実行
 学習自体はTensorFlowなどに任せて、作成したモデルを用いて推論部分を分散
実行するケースもある
分散ストレージなど
モデルの
生成前処理 + 分散推論
学習済みモデル
© 2019 NTT DATA Corporation 8
 SparkクラスタとDLクラスタ間での連携にはユーザ側で作りこみが必要
 同じマシン上でSparkとDLフレームワークを動かしていても課題は一緒
 異なる種類のクラスタを運用することによる、オペレーションの煩雑化も
SparkとDLクラスタの連携には工夫が必要
分散ストレージなど
Sparkクラスタ
• 外部からのデータロード
• データの前処理
• 分散推論
DLクラスタ
• 分散学習
• モデルの作成
前処理済みデータセット
学習済みモデル
ユーザによる作りこみが必要な連携部分
© 2019 NTT DATA Corporation 9
SparkクラスタとDLクラスタが統合できるとよい
 分散学習/推論が、Spark上のアプリケーションとして実行できるとよい
 Sparkの仕組みに閉じてデータのロードや前処理、学習/推論が完結
 ユーザ側でSparkとDLクラスタ側の連携方法の作りこみが不要
 TensorFlow On SparkやIntel BigDLなど、この課題に着目したフレームワーク
も登場した
 ただし、Spark側でDLのワークロードに求められる機能が不足しているため、
フレームワーク開発者は苦戦を強いられている
 どんな機能が不足しているのかはこのセッションのポイントのひとつ。
概ね以下の通り
• タスク間の同期が可能なスケジューリング機能
• GPUなどのアクセラレータをタスクに割り当てる機能
• 既存のDLフレームワークやそれに付随する外部プロセスとの効率的なデー
タ交換を支援する機能
© 2019 NTT DATA Corporation 10
Project Hydrogen
 Spark上で分散DLを実現するための一連のサブプロジェクト
 主にDLフレームワーク開発者向けの支援機能などの導入がメイン
 あくまで支援機能の導入がメイン。DLにおける学習/推論アルゴリズム
そのものの導入はスコープ外
 大きく3つの取り組みから成り立っている
Barrier Execution
Mode
Optimized Data
Exchange
Accelerator
Aware
Scheduling
© 2019 NTT DATA Corporation 11
Project Hydrogen
① Barrier Execution Mode
© 2019 NTT DATA Corporation 12
従来のSparkの実装では分散学習が難しい
 推論部分は各Executorがモデルをロードしておき、受信したデータに対して
各Executorが推論を行えばよいので、Sparkの既存の機能で実現できる
 分散学習については、AllReduceなどで勾配パラメータを交換時際にタスク間
で同期が必要になるが・・・
 Sparkのスケジューリング機構がタスク間での同期を想定した実装に
なっていないため難しい
Executor Executor Executor
推論対象
データ
学習済みモデルのロード
丸 三角 星
© 2019 NTT DATA Corporation 13
おさらい: Sparkの処理単位とタスクスケジューリングの基本
 Sparkでは、ユーザが記述した処理から「ステージ」や「タスク」と呼ばれる
処理単位が生成される
 複数のExecutorが異なるタスクを処理することでクラスタ全体で分散処理が
行われる
ステージ1 シャッフル ステージ3 シャッフル ステージ4
タスク
タスク
タスク
タスク
タスク
タスク
タスク
タスク
タスク
ステージ2
タスク
タスク
© 2019 NTT DATA Corporation 14
おさらい: Sparkの処理単位とタスクスケジューリングの基本
 Executorへのタスクの割り当ては、Sparkのスケジューラが決定する
 依存のあるステージでは、先行するステージのタスクがすべて完了すると後
続のステージのスケジューリングが始まる(図中ステージ1、3、4)
 依存のないステージ同士は同時にスケジューリングされる(図中のステージ1
とステージ2)
ステージ1 シャッフル ステージ3 シャッフル ステージ4
タスク
タスク
タスク
タスク
タスク
タスク
タスク
タスク
タスク
ステージ2
タスク
タスク
© 2019 NTT DATA Corporation 15
おさらい: 従来からのタスクスケジューリング
スロットは同時にスケジューリングさ
れた複数のステージのタスクで共用さ
れる。
そのため、あるステージのタスクを全
て同時にスケジューリングできるとは
限らない。
Executor
スロット
(タスクを割り
当てる空間)
スケジューリング待ちのタスク
(色の違いは異なるステージを表現)
ドライバ
Executor
スロットが空き次第次々と
タスクをスケジューリング
© 2019 NTT DATA Corporation 16
おさらい: 従来からのタスクスケジューリング
Executor
スロット
(タスクを割り
当てる空間)
スケジューリング待ちのタスク
(色の違いは異なるステージを表現)
ドライバ
Executor
スロットが空き次第次々と
タスクをスケジューリング
スループットの面で有利だが、ステー
ジ内のすべてのタスクが同時にスケ
ジューリングされるとは限らないので、
分散DLのワークロードで求められるよ
うなタスク間の同期が難しい
スロットは同時にスケジューリングさ
れた複数のステージのタスクで共用さ
れる。
そのため、あるステージのタスクを全
て同時にスケジューリングできるとは
限らない。
© 2019 NTT DATA Corporation 17
おさらい: 従来からのタスクのリトライの仕組み
 あるタスクが失敗した場合、当該タスクのみリトライされる
 ステージ内の他のタスクは影響を受けずに処理を継続できる
 一方で協調動作が必要なタスク群はまとめてリトライしてほしい場合もある
タスク ×
完了
完了
リトライが必要なのは
失敗したタスクだけ
タスク
タスク
© 2019 NTT DATA Corporation 18
Barrier Execution Mode
 Spark 2.4から導入されたBarrier Execution Modeでは、従来のスケジューリ
ング方式に加えてギャングスケジューリングが可能になった
 Barrier Mode Executionの対象のステージに含まれるタスクは、一度にまとめ
てスケジューリングされる
 十分なスロットがなければ待つ
 対象のステージ内の全てのタスクが成功するか、あるいは全て失敗するかの
いずれか(All or Nothing)
 リトライのスケジューリングもまとめて行う
 タスク間の同期を支援する仕組みも導入された
 同期のためのAPIや同期が必要な他のタスクの把握するAPIが導入された
© 2019 NTT DATA Corporation 19
Barrier Execution Modeの利用例
 RDD#barrierメソッドで、Barrier Execution Modeでのスケジューリング対象
を設定できる
 BarrierTaskContext#barrierメソッドで、タスク間の同期点を設定できる
 具体的な通信処理ロジックなどはDLフレームワーク側やDLアプリケーション
開発者が実装する必要がある
 Barrier Execution Modeは協調を可能にする仕掛けを提供するだけ
rdd.barrier().mapPartitions() { iter =>
val context = BarrierTaskContext.get() // バリアタスクコンテキストを取得
<何か処理>
context.barrier() // タスク間の待ち合わせ。全てのタスクがここに到達したら先に進む。
<何か処理(勾配パラメータの交換など)>
© 2019 NTT DATA Corporation 20
Barrier Execution Modeの開発状況
 基本的な機能は概ねSpark 2.4で完成している
 DLのユースケースで用いられることの多いPythonでももちろん利用可能
 Dynamic Resource Allocationとの併用は現段階では不可
 3.0でも少しだけアップデートあり
 WebUI
 ギャングスケジューリングが不可能な場合の
ログメッセージの改善
 設定項目のドキュメントが追加された
Barrier Mode Executionの対象となる
オペレーションは緑色で表示される
© 2019 NTT DATA Corporation 21
Project Hydrogen
② Accelerator Aware Scheduling
© 2019 NTT DATA Corporation 22
DLのワークロードではGPUなどのアクセラレータの活用が当たり前に
 DLのワークロードではGPUを活用することが当たり前になってきている
 多くのDLフレームワークがGPUをサポートしている
 DLフレームワークをSpark向けに開発する場合、Spark内部からGPUなどのア
クセラレータを扱える必要がある
 これまではGPUなどのアクセラレータを想定した作りになっていなかった
© 2019 NTT DATA Corporation 23
これまでのSparkはアクセラレータの割り当て制御が不十分
 YARNやKubernetesなどは既にGPUをサポートしているはずでは?
 YARNやKubernetesがGPUの割り当てを制御するのはコンテナやPodの単位
 コンテナ/Pod単位ではGPUが適切に分離される
Executor
(コンテナやPod内で動作)
GPU GPU
GPU
GPU
GPU
GPU
スレーブサーバ内
のGPU
NodeManager/Workerは、
GPUプールの中から要求
された数のGPUを割り当
ててコンテナ/Podを起動
割り当てられている最中
のGPUは、他のコンテナ
やPodに割り当てられた
り、アクセスされないよ
うに制御される
スレーブサーバ
© 2019 NTT DATA Corporation 24
これまでのSparkはアクセラレータの割り当て制御が不十分
 SparkではExecutorプロセスがコンテナやPod内で動作するが、Executorの中
で更に複数のタスクがスロット分だけ並列で実行される
 YARNやKubernetesはコンテナ/Podの中身については関知しないので、タスク
に対してGPUをどのように割り当てるかは制御できない
Executor
GPU GPU
GPUなどのアクセラレータは
タスクに対して割り当てが制
御されていないため、競合や
無駄が生じる
スロット
スレーブサーバ
© 2019 NTT DATA Corporation 25
Accelerator Aware Scheduling
 Executorにどれだけアクセラレータを割り当てるかだけではなく、タスク対
して割り当てる数を設定できる
 タスクのスケジューリングは、要求する種類/数のアクセラレータを満足する
スロットに対して行われる
Executor
GPU GPU
タスクに割り当てられたアクセラ
レータは他のタスクからアクセス
されないように分離される
スレーブサーバ
GPU GPU
© 2019 NTT DATA Corporation 26
Accelerator Aware Schedulingの利用例
 Executorやタスクに割り当てるGPUの数などを設定する
 アプリ側では、TaskContext#resourcesで、タスクに割り当てられたGPUの識
別子を取得できる
context = TaskContext.get()
// タスクに割り当てられたGPUの識別子を取得
assigned_gpu = context.resources()[“gpu”][0]
with tf.device(assigned_gpu):
<何か処理>
・・・
// Executorあたり4つGPUを割り当てる
spark.executor.resource.gpu.amount=4
// タスクあたりに割り当てるGPUの数
spark.executor.task.gpu.amount=2
// Executorに割り当てられたGPUを検出するスクリプトの設定
spark.executor.resource.gpu.discoveryScript=...
© 2019 NTT DATA Corporation 27
Accelerator Aware Schedulingの開発状況
 Spark 3.0への導入に向けて開発が進行中
 YARN/Kubernetes/Standalone向けにはすでにパッチマージ済み
 Mesos向けにもJIRA上にチケットが切られてはいるが、優先度は低
 割り当てられたアクセラレータにアクセスするためのAPIもマージ済み
 基本的にはGPUに依らないアクセラレータを考慮したスケジューリングの仕
組みだが、当面はGPUを対象としている
 そのほかWebUIからもアクセラレータの割り当て状況が確認できるように開
発が進められている(SPARK-27489)
© 2019 NTT DATA Corporation 28
Project Hydrogen
③ Optimized Data Exchange
© 2019 NTT DATA Corporation 29
 Spark向けにDLフレームワークを開発するといってもやり方はいろいろ
 最初からSpark向けに作る
 TensorFlowやHorovodなど、既存のフレームワークをSparkに移植/統合
する
• 例えばSparkのExecutorがDistributed TensorFlowクラスタを構成する
イメージ
• 処理基盤がSparkに変わるだけで、ユーザの視点で見ればインター
フェイスが一緒な分使いやすい
Spark向けDLフレームワークの実現の仕方も色々
© 2019 NTT DATA Corporation 30
 既存のDLフレームワークの中にはJVM上で動作する言語以外で記述されてい
るものもある
 特にPythonで動作するフレームワークが多い
 このようなフレームワークをSparkに統合する場合各Executorは外部プロセス
を制御しつつ、JVMと外部プロセスとの間でデータ交換が必要
既存のDLフレームワークをSpark向けに統合する際の課題
スレーブサーバ
Executor 外部プロセス
(Pythonなど)
両プロセス間でデータ交換が必要
© 2019 NTT DATA Corporation 31
既存のDLフレームワークをSpark向けに統合する際の課題
 Executorと外部プロセス間のデータ交換を効率的に行うためには、考えなけ
ればならないことがある
 JVMと外部プロセスとの間のデータ転送効率
 JVMと外部プロセスとの間でのリソース利用効率
 etc
 DLフレームワークをSparkに統合するにあたって、データ交換を効率的に行う
ための一連の取り組みがOptimized Data Exchange
 Optimized Data Exchange自体更にさまざまな取り組みから構成されている
© 2019 NTT DATA Corporation 32
Pandas UDFでExecutor-Python間の効率的なデータ交換はある程度達成済み
 Spark SQLをPythonから利用する場合、UDFはPython上で動作するためJVM
とPython間でデータ交換が必要
 Pandas UDF(Spark 2.3~)の導入により、JVMとPythonプロセス間のデータ転
送効率はある程度改善された
 JVMとPythonの両方で扱えるArrowを共通の中間フォーマットとし、両プロセ
ス間で複数のレコードを効率よくまとめてやりとりする
UDFで処理
対象になる
DataFram
Executor (JVMプロセス)
「バッチ」と呼
ばれる単位で
Apache Arrow
でシリアライズ
Pythonプロセス
Python側では
Pandasのデータ
構造にデシリア
ライズ
© 2019 NTT DATA Corporation 33
まだまだ改善の余地もある
 Pandasが必要ないシーンではArrowでシリアライズしたデータからPandasへ
の変換が無駄
 ArrowからPandasを経由せずに直接NumPy arrayを得たい場合など
 Arrowベースの中間フォーマットがユーザやF/W開発者に公開されていない
 Spark SQLでPandas UDFを利用する場合以外にはJVMと外部プロセスとの
データ交換は効率化されない
 ExecutorとPythonプロセスの処理がパイプライン化されていない
 片方のプロセスがデータ処理している間もう片方のリソースが無駄に
UDFで処理
対象になる
DataFram
Executor (JVMプロセス)
「バッチ」と呼
ばれる単位で
Apache Arrow
でシリアライズ
Pythonプロセス
Python側では
Pandasのデータ
構造にデシリア
ライズ
© 2019 NTT DATA Corporation 34
Optimized Data Exchangeの開発状況
 Pandas UDF Prefetch (SPARK-27569)
 次にPandas UDFで処理するバッチをPython側であらかじめフェッチしておく
ことでパイプライン化を実現する試み
 3.0への導入に向けて開発中
 Databricksが先んじて内部で開発/利用中。1.5倍程度の高速化を達成したと報告
されている
 Public APIs for extended Columnar Processing Support (SPARK-27396)
 Sparkと外部プロセスとの間でやり取りされる効率的な中間フォーマットとAPI
を整備する試み
 導入は3.0以降?
 そのほかすでにマージされたものも(Pandas UDFの改善)
 UDF側で必要な初期化ロジックなどを、バッチごとではなく1回で済ませる仕
組み (SPARK-26412)
 Scalar UDFで複雑なデータ構造の返却をサポート (SPARK-23836)
© 2019 NTT DATA Corporation 35
Spark Graph
© 2019 NTT DATA Corporation 36
Spark向けのグラフ処理ライブラリ
 グラフはアナリティクスではテーブルライクなデータ構造と同様にポピュ
ラーなデータ表現のひとつ
 ソーシャルグラフ
 ナレッジグラフ
 不正検知
 etc
 これまでもSpark向けに様々なグラフ処理ライブラリが存在する
 GraphX
 GraphFrames (サードパーティ・パッケージ)
© 2019 NTT DATA Corporation 37
従来のSpark向けのグラフライブラリの問題点
 GraphX
 RDDベース
 Scala APIしか提供されていない
 ほとんどメンテナンスされていない
 GraphFrames
 DataFrameベース
 SparkPackagesで提供されるサードパーティパッケージ
 エッジやノードのセマンティクスが弱く、単純なグラフマッチングしか
行えない
© 2019 NTT DATA Corporation 38
GraphFramesのデータモデル
 GraphFramesではノード集合やエッジ集合をDataFrameで表現する
 各レコードがノードやエッジに対応する
 DataFrameとして表現されるためノードやエッジが属性を保持できる
 ただし、ノードやエッジそのものに「型」は定義できない
• ノードやエッジの種類の違いを区別できない
太郎 次郎
東京 NYC
姉妹都市
居住
兄弟
居住
駐在経験
• 右のグラフで緑のノードは場所を表し、
水色のノードは人を表す(型が違う)。
• エッジについても色ごとに種類が異なる。
• GraphFramesではエッジやノードの
「型」を設定できないため、種類の違い
を区別できない
© 2019 NTT DATA Corporation 39
GraphFramesのグラフマッチング
 GraphFramesではMotifsと呼ばれる簡易的なクエリでグラフマッチングが可能
 ただし、エッジやノードに型が定義できないため、形状に基づくマッチングし
か行えない
 属性(例えばノードに関連付けられた人の名前など)を考慮したマッチングもサ
ポートされていない
 Motifsでマッチした結果はDataFrameとして得られる。複雑な条件で部分グラ
フを得たい場合はMotifsとSpark SQLのオペレーションを併用する必要がある
val motifs = g.find(“(node1)-[edge]->(node2)”)
val filtered = motifs.filter(“edge.rel = ‘居住’”)
先述のグラフで居住者と居住地を表す部分グラフを抽出したい場合は、Motifsでマッチングした後
にエッジに付与された属性が「居住」であるものをフィルタする必要がある
© 2019 NTT DATA Corporation 40
Spark Graph
 Sparkの新しいグラフ処理ライブラリ
 Property Graphと呼ばれるデータモデルを採用し、エッジやノードに「属性」だ
けでなく「型」が設定できる
 Cypherによるグラフマッチングが可能
 Property Graphに対して、型や属性に基づくマッチングが可能
 マッチしたエッジやノードから属性を取り出し、DataFrameとして返却する
ことも可能
© 2019 NTT DATA Corporation 41
Cypherによるグラフマッチの例
val result: CypherResult = graph.cypher(
"""|MATCH (person: 人)-[rel: 居住]->(loc: 都市)
"""|RETURN person.name, loc.name""").stripMargin
result.df.show()
| person.name | loc.name |
| 太郎 | 東京 |
| 次郎 | 東京 |
Property Graphに対するCypherの適用例
© 2019 NTT DATA Corporation 42
Spark Graphの開発動向
 Spark 3.0への導入を目指して開発が進められている
 Neo4jの開発者が積極的に開発に参加している
 現時点でソースツリーにSpark Graph向けの新たなサブモジュールが追加され
ている(ただしコードはまだない)
 graph/api
• ユーザ向けのAPIが格納される
 graph/cypher
• グラフクエリ処理エンジンが格納される
• クエリエンジンはokapiをベースに実装される?
 graph/graph
• Spark Graphベースのグラフアルゴリズムの実装が格納される
© 2019 NTT DATA Corporation 43
まとめ
© 2019 NTT DATA Corporation 44
まとめ
 Project Hydrogen
 分散DLにおけるデータロードや前処理だけでなく、学習/推論もSparkで実現可
能にするための取り組み
 大きく3つの取り組みから構成される
• Barrier Execution Mode
• Accelerator Aware Scheduling
• Optimized Data Exchange
 Project Hydrogenの支援によって、Spark上で動作する洗練された分散DLフ
レームワークの登場に期待したい
 Spark Graph
 Sparkの新しいグラフ処理系
 Spark上の従来のグラフ処理系よりも高度なグラフマッチングを可能にする
 ポピュラーなグラフアルゴリズムも同梱される予定
 Spark SQLとの連携も可能
© 2019 NTT DATA Corporation

Mais conteúdo relacionado

Mais procurados

NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...NTT DATA Technology & Innovation
 
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...NTT DATA Technology & Innovation
 
まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...NTT DATA Technology & Innovation
 
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
 
大量のデータ処理や分析に使える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...NTT DATA Technology & Innovation
 
Hadoop Compatible File Systems 2019 (db tech showcase 2019 Tokyo講演資料、2019/09/25)
Hadoop Compatible File Systems 2019 (db tech showcase 2019 Tokyo講演資料、2019/09/25)Hadoop Compatible File Systems 2019 (db tech showcase 2019 Tokyo講演資料、2019/09/25)
Hadoop Compatible File Systems 2019 (db tech showcase 2019 Tokyo講演資料、2019/09/25)NTT DATA Technology & Innovation
 
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)NTT DATA Technology & Innovation
 
大量のデータ処理や分析に使える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
 
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとMBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとInsight Technology, Inc.
 
堅牢な国内システムへの導入でも安心!実践的Mulesoft設計テクニック(NTTデータ テクノロジーカンファレンス 2020 発表資料)
堅牢な国内システムへの導入でも安心!実践的Mulesoft設計テクニック(NTTデータ テクノロジーカンファレンス 2020 発表資料)堅牢な国内システムへの導入でも安心!実践的Mulesoft設計テクニック(NTTデータ テクノロジーカンファレンス 2020 発表資料)
堅牢な国内システムへの導入でも安心!実践的Mulesoft設計テクニック(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)NTT DATA Technology & Innovation
 
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...NTT DATA Technology & Innovation
 
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)NTT DATA Technology & Innovation
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)NTT DATA Technology & Innovation
 
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...NTT DATA Technology & Innovation
 
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...NTT DATA Technology & Innovation
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)NTT DATA Technology & Innovation
 
平成最後の1月ですし、Databricksでもやってみましょうか
平成最後の1月ですし、Databricksでもやってみましょうか平成最後の1月ですし、Databricksでもやってみましょうか
平成最後の1月ですし、DatabricksでもやってみましょうかRyuichi Tokugami
 

Mais procurados (20)

NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
 
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
 
まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
 
Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力
 
大量のデータ処理や分析に使える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 Compatible File Systems 2019 (db tech showcase 2019 Tokyo講演資料、2019/09/25)
Hadoop Compatible File Systems 2019 (db tech showcase 2019 Tokyo講演資料、2019/09/25)Hadoop Compatible File Systems 2019 (db tech showcase 2019 Tokyo講演資料、2019/09/25)
Hadoop Compatible File Systems 2019 (db tech showcase 2019 Tokyo講演資料、2019/09/25)
 
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
 
大量のデータ処理や分析に使える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 発表資料)
 
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとMBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごと
 
堅牢な国内システムへの導入でも安心!実践的Mulesoft設計テクニック(NTTデータ テクノロジーカンファレンス 2020 発表資料)
堅牢な国内システムへの導入でも安心!実践的Mulesoft設計テクニック(NTTデータ テクノロジーカンファレンス 2020 発表資料)堅牢な国内システムへの導入でも安心!実践的Mulesoft設計テクニック(NTTデータ テクノロジーカンファレンス 2020 発表資料)
堅牢な国内システムへの導入でも安心!実践的Mulesoft設計テクニック(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
 
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
 
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
 
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...
 
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
 
平成最後の1月ですし、Databricksでもやってみましょうか
平成最後の1月ですし、Databricksでもやってみましょうか平成最後の1月ですし、Databricksでもやってみましょうか
平成最後の1月ですし、Databricksでもやってみましょうか
 

Semelhante a Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tokyo講演資料、2019/09/25)

Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~NTT DATA OSS Professional Services
 
大規模データ処理の定番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 発...NTT DATA Technology & Innovation
 
Hybrid cloud fj-20190704_final
Hybrid cloud fj-20190704_finalHybrid cloud fj-20190704_final
Hybrid cloud fj-20190704_finalKei Furusawa
 
de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版Minoru Naito
 
Apache Spark 3.0新機能紹介 - 拡張機能やWebUI関連のアップデート(Spark Meetup Tokyo #3 Online)
Apache Spark 3.0新機能紹介 - 拡張機能やWebUI関連のアップデート(Spark Meetup Tokyo #3 Online)Apache Spark 3.0新機能紹介 - 拡張機能やWebUI関連のアップデート(Spark Meetup Tokyo #3 Online)
Apache Spark 3.0新機能紹介 - 拡張機能やWebUI関連のアップデート(Spark Meetup Tokyo #3 Online)NTT DATA Technology & Innovation
 
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェストIssei Hiraoka
 
Quick Overview of Upcoming Spark 3.0 + α
Quick Overview of Upcoming Spark 3.0 + αQuick Overview of Upcoming Spark 3.0 + α
Quick Overview of Upcoming Spark 3.0 + αTakeshi Yamamuro
 
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...NTT DATA Technology & Innovation
 
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...NTT DATA OSS Professional Services
 
[Oracle Innovation Summit Tokyo 2018] 水環境の持続を支えるクラウド型ICTプラットフォーム「Water Busine...
[Oracle Innovation Summit Tokyo 2018] 水環境の持続を支えるクラウド型ICTプラットフォーム「Water Busine...[Oracle Innovation Summit Tokyo 2018] 水環境の持続を支えるクラウド型ICTプラットフォーム「Water Busine...
[Oracle Innovation Summit Tokyo 2018] 水環境の持続を支えるクラウド型ICTプラットフォーム「Water Busine...オラクルエンジニア通信
 
Cloud Show Japan 2013 Japan OpenStack User Group 枠 HP Cloud 紹介
Cloud Show Japan 2013 Japan OpenStack User Group 枠 HP Cloud 紹介Cloud Show Japan 2013 Japan OpenStack User Group 枠 HP Cloud 紹介
Cloud Show Japan 2013 Japan OpenStack User Group 枠 HP Cloud 紹介Toru Makabe
 
ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1Satoshi Ueno
 
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Insight Technology, Inc.
 
Reactive Workflow Argo Eventsの紹介
Reactive Workflow Argo Eventsの紹介Reactive Workflow Argo Eventsの紹介
Reactive Workflow Argo Eventsの紹介Daisuke Taniwaki
 
Microsoft MVP から見たクラウド サービスの現状と今後について
Microsoft MVP から見たクラウド サービスの現状と今後についてMicrosoft MVP から見たクラウド サービスの現状と今後について
Microsoft MVP から見たクラウド サービスの現状と今後についてIIJ
 
リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例Recruit Technologies
 
[Modern Cloud Day Tokyo 2019] オラクルクラウド移行を完了したゲストに聞くOracle Cloudを選択する理由&次世代インフ...
[Modern Cloud Day Tokyo 2019] オラクルクラウド移行を完了したゲストに聞くOracle Cloudを選択する理由&次世代インフ...[Modern Cloud Day Tokyo 2019] オラクルクラウド移行を完了したゲストに聞くOracle Cloudを選択する理由&次世代インフ...
[Modern Cloud Day Tokyo 2019] オラクルクラウド移行を完了したゲストに聞くOracle Cloudを選択する理由&次世代インフ...オラクルエンジニア通信
 

Semelhante a Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tokyo講演資料、2019/09/25) (20)

Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
大規模データ処理の定番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 発...
 
Hybrid cloud fj-20190704_final
Hybrid cloud fj-20190704_finalHybrid cloud fj-20190704_final
Hybrid cloud fj-20190704_final
 
de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版
 
Apache Spark 3.0新機能紹介 - 拡張機能やWebUI関連のアップデート(Spark Meetup Tokyo #3 Online)
Apache Spark 3.0新機能紹介 - 拡張機能やWebUI関連のアップデート(Spark Meetup Tokyo #3 Online)Apache Spark 3.0新機能紹介 - 拡張機能やWebUI関連のアップデート(Spark Meetup Tokyo #3 Online)
Apache Spark 3.0新機能紹介 - 拡張機能やWebUI関連のアップデート(Spark Meetup Tokyo #3 Online)
 
Spark SQL - The internal -
Spark SQL - The internal -Spark SQL - The internal -
Spark SQL - The internal -
 
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
 
Quick Overview of Upcoming Spark 3.0 + α
Quick Overview of Upcoming Spark 3.0 + αQuick Overview of Upcoming Spark 3.0 + α
Quick Overview of Upcoming Spark 3.0 + α
 
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
 
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
 
Hadoop ecosystem NTTDATA osc15tk
Hadoop ecosystem NTTDATA osc15tkHadoop ecosystem NTTDATA osc15tk
Hadoop ecosystem NTTDATA osc15tk
 
[Oracle Innovation Summit Tokyo 2018] 水環境の持続を支えるクラウド型ICTプラットフォーム「Water Busine...
[Oracle Innovation Summit Tokyo 2018] 水環境の持続を支えるクラウド型ICTプラットフォーム「Water Busine...[Oracle Innovation Summit Tokyo 2018] 水環境の持続を支えるクラウド型ICTプラットフォーム「Water Busine...
[Oracle Innovation Summit Tokyo 2018] 水環境の持続を支えるクラウド型ICTプラットフォーム「Water Busine...
 
Cloud Show Japan 2013 Japan OpenStack User Group 枠 HP Cloud 紹介
Cloud Show Japan 2013 Japan OpenStack User Group 枠 HP Cloud 紹介Cloud Show Japan 2013 Japan OpenStack User Group 枠 HP Cloud 紹介
Cloud Show Japan 2013 Japan OpenStack User Group 枠 HP Cloud 紹介
 
ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1
 
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
 
Reactive Workflow Argo Eventsの紹介
Reactive Workflow Argo Eventsの紹介Reactive Workflow Argo Eventsの紹介
Reactive Workflow Argo Eventsの紹介
 
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
 
Microsoft MVP から見たクラウド サービスの現状と今後について
Microsoft MVP から見たクラウド サービスの現状と今後についてMicrosoft MVP から見たクラウド サービスの現状と今後について
Microsoft MVP から見たクラウド サービスの現状と今後について
 
リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例
 
[Modern Cloud Day Tokyo 2019] オラクルクラウド移行を完了したゲストに聞くOracle Cloudを選択する理由&次世代インフ...
[Modern Cloud Day Tokyo 2019] オラクルクラウド移行を完了したゲストに聞くOracle Cloudを選択する理由&次世代インフ...[Modern Cloud Day Tokyo 2019] オラクルクラウド移行を完了したゲストに聞くOracle Cloudを選択する理由&次世代インフ...
[Modern Cloud Day Tokyo 2019] オラクルクラウド移行を完了したゲストに聞くOracle Cloudを選択する理由&次世代インフ...
 

Mais de NTT DATA Technology & Innovation

OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)NTT DATA Technology & Innovation
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方NTT DATA Technology & Innovation
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...NTT DATA Technology & Innovation
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)NTT DATA Technology & Innovation
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)NTT DATA Technology & Innovation
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...NTT DATA Technology & Innovation
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)NTT DATA Technology & Innovation
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...NTT DATA Technology & Innovation
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)NTT DATA Technology & Innovation
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 

Mais de NTT DATA Technology & Innovation (20)

OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 

Último

論文紹介: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
 
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
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介: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
 
論文紹介: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
 

Último (9)

論文紹介: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
 
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」の紹介
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介: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
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介: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...
 

Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tokyo講演資料、2019/09/25)

  • 1. © 2019 NTT DATA Corporation 2019年9月25日 株式会社NTTデータ 技術開発本部 猿田 浩輔 Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform
  • 2. © 2019 NTT DATA Corporation 2 $ whoami  猿田 浩輔  株式会社NTTデータ 技術開発本部  シニア・ソフトウェアエンジニア / Apache Sparkコミッタ  Hadoop/SparkなどOSS並列分散処理系の開発やテクニカルサポートに従事  普及活動の一環で講演や書籍執筆なども  Twitter: @raspberry1123
  • 3. © 2019 NTT DATA Corporation 3 本日のお話  Apache SparkはこれまでUnified Analytics Platformとして様々なユースケース をカバーしてきた  バッチ  ストリーム  機械学習  グラフ処理  クエリ処理  昨今はAIをはじめ、"よりインテリジェントな分析"を実現する機能の導入が検 討されている  Project Hydrogen • Spark上で分散Deep Learningを可能にするための下地作り  Spark Graph • Sparkの新しいグラフ処理ライブラリ
  • 4. © 2019 NTT DATA Corporation 4 Project Hydrogen
  • 5. © 2019 NTT DATA Corporation 5 ビッグデータとディープラーニング  昨今AI(特にDeep Learning)が身近なものになり、領域を問わず活用されるよ うになってきた  Deep Learningは旧来のアルゴリズムと比較して大量のデータの活用によって 精度の向上が期待できる  大量のデータで学習するために、複数の計算機を用いた分散ディープラーニ ングが活用されるケースも出てきた  Distributed TensorFlowやHorovodなど、 分散ディープラーニングを実現可能にする フレームワークも登場  Sparkも分散ディープラーニングパイプラインを 構成する一部として用いられてきた http://cs229.stanford.edu/materials/CS229-DeepLearning.pdf
  • 6. © 2019 NTT DATA Corporation 6 分散DLのワークロードの中で、Sparkはこれまでどう使われてきたか ① 前処理や、学習/推論部分とデータソースとのインターフェイス  DLでは学習/推論部分だけでなく、学習データセットや推論対象のデータとの インターフェイスや前処理も重要  特に分散DLでは学習/推論以外の部分も分散処理が必要になる。ここで分散ETL の実績があるSparkが活用されるケースがある  RDBMSや分散KVS、クラウドストレージ、様々なデータフォーマットに対応 している点(インターフェイスの豊富さ)もSparkが選択される際のポイント 前処理済みデータセット 分散ストレージなど 分散学習 分散 ETL
  • 7. © 2019 NTT DATA Corporation 7 分散DLのワークロードの中で、Sparkはこれまでどう使われてきたか ② 推論部分の分散実行  学習自体はTensorFlowなどに任せて、作成したモデルを用いて推論部分を分散 実行するケースもある 分散ストレージなど モデルの 生成前処理 + 分散推論 学習済みモデル
  • 8. © 2019 NTT DATA Corporation 8  SparkクラスタとDLクラスタ間での連携にはユーザ側で作りこみが必要  同じマシン上でSparkとDLフレームワークを動かしていても課題は一緒  異なる種類のクラスタを運用することによる、オペレーションの煩雑化も SparkとDLクラスタの連携には工夫が必要 分散ストレージなど Sparkクラスタ • 外部からのデータロード • データの前処理 • 分散推論 DLクラスタ • 分散学習 • モデルの作成 前処理済みデータセット 学習済みモデル ユーザによる作りこみが必要な連携部分
  • 9. © 2019 NTT DATA Corporation 9 SparkクラスタとDLクラスタが統合できるとよい  分散学習/推論が、Spark上のアプリケーションとして実行できるとよい  Sparkの仕組みに閉じてデータのロードや前処理、学習/推論が完結  ユーザ側でSparkとDLクラスタ側の連携方法の作りこみが不要  TensorFlow On SparkやIntel BigDLなど、この課題に着目したフレームワーク も登場した  ただし、Spark側でDLのワークロードに求められる機能が不足しているため、 フレームワーク開発者は苦戦を強いられている  どんな機能が不足しているのかはこのセッションのポイントのひとつ。 概ね以下の通り • タスク間の同期が可能なスケジューリング機能 • GPUなどのアクセラレータをタスクに割り当てる機能 • 既存のDLフレームワークやそれに付随する外部プロセスとの効率的なデー タ交換を支援する機能
  • 10. © 2019 NTT DATA Corporation 10 Project Hydrogen  Spark上で分散DLを実現するための一連のサブプロジェクト  主にDLフレームワーク開発者向けの支援機能などの導入がメイン  あくまで支援機能の導入がメイン。DLにおける学習/推論アルゴリズム そのものの導入はスコープ外  大きく3つの取り組みから成り立っている Barrier Execution Mode Optimized Data Exchange Accelerator Aware Scheduling
  • 11. © 2019 NTT DATA Corporation 11 Project Hydrogen ① Barrier Execution Mode
  • 12. © 2019 NTT DATA Corporation 12 従来のSparkの実装では分散学習が難しい  推論部分は各Executorがモデルをロードしておき、受信したデータに対して 各Executorが推論を行えばよいので、Sparkの既存の機能で実現できる  分散学習については、AllReduceなどで勾配パラメータを交換時際にタスク間 で同期が必要になるが・・・  Sparkのスケジューリング機構がタスク間での同期を想定した実装に なっていないため難しい Executor Executor Executor 推論対象 データ 学習済みモデルのロード 丸 三角 星
  • 13. © 2019 NTT DATA Corporation 13 おさらい: Sparkの処理単位とタスクスケジューリングの基本  Sparkでは、ユーザが記述した処理から「ステージ」や「タスク」と呼ばれる 処理単位が生成される  複数のExecutorが異なるタスクを処理することでクラスタ全体で分散処理が 行われる ステージ1 シャッフル ステージ3 シャッフル ステージ4 タスク タスク タスク タスク タスク タスク タスク タスク タスク ステージ2 タスク タスク
  • 14. © 2019 NTT DATA Corporation 14 おさらい: Sparkの処理単位とタスクスケジューリングの基本  Executorへのタスクの割り当ては、Sparkのスケジューラが決定する  依存のあるステージでは、先行するステージのタスクがすべて完了すると後 続のステージのスケジューリングが始まる(図中ステージ1、3、4)  依存のないステージ同士は同時にスケジューリングされる(図中のステージ1 とステージ2) ステージ1 シャッフル ステージ3 シャッフル ステージ4 タスク タスク タスク タスク タスク タスク タスク タスク タスク ステージ2 タスク タスク
  • 15. © 2019 NTT DATA Corporation 15 おさらい: 従来からのタスクスケジューリング スロットは同時にスケジューリングさ れた複数のステージのタスクで共用さ れる。 そのため、あるステージのタスクを全 て同時にスケジューリングできるとは 限らない。 Executor スロット (タスクを割り 当てる空間) スケジューリング待ちのタスク (色の違いは異なるステージを表現) ドライバ Executor スロットが空き次第次々と タスクをスケジューリング
  • 16. © 2019 NTT DATA Corporation 16 おさらい: 従来からのタスクスケジューリング Executor スロット (タスクを割り 当てる空間) スケジューリング待ちのタスク (色の違いは異なるステージを表現) ドライバ Executor スロットが空き次第次々と タスクをスケジューリング スループットの面で有利だが、ステー ジ内のすべてのタスクが同時にスケ ジューリングされるとは限らないので、 分散DLのワークロードで求められるよ うなタスク間の同期が難しい スロットは同時にスケジューリングさ れた複数のステージのタスクで共用さ れる。 そのため、あるステージのタスクを全 て同時にスケジューリングできるとは 限らない。
  • 17. © 2019 NTT DATA Corporation 17 おさらい: 従来からのタスクのリトライの仕組み  あるタスクが失敗した場合、当該タスクのみリトライされる  ステージ内の他のタスクは影響を受けずに処理を継続できる  一方で協調動作が必要なタスク群はまとめてリトライしてほしい場合もある タスク × 完了 完了 リトライが必要なのは 失敗したタスクだけ タスク タスク
  • 18. © 2019 NTT DATA Corporation 18 Barrier Execution Mode  Spark 2.4から導入されたBarrier Execution Modeでは、従来のスケジューリ ング方式に加えてギャングスケジューリングが可能になった  Barrier Mode Executionの対象のステージに含まれるタスクは、一度にまとめ てスケジューリングされる  十分なスロットがなければ待つ  対象のステージ内の全てのタスクが成功するか、あるいは全て失敗するかの いずれか(All or Nothing)  リトライのスケジューリングもまとめて行う  タスク間の同期を支援する仕組みも導入された  同期のためのAPIや同期が必要な他のタスクの把握するAPIが導入された
  • 19. © 2019 NTT DATA Corporation 19 Barrier Execution Modeの利用例  RDD#barrierメソッドで、Barrier Execution Modeでのスケジューリング対象 を設定できる  BarrierTaskContext#barrierメソッドで、タスク間の同期点を設定できる  具体的な通信処理ロジックなどはDLフレームワーク側やDLアプリケーション 開発者が実装する必要がある  Barrier Execution Modeは協調を可能にする仕掛けを提供するだけ rdd.barrier().mapPartitions() { iter => val context = BarrierTaskContext.get() // バリアタスクコンテキストを取得 <何か処理> context.barrier() // タスク間の待ち合わせ。全てのタスクがここに到達したら先に進む。 <何か処理(勾配パラメータの交換など)>
  • 20. © 2019 NTT DATA Corporation 20 Barrier Execution Modeの開発状況  基本的な機能は概ねSpark 2.4で完成している  DLのユースケースで用いられることの多いPythonでももちろん利用可能  Dynamic Resource Allocationとの併用は現段階では不可  3.0でも少しだけアップデートあり  WebUI  ギャングスケジューリングが不可能な場合の ログメッセージの改善  設定項目のドキュメントが追加された Barrier Mode Executionの対象となる オペレーションは緑色で表示される
  • 21. © 2019 NTT DATA Corporation 21 Project Hydrogen ② Accelerator Aware Scheduling
  • 22. © 2019 NTT DATA Corporation 22 DLのワークロードではGPUなどのアクセラレータの活用が当たり前に  DLのワークロードではGPUを活用することが当たり前になってきている  多くのDLフレームワークがGPUをサポートしている  DLフレームワークをSpark向けに開発する場合、Spark内部からGPUなどのア クセラレータを扱える必要がある  これまではGPUなどのアクセラレータを想定した作りになっていなかった
  • 23. © 2019 NTT DATA Corporation 23 これまでのSparkはアクセラレータの割り当て制御が不十分  YARNやKubernetesなどは既にGPUをサポートしているはずでは?  YARNやKubernetesがGPUの割り当てを制御するのはコンテナやPodの単位  コンテナ/Pod単位ではGPUが適切に分離される Executor (コンテナやPod内で動作) GPU GPU GPU GPU GPU GPU スレーブサーバ内 のGPU NodeManager/Workerは、 GPUプールの中から要求 された数のGPUを割り当 ててコンテナ/Podを起動 割り当てられている最中 のGPUは、他のコンテナ やPodに割り当てられた り、アクセスされないよ うに制御される スレーブサーバ
  • 24. © 2019 NTT DATA Corporation 24 これまでのSparkはアクセラレータの割り当て制御が不十分  SparkではExecutorプロセスがコンテナやPod内で動作するが、Executorの中 で更に複数のタスクがスロット分だけ並列で実行される  YARNやKubernetesはコンテナ/Podの中身については関知しないので、タスク に対してGPUをどのように割り当てるかは制御できない Executor GPU GPU GPUなどのアクセラレータは タスクに対して割り当てが制 御されていないため、競合や 無駄が生じる スロット スレーブサーバ
  • 25. © 2019 NTT DATA Corporation 25 Accelerator Aware Scheduling  Executorにどれだけアクセラレータを割り当てるかだけではなく、タスク対 して割り当てる数を設定できる  タスクのスケジューリングは、要求する種類/数のアクセラレータを満足する スロットに対して行われる Executor GPU GPU タスクに割り当てられたアクセラ レータは他のタスクからアクセス されないように分離される スレーブサーバ GPU GPU
  • 26. © 2019 NTT DATA Corporation 26 Accelerator Aware Schedulingの利用例  Executorやタスクに割り当てるGPUの数などを設定する  アプリ側では、TaskContext#resourcesで、タスクに割り当てられたGPUの識 別子を取得できる context = TaskContext.get() // タスクに割り当てられたGPUの識別子を取得 assigned_gpu = context.resources()[“gpu”][0] with tf.device(assigned_gpu): <何か処理> ・・・ // Executorあたり4つGPUを割り当てる spark.executor.resource.gpu.amount=4 // タスクあたりに割り当てるGPUの数 spark.executor.task.gpu.amount=2 // Executorに割り当てられたGPUを検出するスクリプトの設定 spark.executor.resource.gpu.discoveryScript=...
  • 27. © 2019 NTT DATA Corporation 27 Accelerator Aware Schedulingの開発状況  Spark 3.0への導入に向けて開発が進行中  YARN/Kubernetes/Standalone向けにはすでにパッチマージ済み  Mesos向けにもJIRA上にチケットが切られてはいるが、優先度は低  割り当てられたアクセラレータにアクセスするためのAPIもマージ済み  基本的にはGPUに依らないアクセラレータを考慮したスケジューリングの仕 組みだが、当面はGPUを対象としている  そのほかWebUIからもアクセラレータの割り当て状況が確認できるように開 発が進められている(SPARK-27489)
  • 28. © 2019 NTT DATA Corporation 28 Project Hydrogen ③ Optimized Data Exchange
  • 29. © 2019 NTT DATA Corporation 29  Spark向けにDLフレームワークを開発するといってもやり方はいろいろ  最初からSpark向けに作る  TensorFlowやHorovodなど、既存のフレームワークをSparkに移植/統合 する • 例えばSparkのExecutorがDistributed TensorFlowクラスタを構成する イメージ • 処理基盤がSparkに変わるだけで、ユーザの視点で見ればインター フェイスが一緒な分使いやすい Spark向けDLフレームワークの実現の仕方も色々
  • 30. © 2019 NTT DATA Corporation 30  既存のDLフレームワークの中にはJVM上で動作する言語以外で記述されてい るものもある  特にPythonで動作するフレームワークが多い  このようなフレームワークをSparkに統合する場合各Executorは外部プロセス を制御しつつ、JVMと外部プロセスとの間でデータ交換が必要 既存のDLフレームワークをSpark向けに統合する際の課題 スレーブサーバ Executor 外部プロセス (Pythonなど) 両プロセス間でデータ交換が必要
  • 31. © 2019 NTT DATA Corporation 31 既存のDLフレームワークをSpark向けに統合する際の課題  Executorと外部プロセス間のデータ交換を効率的に行うためには、考えなけ ればならないことがある  JVMと外部プロセスとの間のデータ転送効率  JVMと外部プロセスとの間でのリソース利用効率  etc  DLフレームワークをSparkに統合するにあたって、データ交換を効率的に行う ための一連の取り組みがOptimized Data Exchange  Optimized Data Exchange自体更にさまざまな取り組みから構成されている
  • 32. © 2019 NTT DATA Corporation 32 Pandas UDFでExecutor-Python間の効率的なデータ交換はある程度達成済み  Spark SQLをPythonから利用する場合、UDFはPython上で動作するためJVM とPython間でデータ交換が必要  Pandas UDF(Spark 2.3~)の導入により、JVMとPythonプロセス間のデータ転 送効率はある程度改善された  JVMとPythonの両方で扱えるArrowを共通の中間フォーマットとし、両プロセ ス間で複数のレコードを効率よくまとめてやりとりする UDFで処理 対象になる DataFram Executor (JVMプロセス) 「バッチ」と呼 ばれる単位で Apache Arrow でシリアライズ Pythonプロセス Python側では Pandasのデータ 構造にデシリア ライズ
  • 33. © 2019 NTT DATA Corporation 33 まだまだ改善の余地もある  Pandasが必要ないシーンではArrowでシリアライズしたデータからPandasへ の変換が無駄  ArrowからPandasを経由せずに直接NumPy arrayを得たい場合など  Arrowベースの中間フォーマットがユーザやF/W開発者に公開されていない  Spark SQLでPandas UDFを利用する場合以外にはJVMと外部プロセスとの データ交換は効率化されない  ExecutorとPythonプロセスの処理がパイプライン化されていない  片方のプロセスがデータ処理している間もう片方のリソースが無駄に UDFで処理 対象になる DataFram Executor (JVMプロセス) 「バッチ」と呼 ばれる単位で Apache Arrow でシリアライズ Pythonプロセス Python側では Pandasのデータ 構造にデシリア ライズ
  • 34. © 2019 NTT DATA Corporation 34 Optimized Data Exchangeの開発状況  Pandas UDF Prefetch (SPARK-27569)  次にPandas UDFで処理するバッチをPython側であらかじめフェッチしておく ことでパイプライン化を実現する試み  3.0への導入に向けて開発中  Databricksが先んじて内部で開発/利用中。1.5倍程度の高速化を達成したと報告 されている  Public APIs for extended Columnar Processing Support (SPARK-27396)  Sparkと外部プロセスとの間でやり取りされる効率的な中間フォーマットとAPI を整備する試み  導入は3.0以降?  そのほかすでにマージされたものも(Pandas UDFの改善)  UDF側で必要な初期化ロジックなどを、バッチごとではなく1回で済ませる仕 組み (SPARK-26412)  Scalar UDFで複雑なデータ構造の返却をサポート (SPARK-23836)
  • 35. © 2019 NTT DATA Corporation 35 Spark Graph
  • 36. © 2019 NTT DATA Corporation 36 Spark向けのグラフ処理ライブラリ  グラフはアナリティクスではテーブルライクなデータ構造と同様にポピュ ラーなデータ表現のひとつ  ソーシャルグラフ  ナレッジグラフ  不正検知  etc  これまでもSpark向けに様々なグラフ処理ライブラリが存在する  GraphX  GraphFrames (サードパーティ・パッケージ)
  • 37. © 2019 NTT DATA Corporation 37 従来のSpark向けのグラフライブラリの問題点  GraphX  RDDベース  Scala APIしか提供されていない  ほとんどメンテナンスされていない  GraphFrames  DataFrameベース  SparkPackagesで提供されるサードパーティパッケージ  エッジやノードのセマンティクスが弱く、単純なグラフマッチングしか 行えない
  • 38. © 2019 NTT DATA Corporation 38 GraphFramesのデータモデル  GraphFramesではノード集合やエッジ集合をDataFrameで表現する  各レコードがノードやエッジに対応する  DataFrameとして表現されるためノードやエッジが属性を保持できる  ただし、ノードやエッジそのものに「型」は定義できない • ノードやエッジの種類の違いを区別できない 太郎 次郎 東京 NYC 姉妹都市 居住 兄弟 居住 駐在経験 • 右のグラフで緑のノードは場所を表し、 水色のノードは人を表す(型が違う)。 • エッジについても色ごとに種類が異なる。 • GraphFramesではエッジやノードの 「型」を設定できないため、種類の違い を区別できない
  • 39. © 2019 NTT DATA Corporation 39 GraphFramesのグラフマッチング  GraphFramesではMotifsと呼ばれる簡易的なクエリでグラフマッチングが可能  ただし、エッジやノードに型が定義できないため、形状に基づくマッチングし か行えない  属性(例えばノードに関連付けられた人の名前など)を考慮したマッチングもサ ポートされていない  Motifsでマッチした結果はDataFrameとして得られる。複雑な条件で部分グラ フを得たい場合はMotifsとSpark SQLのオペレーションを併用する必要がある val motifs = g.find(“(node1)-[edge]->(node2)”) val filtered = motifs.filter(“edge.rel = ‘居住’”) 先述のグラフで居住者と居住地を表す部分グラフを抽出したい場合は、Motifsでマッチングした後 にエッジに付与された属性が「居住」であるものをフィルタする必要がある
  • 40. © 2019 NTT DATA Corporation 40 Spark Graph  Sparkの新しいグラフ処理ライブラリ  Property Graphと呼ばれるデータモデルを採用し、エッジやノードに「属性」だ けでなく「型」が設定できる  Cypherによるグラフマッチングが可能  Property Graphに対して、型や属性に基づくマッチングが可能  マッチしたエッジやノードから属性を取り出し、DataFrameとして返却する ことも可能
  • 41. © 2019 NTT DATA Corporation 41 Cypherによるグラフマッチの例 val result: CypherResult = graph.cypher( """|MATCH (person: 人)-[rel: 居住]->(loc: 都市) """|RETURN person.name, loc.name""").stripMargin result.df.show() | person.name | loc.name | | 太郎 | 東京 | | 次郎 | 東京 | Property Graphに対するCypherの適用例
  • 42. © 2019 NTT DATA Corporation 42 Spark Graphの開発動向  Spark 3.0への導入を目指して開発が進められている  Neo4jの開発者が積極的に開発に参加している  現時点でソースツリーにSpark Graph向けの新たなサブモジュールが追加され ている(ただしコードはまだない)  graph/api • ユーザ向けのAPIが格納される  graph/cypher • グラフクエリ処理エンジンが格納される • クエリエンジンはokapiをベースに実装される?  graph/graph • Spark Graphベースのグラフアルゴリズムの実装が格納される
  • 43. © 2019 NTT DATA Corporation 43 まとめ
  • 44. © 2019 NTT DATA Corporation 44 まとめ  Project Hydrogen  分散DLにおけるデータロードや前処理だけでなく、学習/推論もSparkで実現可 能にするための取り組み  大きく3つの取り組みから構成される • Barrier Execution Mode • Accelerator Aware Scheduling • Optimized Data Exchange  Project Hydrogenの支援によって、Spark上で動作する洗練された分散DLフ レームワークの登場に期待したい  Spark Graph  Sparkの新しいグラフ処理系  Spark上の従来のグラフ処理系よりも高度なグラフマッチングを可能にする  ポピュラーなグラフアルゴリズムも同梱される予定  Spark SQLとの連携も可能
  • 45. © 2019 NTT DATA Corporation