SlideShare une entreprise Scribd logo
1  sur  41
© 2018 NTT DATA Corporation
2018/09/20
株式会社NTTデータ 技術開発本部
猿田 浩輔
Apache Spark 2.3 and beyond - What's new? -
© 2018 NTT DATA Corporation 2
 猿田 浩輔
 株式会社NTTデータ 技術開発本部
 Apache Sparkコミッタ
 Hadoop/SparkなどOSS並列分散処理系のテクニカルサ
ポートに従事してきた
$ whoami
© 2018 NTT DATA Corporation 3
 オープンソースの並列分散処理系
 並列分散処理の面倒な部分は処理系が解決してくれる
 障害時のリカバリ
 タスクの分割やスケジューリング
 etc
What is Apache ?
大量のデータを たくさんのサーバを並べて
並列分散処理し、
現実的な時間(数分~数時間)で
目的の処理結果を得る
© 2018 NTT DATA Corporation 4
 処理対象のデータをRDD(Resilient Distributed Dataset)と
呼ばれる、耐障害性が考慮された分散コレクションに抽象化
する
 RDDに対して、リスト処理に類するオペレータを連続的に適
用することで複数ステップから構成されるデータ処理を表現
する
 RDDは「パーティション(部分コレクション)」に分割されている
 各パーティションを異なる計算機で処理することで、並列分
散処理を実現する
Sparkのデータ処理モデル
RDD RDD RDDRDD
フォーマット変換 グルーピング フィルター 集計入力
© 2018 NTT DATA Corporation 5
HDFS
 RDDに対する処理は、配列やリストなどのコレクションのよう
に記述できる
リスト処理を記述するように並列分散処理を記述できる
// 例
val rdd = sc.textFile(...) // HDFSなどのストレージから
//ファイルの内容をRDDにロード
rdd.filter(...).map(...).reduceByKey(...).saveAsText(...)
フィルタして 加工して 集計して 結果を保存
RDD RDD RDD
HDFS
filter map
RDD
reduceByKeytextFile saveAsText
© 2018 NTT DATA Corporation 6
充実したライブラリ / エコシステム
Spark Core
(Sparkのデータ処理エンジンや基本的なAPIなどを含む)
Spark Streaming
(ストリーム処理)
Spark SQL
(クエリ処理)
Structured
Streaming
(ストリーム処理)
GraphX
(グラフ処理)
MLlib / Spark ML
(機械学習)
SQL
© 2018 NTT DATA Corporation 7
 近年は、RDDを直接利用するのではなく、これをラップした
DataFrame / Datasetを利用するのが主流
 DataFrame / DatasetはSpark SQLのデータ構造で、テーブ
ル状のデータ構造
 機械学習 / ストリーム処理向けのライブラリも、DataFrame /
Dataset向けに設計されたものが整備されている
 Spark ML
 Structured Streaming
RDDからDataFrame / Datasetを中心とした処理系へ
© 2018 NTT DATA Corporation 8
 SQLやSQLに似た宣言的なAPIで、テーブルにクエリを発行する
ように処理を記述できる
 実行時にオプティマイザによる最適化が施される
 開発言語の違いによる性能差が出にくい
DataFrame / Datasetを利用するメリット
DataFrameで同様
の処理を記述
© 2018 NTT DATA Corporation 9
 Spark 2.3
 2018/9/20時点で最新のフィーチャーリリース
 大きめの新機能が10+
 1400+のチケットが解決された
 Spark 2.4
 次期フィーチャーリリース
 2018/9/20時点で2.4向けのブランチが切られている
 10月くらいにリリース?
 新しい取り組み - Project Hydrogen -
Spark 2.3, 2.4
© 2018 NTT DATA Corporation 10
Continuous Processing
© 2018 NTT DATA Corporation 11
 Apache Sparkの新しいストリーム処理系
 DataFrameをベースとする
 Spark 2.0で試験的に導入され、2.2でα版を卒業
 RDDベースのSpark Streamingには無かったセマンティクス
をサポート
 イベントタイムウィンドウ集約
 遅れて到着したデータのハンドリング
 End-to-End Exactly Once
• ※ ただし動作モードやシンクの種類による
Structured Streaming
© 2018 NTT DATA Corporation 12
 マイクロバッチベースの実行モード
 短いバッチ処理(マイクロバッチ)を短い間隔で実行することでストリーム処
理を実現
 マイクロバッチごとに、その時点で到着しているデータを処理する
 データの到着から処理完了までを100msオーダー以下に抑えることが難
しい
Micro-batch Processing
出展: https://databricks.com/blog/2018/03/20/low-latency-continuous-processing-mode-in-structured-streaming-in-apache-spark-2-3-0.html
© 2018 NTT DATA Corporation 13
 新たに導入されたストリーム処理実行モード
 各Executorにロングランニングタスクを一度スケジューリングした
後は、当該タスク内のイベントループでストリーム処理を行う
 データの到着から処理完了まで、数ミリ秒で実現可能になる
Continuous Processing
出展: https://databricks.com/blog/2018/03/20/low-latency-continuous-processing-mode-in-structured-streaming-in-apache-spark-2-3-0.html
© 2018 NTT DATA Corporation 14
 Spark 2.3の時点ではまだ制限が多い
 Experimental扱い
• デフォルトの実行モードはMicro-batch Processng
• プログラムでContinuous Processingに切り替え可能
 実行可能なオペレーションも限られている
• スカラ値 -> スカラ値のような射影
• 単純なフィルタ
• グルーピングを伴わない集約処理
 サポートしているSource / Sinkは事実上Kafkaのみ
• ※ほかにもあるにはあるが、テストや動作確認を意図したもの
 Spark 2.4+以降?
 安定化
 ジョインやグルーピングを伴う集約処理のサポート
開発ステータス
© 2018 NTT DATA Corporation 15
Kubernetesサポート
© 2018 NTT DATA Corporation 16
Spark on Kubernetes
Spark Core
(Sparkのデータ処理エンジンや基本的なAPIなどを含む)
Spark Streaming
(ストリーム処理ラ
イブラリ)
Spark SQL
(クエリでデータ処理を記述する
ためのライブラリ)
Structured
Streaming
(ストリーム処理ラ
イブラリ)
GraphX
(グラフ処理処理ラ
イブラリ)
MLlib / Spark ML
(機械学習ライブラリ)
YARN Standalone Mesos Kubernetes
New!
© 2018 NTT DATA Corporation 17
 Spark 2.3からはKubernetesをサポート(SPARK-18278)
 Kubernetes 1.6以上をサポート
 コンテナイメージはAlpine Linuxベース
 Kubernetes / コンテナのメリットを享受可能
 マルチテナントでの利用
 計算リソースの効率的な利用
 アプリケーションのポータビリティ
 開発環境と本番環境の差分を極小化する
Kubernetesサポート
© 2018 NTT DATA Corporation 18
アプリケーションデプロイ時の挙動
https://databricks.com/blog/2018/02/28/introducing-apache-spark-2-3.html
© 2018 NTT DATA Corporation 19
 Spark 2.3
 Experimental
 クラスタモードでのみ動作
 Java/Scalaで記述されたアプリケーションに限定
 アプリケーションが依存するライブラリは以下のように配置
• コンテナに事前に組み込む
• リモート(HTTPやHDFS)からダウンロード可能な場所に配置
 Spark 2.4(予定)
 PySpark対応(SPARK-23984)
 SparkR対応(SPARK-24433)
 クライアントモード(SPARK-23146)
 Spark 3.0以降?
 ダイナミックアロケーション対応(SPARK-24432)
 Kerberos認証サポート(SPARK-23257)
 ローカルに配置された依存ライブラリやファイルの利用
Kubernetesサポートのステータス
© 2018 NTT DATA Corporation 20
Vectorized UDF
© 2018 NTT DATA Corporation 21
 SparkのAPIのPythonバインディング
 DataFrameの導入などにより、これまでもパフォーマンスが改善さ
れてきた歴史がある
 DataFrameベースの処理では、Pythonで記述されたコードをもと
にオプティマイザがJVM上で実行可能なジョブを生成するため
PySpark
出展: https://databricks.com/blog/2015/04/24/recent-performance-improvements-in-apache-spark-sql-python-dataframes-and-more.html
© 2018 NTT DATA Corporation 22
 DataFrameベースの処理も、ユーザ定義関数(UDF)を用い
る場合はパフォーマンスを損なうことが多かった
 DataFrameベースの処理であってもPythonで書かれたUDF
はPythonのインタプリタで実行しなければならない(Pythonイ
ンタプリタの相対的な遅さ)
 レコードごとにPythonインタプリタ上のUDFを実行
• JVM上で動作するExecutorとPythonインタプリタ間の通信
に伴うシリアライズ/デシリアライズが遅い
• レコードごとのJVMとPythonインタプリタとの通信が非効率
UDFのパフォーマンスには課題が残っていた
© 2018 NTT DATA Corporation 23
 Pandasのデータ構造を受け取り、返すことが可能なUDFを定義で
きる仕組みを整備
 UDFの中でPandasが利用できるため、複数のデータ対して
同時に高速な処理が可能(Pandasのクリティカルな部分は
C/C++のコードベースで動作する)
 シリアライズにはApache Arrowを利用し効率化
 Arrowはカラムナインメモリフォーマット(同じ列のデータを効率
の良い物理配置でシリアライズできる)
 レコードを複数まとめてシリアライズ / 転送
Vectorized UDF (Pandas UDF)
© 2018 NTT DATA Corporation 24
 Spark 2.3
 Scalar UDF
• レコード単位で独立に可能な処理を並列に行いたい場合に利用
• 異なるベクトルの要素同士の演算など
• pd.Seriesを受け取り、pd.Seriesを返す
 Group Map UDF
• グループ内の個々のデータ残しつつ、グループ内のレコードすべ
てをまとめて扱う必要のある計算
• 偏差値計算など
• pd.DataFrameを受け取り、pd.DataFrameを返す
 Spark 2.4(予定)
 Grouped Agg UDF
• pd.Seriesを受け取り単一値を返す集約処理
• Window関数もサポート
サポートするUDFの種類
© 2018 NTT DATA Corporation 25
JVMからPythonインタプリタへのレコードの転送
A B
10 80
30 100
20 60
50 20
JVM
A B
10 80
30 100
A B
20 60
50 20
タスク1つが処理対象
とするレコード群
処理対象のカラムを複
数レコードごとにまとめ
てArrowでシリアライズ
A B
10 80
30 100
A B
20 60
50 20
Pythonインタプリタ
プロセス間転送
Scalar UDFの場合バッチサイズ(デフォルト10000レコード)ごとに、
Grouped Map UDF / Grouped Agg UDFの場合はグループごとにシリアライズ
© 2018 NTT DATA Corporation 26
Scalar UDFの例(ベクトル同士の足し算)
A B
20 60
50 20
・・・ ・・・
A+B
A B
10 80
30 100
pd.Series pd.Series
A+B
90
130
A+B
80
70
UDF(1回目の呼び出し) UDF(2回目の呼び出し)
A+B
 シリアライズされたバッチごとにpd.SeriesにデシリアライズしてUDFに渡す
 pd.Series内の要素を複数同時に演算
・・・
pd.Series
・・・ ・・・
pd.Series
UDF(n回目の呼び出し)
© 2018 NTT DATA Corporation 27
Group Map UDFの例(偏差値計算)
名前 科目 点数
A 数学 80
B 数学 75
名前 科目 点数
A 国語 90
B 国語 80
・・・
・・・
国語の偏差値を計算
UDF(1回目の呼び出し)
名前 科目 偏差
値
A 数学 70
B 数学 60
数学の偏差値を計算
UDF(2回目の呼び出し)
名前 科目 偏差
値
A 国語 68
B 国語 55
pd.DataFrame pd.DataFrame
 シリアライズされたグループごとにpd.DataFrameにデシリアライズしてUDFに渡す
 pd.DataFrame内の要素を複数同時に演算
・・・
pd.DataFrame
・・・
pd.DataFrame
・・・
UDF(n回目の呼び出し)
© 2018 NTT DATA Corporation 28
Grouped Agg UDFの例(平均値計算)
点数
80
75
点数
90
80
・・・
国語の平均点を計算
UDF(1回目の呼び出し)
平均点
77.5
UDF(2回目の呼び出し)
平均点
85
pd.Series pd.Series
数学の平均点を計算
 シリアライズされたグループごとにpd.SeriesにデシリアライズしてUDFに渡す
 UDF内ではpd.meanなどPandasの集約処理関数で効率的に計算
・・・
・・・
UDF(n回目の呼び出し)
pd.Series pd.Series
© 2018 NTT DATA Corporation 29
PythonインタプリタからJVMへの計算結果の返却
JVM
UDFの呼び出しごとの計算結果
UDFのでの計算結果ごとに
Arrowでシリアライズ
Pythonインタプリタ
A+B
90
130
A+B
80
70
A+B
90
130
A+B
80
70
プロセス間転送
Sparkの内部表現に
デシリアライズ
© 2018 NTT DATA Corporation 30
 従来のUDFと比較して、最大200倍以上の高速化を実現
Vectorized UDFの効果
出展: https://databricks.com/blog/2017/10/30/introducing-vectorized-udfs-for-pyspark.html
© 2018 NTT DATA Corporation 31
Project Hydrogen
© 2018 NTT DATA Corporation 32
 ビッグデータとAI(機械学習/DL)は昨今のデータ活用における大き
な要素
 これまでSparkはビッグデータだけでなく機械学習/DLの統一プ
ラットフォームとして活用されてきた
 Spark向けに設計されたDLフレームワーク
• Deep Learning Pipelines (Databricks)
• BigDL (Intel)
 既存のDLフレームワークのSparkインテグレーション
• TensorFlowOnSpark (Yahoo!)
• CaffeOnSpark (Yahoo!)
 ビッグデータとDLの融合をより進めるうえで足りないピースもある
 分散学習を可能にするスケジューリングの仕組み
 SparkとDLフレームワークとの間の効率的なデータ交換
 GPUなどのアクセラレータを搭載した計算機へのスケジューリング
ビッグデータとDLの統一プラットフォームとしてのSpark
© 2018 NTT DATA Corporation 33
Project Hydrogen
Barrier Execution Mode Optimized Data Exchange
Accelerator Aware
Scheduling
分散学習を可能にする
スケジューリングの仕組み
SparkとDLフレームワーク
との間の効率的なデータ交換
アクセラレータアウェアな
タスクスケジューリング
© 2018 NTT DATA Corporation 34
 Barrier Execution Mode
 Sparkの新しいタスクスケジューリングモード
 DLの分散学習におけるタスク間の通信など、タスク間で協調を
可能にする仕組みを提供する
Barrier Execution Mode
© 2018 NTT DATA Corporation 35
Barrier Execution Mode
タスク
タスク
タスク
• 個々のタスクは協調することなく個別
にスケジューリングされる
• あるタスクの失敗がほかのタスクに
影響しない
• パフォーマンスの面では有利
• 協調が必要なタスクを包括でスケジュー
リング
• タスクの失敗時には、協調するほかのタ
スクも再スケジューリング
• タスクが協調するための同期点(バリア)
をプログラムで制御可能
従来からのタスクスケジューリング
タスク
タスク
タスク
Barrier Execution Modeによるタスクスケジューリング
© 2018 NTT DATA Corporation 36
 RDD#barrierメソッドで、各タスク間で待ち合わせするタイミ
ングを制御可能
 barrierメソッドが適用されたタスクが、Barrier Execution
Modeでのスケジューリング対象となる
 具体的な通信処理ロジックなどはDLフレームワーク側やDL
アプリケーション開発者が実装する必要がある
 Barrier Execution Modeは協調を可能にする仕掛けを提供
するだけ
Barrier Execution Mode
rdd.barrier().mapPartitions() { iter =>
val context = BarrierTaskContext.get() // バリアタスクコンテキストを取得
<何か処理>
context.barrier() // ここでタスク間の待ち合わせ
© 2018 NTT DATA Corporation 37
Spark 2.4
 Barrier Execution Mode(基本的な部分)
Spark 3.0?
 Barrier Execution Mode(継続)
 Optimized Data Exchange
 Accelerator Aware Scheduling
Project Hydrogenステータス
© 2018 NTT DATA Corporation 38
その他のトピック
© 2018 NTT DATA Corporation 39
 2.3以降で追加された機能もろもろ(一部)
 Stream-Stream Join (SPARK-18791)
 Vectorized ORC reader (SPARK-16060)
 Image Support in Spark (SPARK-21866)
 Streaming ML
 Spark 3.0?
 Project Hydrogen
 Java9サポート
 Scala 2.12サポート
 Hadoop 3系サポート
その他のトピック
© 2018 NTT DATA Corporation
© 2018 NTT DATA Corporation 41

Contenu connexe

Tendances

ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)NTT DATA Technology & Innovation
 
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
 
大規模データ処理の定番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
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Noritaka Sekiyama
 
大量のデータ処理や分析に使える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
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkTakanori Suzuki
 
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 Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)Takeshi Mikami
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~NTT DATA OSS Professional Services
 
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)NTT DATA Technology & Innovation
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理NTT DATA Technology & Innovation
 
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Ken SASAKI
 
S3 整合性モデルと Hadoop/Spark の話
S3 整合性モデルと Hadoop/Spark の話S3 整合性モデルと Hadoop/Spark の話
S3 整合性モデルと Hadoop/Spark の話Noritaka Sekiyama
 
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)NTT DATA Technology & Innovation
 
大量のデータ処理や分析に使える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
 

Tendances (20)

ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
 
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?
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
 
大規模データ処理の定番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 発...
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
 
大量のデータ処理や分析に使える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 ...
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
 
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
 
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
 
RDF Semantic Graph「RDF 超入門」
RDF Semantic Graph「RDF 超入門」RDF Semantic Graph「RDF 超入門」
RDF Semantic Graph「RDF 超入門」
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Hadoopの概念と基本的知識
Hadoopの概念と基本的知識
 
Apache NiFi の紹介 #streamctjp
Apache NiFi の紹介  #streamctjpApache NiFi の紹介  #streamctjp
Apache NiFi の紹介 #streamctjp
 
S3 整合性モデルと Hadoop/Spark の話
S3 整合性モデルと Hadoop/Spark の話S3 整合性モデルと Hadoop/Spark の話
S3 整合性モデルと Hadoop/Spark の話
 
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
 
大量のデータ処理や分析に使える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...
 

Similaire à Apache spark 2.3 and beyond

今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC EnterpriseYusukeKuramata
 
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
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化Kazunori Sato
 
[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data PlatformNaoki (Neo) SATO
 
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎Insight Technology, Inc.
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoTreasure Data, Inc.
 
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fallビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo FallYusukeKuramata
 
20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_FdwKohei KaiGai
 
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」Kazuki Taniguchi
 
20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_TokyoKohei KaiGai
 
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京Koichiro Sasaki
 
Beginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning HadoopBeginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning HadoopDataWorks Summit
 
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...Insight Technology, Inc.
 
オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜
オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜
オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜griddb
 
20160121 データサイエンティスト協会 木曜セミナー #5
20160121 データサイエンティスト協会 木曜セミナー #520160121 データサイエンティスト協会 木曜セミナー #5
20160121 データサイエンティスト協会 木曜セミナー #5Koichiro Sasaki
 
[db analytics showcase Sapporo 2018] B25 Hadoop上で動く世界最速のAnalytic DBをSparkと一緒に...
[db analytics showcase Sapporo 2018] B25 Hadoop上で動く世界最速のAnalytic DBをSparkと一緒に...[db analytics showcase Sapporo 2018] B25 Hadoop上で動く世界最速のAnalytic DBをSparkと一緒に...
[db analytics showcase Sapporo 2018] B25 Hadoop上で動く世界最速のAnalytic DBをSparkと一緒に...Insight Technology, Inc.
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料Recruit Technologies
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展Recruit Technologies
 

Similaire à Apache spark 2.3 and beyond (20)

Apache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATAApache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATA
 
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
 
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 講演資料)
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化
 
[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform
 
Spark SQL - The internal -
Spark SQL - The internal -Spark SQL - The internal -
Spark SQL - The internal -
 
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
 
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fallビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
 
20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw
 
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
 
20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo
 
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
 
Beginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning HadoopBeginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning Hadoop
 
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
 
オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜
オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜
オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜
 
20160121 データサイエンティスト協会 木曜セミナー #5
20160121 データサイエンティスト協会 木曜セミナー #520160121 データサイエンティスト協会 木曜セミナー #5
20160121 データサイエンティスト協会 木曜セミナー #5
 
[db analytics showcase Sapporo 2018] B25 Hadoop上で動く世界最速のAnalytic DBをSparkと一緒に...
[db analytics showcase Sapporo 2018] B25 Hadoop上で動く世界最速のAnalytic DBをSparkと一緒に...[db analytics showcase Sapporo 2018] B25 Hadoop上で動く世界最速のAnalytic DBをSparkと一緒に...
[db analytics showcase Sapporo 2018] B25 Hadoop上で動く世界最速のAnalytic DBをSparkと一緒に...
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
 

Plus 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
 

Plus 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アンカンファレンス@オンライン 発表資料)
 

Dernier

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 

Dernier (7)

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 

Apache spark 2.3 and beyond

  • 1. © 2018 NTT DATA Corporation 2018/09/20 株式会社NTTデータ 技術開発本部 猿田 浩輔 Apache Spark 2.3 and beyond - What's new? -
  • 2. © 2018 NTT DATA Corporation 2  猿田 浩輔  株式会社NTTデータ 技術開発本部  Apache Sparkコミッタ  Hadoop/SparkなどOSS並列分散処理系のテクニカルサ ポートに従事してきた $ whoami
  • 3. © 2018 NTT DATA Corporation 3  オープンソースの並列分散処理系  並列分散処理の面倒な部分は処理系が解決してくれる  障害時のリカバリ  タスクの分割やスケジューリング  etc What is Apache ? 大量のデータを たくさんのサーバを並べて 並列分散処理し、 現実的な時間(数分~数時間)で 目的の処理結果を得る
  • 4. © 2018 NTT DATA Corporation 4  処理対象のデータをRDD(Resilient Distributed Dataset)と 呼ばれる、耐障害性が考慮された分散コレクションに抽象化 する  RDDに対して、リスト処理に類するオペレータを連続的に適 用することで複数ステップから構成されるデータ処理を表現 する  RDDは「パーティション(部分コレクション)」に分割されている  各パーティションを異なる計算機で処理することで、並列分 散処理を実現する Sparkのデータ処理モデル RDD RDD RDDRDD フォーマット変換 グルーピング フィルター 集計入力
  • 5. © 2018 NTT DATA Corporation 5 HDFS  RDDに対する処理は、配列やリストなどのコレクションのよう に記述できる リスト処理を記述するように並列分散処理を記述できる // 例 val rdd = sc.textFile(...) // HDFSなどのストレージから //ファイルの内容をRDDにロード rdd.filter(...).map(...).reduceByKey(...).saveAsText(...) フィルタして 加工して 集計して 結果を保存 RDD RDD RDD HDFS filter map RDD reduceByKeytextFile saveAsText
  • 6. © 2018 NTT DATA Corporation 6 充実したライブラリ / エコシステム Spark Core (Sparkのデータ処理エンジンや基本的なAPIなどを含む) Spark Streaming (ストリーム処理) Spark SQL (クエリ処理) Structured Streaming (ストリーム処理) GraphX (グラフ処理) MLlib / Spark ML (機械学習) SQL
  • 7. © 2018 NTT DATA Corporation 7  近年は、RDDを直接利用するのではなく、これをラップした DataFrame / Datasetを利用するのが主流  DataFrame / DatasetはSpark SQLのデータ構造で、テーブ ル状のデータ構造  機械学習 / ストリーム処理向けのライブラリも、DataFrame / Dataset向けに設計されたものが整備されている  Spark ML  Structured Streaming RDDからDataFrame / Datasetを中心とした処理系へ
  • 8. © 2018 NTT DATA Corporation 8  SQLやSQLに似た宣言的なAPIで、テーブルにクエリを発行する ように処理を記述できる  実行時にオプティマイザによる最適化が施される  開発言語の違いによる性能差が出にくい DataFrame / Datasetを利用するメリット DataFrameで同様 の処理を記述
  • 9. © 2018 NTT DATA Corporation 9  Spark 2.3  2018/9/20時点で最新のフィーチャーリリース  大きめの新機能が10+  1400+のチケットが解決された  Spark 2.4  次期フィーチャーリリース  2018/9/20時点で2.4向けのブランチが切られている  10月くらいにリリース?  新しい取り組み - Project Hydrogen - Spark 2.3, 2.4
  • 10. © 2018 NTT DATA Corporation 10 Continuous Processing
  • 11. © 2018 NTT DATA Corporation 11  Apache Sparkの新しいストリーム処理系  DataFrameをベースとする  Spark 2.0で試験的に導入され、2.2でα版を卒業  RDDベースのSpark Streamingには無かったセマンティクス をサポート  イベントタイムウィンドウ集約  遅れて到着したデータのハンドリング  End-to-End Exactly Once • ※ ただし動作モードやシンクの種類による Structured Streaming
  • 12. © 2018 NTT DATA Corporation 12  マイクロバッチベースの実行モード  短いバッチ処理(マイクロバッチ)を短い間隔で実行することでストリーム処 理を実現  マイクロバッチごとに、その時点で到着しているデータを処理する  データの到着から処理完了までを100msオーダー以下に抑えることが難 しい Micro-batch Processing 出展: https://databricks.com/blog/2018/03/20/low-latency-continuous-processing-mode-in-structured-streaming-in-apache-spark-2-3-0.html
  • 13. © 2018 NTT DATA Corporation 13  新たに導入されたストリーム処理実行モード  各Executorにロングランニングタスクを一度スケジューリングした 後は、当該タスク内のイベントループでストリーム処理を行う  データの到着から処理完了まで、数ミリ秒で実現可能になる Continuous Processing 出展: https://databricks.com/blog/2018/03/20/low-latency-continuous-processing-mode-in-structured-streaming-in-apache-spark-2-3-0.html
  • 14. © 2018 NTT DATA Corporation 14  Spark 2.3の時点ではまだ制限が多い  Experimental扱い • デフォルトの実行モードはMicro-batch Processng • プログラムでContinuous Processingに切り替え可能  実行可能なオペレーションも限られている • スカラ値 -> スカラ値のような射影 • 単純なフィルタ • グルーピングを伴わない集約処理  サポートしているSource / Sinkは事実上Kafkaのみ • ※ほかにもあるにはあるが、テストや動作確認を意図したもの  Spark 2.4+以降?  安定化  ジョインやグルーピングを伴う集約処理のサポート 開発ステータス
  • 15. © 2018 NTT DATA Corporation 15 Kubernetesサポート
  • 16. © 2018 NTT DATA Corporation 16 Spark on Kubernetes Spark Core (Sparkのデータ処理エンジンや基本的なAPIなどを含む) Spark Streaming (ストリーム処理ラ イブラリ) Spark SQL (クエリでデータ処理を記述する ためのライブラリ) Structured Streaming (ストリーム処理ラ イブラリ) GraphX (グラフ処理処理ラ イブラリ) MLlib / Spark ML (機械学習ライブラリ) YARN Standalone Mesos Kubernetes New!
  • 17. © 2018 NTT DATA Corporation 17  Spark 2.3からはKubernetesをサポート(SPARK-18278)  Kubernetes 1.6以上をサポート  コンテナイメージはAlpine Linuxベース  Kubernetes / コンテナのメリットを享受可能  マルチテナントでの利用  計算リソースの効率的な利用  アプリケーションのポータビリティ  開発環境と本番環境の差分を極小化する Kubernetesサポート
  • 18. © 2018 NTT DATA Corporation 18 アプリケーションデプロイ時の挙動 https://databricks.com/blog/2018/02/28/introducing-apache-spark-2-3.html
  • 19. © 2018 NTT DATA Corporation 19  Spark 2.3  Experimental  クラスタモードでのみ動作  Java/Scalaで記述されたアプリケーションに限定  アプリケーションが依存するライブラリは以下のように配置 • コンテナに事前に組み込む • リモート(HTTPやHDFS)からダウンロード可能な場所に配置  Spark 2.4(予定)  PySpark対応(SPARK-23984)  SparkR対応(SPARK-24433)  クライアントモード(SPARK-23146)  Spark 3.0以降?  ダイナミックアロケーション対応(SPARK-24432)  Kerberos認証サポート(SPARK-23257)  ローカルに配置された依存ライブラリやファイルの利用 Kubernetesサポートのステータス
  • 20. © 2018 NTT DATA Corporation 20 Vectorized UDF
  • 21. © 2018 NTT DATA Corporation 21  SparkのAPIのPythonバインディング  DataFrameの導入などにより、これまでもパフォーマンスが改善さ れてきた歴史がある  DataFrameベースの処理では、Pythonで記述されたコードをもと にオプティマイザがJVM上で実行可能なジョブを生成するため PySpark 出展: https://databricks.com/blog/2015/04/24/recent-performance-improvements-in-apache-spark-sql-python-dataframes-and-more.html
  • 22. © 2018 NTT DATA Corporation 22  DataFrameベースの処理も、ユーザ定義関数(UDF)を用い る場合はパフォーマンスを損なうことが多かった  DataFrameベースの処理であってもPythonで書かれたUDF はPythonのインタプリタで実行しなければならない(Pythonイ ンタプリタの相対的な遅さ)  レコードごとにPythonインタプリタ上のUDFを実行 • JVM上で動作するExecutorとPythonインタプリタ間の通信 に伴うシリアライズ/デシリアライズが遅い • レコードごとのJVMとPythonインタプリタとの通信が非効率 UDFのパフォーマンスには課題が残っていた
  • 23. © 2018 NTT DATA Corporation 23  Pandasのデータ構造を受け取り、返すことが可能なUDFを定義で きる仕組みを整備  UDFの中でPandasが利用できるため、複数のデータ対して 同時に高速な処理が可能(Pandasのクリティカルな部分は C/C++のコードベースで動作する)  シリアライズにはApache Arrowを利用し効率化  Arrowはカラムナインメモリフォーマット(同じ列のデータを効率 の良い物理配置でシリアライズできる)  レコードを複数まとめてシリアライズ / 転送 Vectorized UDF (Pandas UDF)
  • 24. © 2018 NTT DATA Corporation 24  Spark 2.3  Scalar UDF • レコード単位で独立に可能な処理を並列に行いたい場合に利用 • 異なるベクトルの要素同士の演算など • pd.Seriesを受け取り、pd.Seriesを返す  Group Map UDF • グループ内の個々のデータ残しつつ、グループ内のレコードすべ てをまとめて扱う必要のある計算 • 偏差値計算など • pd.DataFrameを受け取り、pd.DataFrameを返す  Spark 2.4(予定)  Grouped Agg UDF • pd.Seriesを受け取り単一値を返す集約処理 • Window関数もサポート サポートするUDFの種類
  • 25. © 2018 NTT DATA Corporation 25 JVMからPythonインタプリタへのレコードの転送 A B 10 80 30 100 20 60 50 20 JVM A B 10 80 30 100 A B 20 60 50 20 タスク1つが処理対象 とするレコード群 処理対象のカラムを複 数レコードごとにまとめ てArrowでシリアライズ A B 10 80 30 100 A B 20 60 50 20 Pythonインタプリタ プロセス間転送 Scalar UDFの場合バッチサイズ(デフォルト10000レコード)ごとに、 Grouped Map UDF / Grouped Agg UDFの場合はグループごとにシリアライズ
  • 26. © 2018 NTT DATA Corporation 26 Scalar UDFの例(ベクトル同士の足し算) A B 20 60 50 20 ・・・ ・・・ A+B A B 10 80 30 100 pd.Series pd.Series A+B 90 130 A+B 80 70 UDF(1回目の呼び出し) UDF(2回目の呼び出し) A+B  シリアライズされたバッチごとにpd.SeriesにデシリアライズしてUDFに渡す  pd.Series内の要素を複数同時に演算 ・・・ pd.Series ・・・ ・・・ pd.Series UDF(n回目の呼び出し)
  • 27. © 2018 NTT DATA Corporation 27 Group Map UDFの例(偏差値計算) 名前 科目 点数 A 数学 80 B 数学 75 名前 科目 点数 A 国語 90 B 国語 80 ・・・ ・・・ 国語の偏差値を計算 UDF(1回目の呼び出し) 名前 科目 偏差 値 A 数学 70 B 数学 60 数学の偏差値を計算 UDF(2回目の呼び出し) 名前 科目 偏差 値 A 国語 68 B 国語 55 pd.DataFrame pd.DataFrame  シリアライズされたグループごとにpd.DataFrameにデシリアライズしてUDFに渡す  pd.DataFrame内の要素を複数同時に演算 ・・・ pd.DataFrame ・・・ pd.DataFrame ・・・ UDF(n回目の呼び出し)
  • 28. © 2018 NTT DATA Corporation 28 Grouped Agg UDFの例(平均値計算) 点数 80 75 点数 90 80 ・・・ 国語の平均点を計算 UDF(1回目の呼び出し) 平均点 77.5 UDF(2回目の呼び出し) 平均点 85 pd.Series pd.Series 数学の平均点を計算  シリアライズされたグループごとにpd.SeriesにデシリアライズしてUDFに渡す  UDF内ではpd.meanなどPandasの集約処理関数で効率的に計算 ・・・ ・・・ UDF(n回目の呼び出し) pd.Series pd.Series
  • 29. © 2018 NTT DATA Corporation 29 PythonインタプリタからJVMへの計算結果の返却 JVM UDFの呼び出しごとの計算結果 UDFのでの計算結果ごとに Arrowでシリアライズ Pythonインタプリタ A+B 90 130 A+B 80 70 A+B 90 130 A+B 80 70 プロセス間転送 Sparkの内部表現に デシリアライズ
  • 30. © 2018 NTT DATA Corporation 30  従来のUDFと比較して、最大200倍以上の高速化を実現 Vectorized UDFの効果 出展: https://databricks.com/blog/2017/10/30/introducing-vectorized-udfs-for-pyspark.html
  • 31. © 2018 NTT DATA Corporation 31 Project Hydrogen
  • 32. © 2018 NTT DATA Corporation 32  ビッグデータとAI(機械学習/DL)は昨今のデータ活用における大き な要素  これまでSparkはビッグデータだけでなく機械学習/DLの統一プ ラットフォームとして活用されてきた  Spark向けに設計されたDLフレームワーク • Deep Learning Pipelines (Databricks) • BigDL (Intel)  既存のDLフレームワークのSparkインテグレーション • TensorFlowOnSpark (Yahoo!) • CaffeOnSpark (Yahoo!)  ビッグデータとDLの融合をより進めるうえで足りないピースもある  分散学習を可能にするスケジューリングの仕組み  SparkとDLフレームワークとの間の効率的なデータ交換  GPUなどのアクセラレータを搭載した計算機へのスケジューリング ビッグデータとDLの統一プラットフォームとしてのSpark
  • 33. © 2018 NTT DATA Corporation 33 Project Hydrogen Barrier Execution Mode Optimized Data Exchange Accelerator Aware Scheduling 分散学習を可能にする スケジューリングの仕組み SparkとDLフレームワーク との間の効率的なデータ交換 アクセラレータアウェアな タスクスケジューリング
  • 34. © 2018 NTT DATA Corporation 34  Barrier Execution Mode  Sparkの新しいタスクスケジューリングモード  DLの分散学習におけるタスク間の通信など、タスク間で協調を 可能にする仕組みを提供する Barrier Execution Mode
  • 35. © 2018 NTT DATA Corporation 35 Barrier Execution Mode タスク タスク タスク • 個々のタスクは協調することなく個別 にスケジューリングされる • あるタスクの失敗がほかのタスクに 影響しない • パフォーマンスの面では有利 • 協調が必要なタスクを包括でスケジュー リング • タスクの失敗時には、協調するほかのタ スクも再スケジューリング • タスクが協調するための同期点(バリア) をプログラムで制御可能 従来からのタスクスケジューリング タスク タスク タスク Barrier Execution Modeによるタスクスケジューリング
  • 36. © 2018 NTT DATA Corporation 36  RDD#barrierメソッドで、各タスク間で待ち合わせするタイミ ングを制御可能  barrierメソッドが適用されたタスクが、Barrier Execution Modeでのスケジューリング対象となる  具体的な通信処理ロジックなどはDLフレームワーク側やDL アプリケーション開発者が実装する必要がある  Barrier Execution Modeは協調を可能にする仕掛けを提供 するだけ Barrier Execution Mode rdd.barrier().mapPartitions() { iter => val context = BarrierTaskContext.get() // バリアタスクコンテキストを取得 <何か処理> context.barrier() // ここでタスク間の待ち合わせ
  • 37. © 2018 NTT DATA Corporation 37 Spark 2.4  Barrier Execution Mode(基本的な部分) Spark 3.0?  Barrier Execution Mode(継続)  Optimized Data Exchange  Accelerator Aware Scheduling Project Hydrogenステータス
  • 38. © 2018 NTT DATA Corporation 38 その他のトピック
  • 39. © 2018 NTT DATA Corporation 39  2.3以降で追加された機能もろもろ(一部)  Stream-Stream Join (SPARK-18791)  Vectorized ORC reader (SPARK-16060)  Image Support in Spark (SPARK-21866)  Streaming ML  Spark 3.0?  Project Hydrogen  Java9サポート  Scala 2.12サポート  Hadoop 3系サポート その他のトピック
  • 40. © 2018 NTT DATA Corporation
  • 41. © 2018 NTT DATA Corporation 41