SlideShare a Scribd company logo
1 of 30
Copyright©2019 NTT corp. All Rights Reserved.
Quick Overview of Upcoming
Spark 3.0 +
Takeshi Yamamuro @ NTT
α
2Copyright©2019 NTT corp. All Rights Reserved.
Who am I?
3Copyright©2019 NTT corp. All Rights Reserved.
MLflow公式に宣伝してもらえたので簡単な紹介
https://bit.ly/2pwvPaE
4Copyright©2019 NTT corp. All Rights Reserved.
• MLflowは企業での機械学習活用を支援するためのOSS
• SparkのOriginal CreatorであるMateiが開発を主導
• 再現性や再利用性を向上させるために3つの機能を提供: MLflow
Tracking/Projects/Models
• 詳しく知りたい方は前回のMeetup(2019.6)での発表を参照
• MLflowによる機械学習モデルのライフサイクルの管理, Spark
Meetup Tokyo#1, https://bit.ly/2QtE2as
• MLflow Kyenote @ SAIS Europe 2019
• Simplifying Model Management with MLflow, Matei
Zaharia, https://bit.ly/33XOsDb
• 1.0から1.4までの主要な追加機能
• Autologging in TensorFlow & Keras
• DataFrame search API
• Kubernetes, HDFS & Seldon
integrations
MLflow 1.4 Release
5Copyright©2019 NTT corp. All Rights Reserved.
Autologging in TensorFlow & Keras
SAIS Europe Keynoteから引用
MLflow 1.0 MLflow 1.4
6Copyright©2019 NTT corp. All Rights Reserved.
Today’s Agenda
• Sparkの次期リリース概要と主だった変更点
• リリース時期は公式的には未定だが,2020 Q1だと予測
• SAIS Europe 2019で個人的に注目した発表
• Powering Custom Apps at Facebook using Spark Script
Transformation @ Facebook
• SparkのScript Transformationを用いたユースケースや,
Facebook内での独自の最適化手法に関して
7Copyright©2019 NTT corp. All Rights Reserved.
Spark 3.0 Preview Release
• 正式リリースに向けて,ユーザからのフィードバックを
目的とした先行的な公開という位置付け
• 正式リリースではないためMaven Repositoryや
PyPIにはアップロードされていない
• 試すためにはアーカイブを自分で展開する必要あり
https://bit.ly/2KavYHV
8Copyright©2019 NTT corp. All Rights Reserved.
// DataFrame /SQL
SPARK-23128 A new approach to do adaptive execution in Spark SQL
SPARK-27225 Implement join strategy hints
SPARK-28588 Build a SQL reference doc (ongoing)
SPARK-27763 Port test cases from PostgreSQL to Spark SQL (ongoing )
SPARK-26215 define reserved keywords after SQL standard
SPARK-11150 Implement Dynamic Partition Pruning
SPARK-20636 Eliminate unnecessary shuffle with adjacent Window expressions
SPARK-25603 Generalize Nested Column Pruning
SPARK-27699 Partially push down disjunctive predicated in Parquet /ORC
SPARK-28753 Dynamically reuse subqueries in AQE
SPARK-27240 Use pandas DataFrame for struct type argument in Scalar Pandas UDF
SPARK-26412 Allow Pandas UDF to take an iterator of pd.DataFrames
// Core
SPARK-23710 Upgrade the built-in Hive to 2.3.5 for hadoop-3.2
SPARK-24417 Build and Run Spark on JDK11
SPARK-26132 Remove support for Scala 2.11 in Spark 3.0.0
SPARK-27884 Deprecate Python 2 support
// ML
SPARK-11215, SPARK-22796 Multiple columns support added to various Transformers
SPARK-24333 Add fit with validation set to Gradient Boosted Trees: Python API
SPARK-24615 Accelerator-aware task scheduling for Spark
SPARK-13677 Support Tree-Based Feature Transformation
SPARK-16692 Add MultilabelClassificationEvaluator
SPARK-19591 Add sample weights to decision trees
Notable Feature List in Spark 3.0 Preview
A full list of Spark 3.0 preview major features is found in: https://bit.ly/2rBOhzh
・この後のスライドで紹介する項目
・他のコア性能に関する改善
・(個人的に選んだ) 他の注目の変更点
9Copyright©2019 NTT corp. All Rights Reserved.
• クエリは入力データの統計情報を用いて妥
当な物理プランへ変換,その後DAGで表
現されたRDDとして実行
• 実行中は物理プランと対応するDAGは不変
Current Spark Execution Model
クエリ入力 クエリの分析
物理プランの決定
実行
SPARK-23128 Adaptive Execution in Spark SQL
10Copyright©2019 NTT corp. All Rights Reserved.
• クエリは入力データの統計情報を用いて妥
当な物理プランへ変換,その後DAGで表
現されたRDDとして実行
• 実行中は物理プランと対応するDAGは不変
Current Spark Execution Model
クエリ入力 クエリの分析
物理プランの決定
実行
SPARK-23128 Adaptive Execution in Spark SQL
11Copyright©2019 NTT corp. All Rights Reserved.
• 複雑なクエリの場合,中間データのサイズ予測の誤差の
影響で妥当な物理プランが選択されない問題
Optimization Error
SPARK-23128 Adaptive Execution in Spark SQL
Too
Large
“Too Large”と予測したが
実際は”Too Small”
本来であれば
BroadcastHashJoin
のほうが妥当
12Copyright©2019 NTT corp. All Rights Reserved.
• 物理プランを複数のQueryStageに分割,各Stageの
実際の出力データの統計情報を用いて次のStageの物理
プランの再最適化
• “spark.sql.adaptive.enabled=true“で有効化
Runtime Re-Optimization
SPARK-23128 Adaptive Execution in Spark SQL
Spark SQL Adaptive Execution Unleashes The Power of Cluster in Large Scale,
SAIS 2018, https://bit.ly/33WrVXB
13Copyright©2019 NTT corp. All Rights Reserved.
Dynamic Partition Pruning in Apache Spark
• SAIS Europe 2019での発表
• https://bit.ly/2Qs2pFt
• Dynamic Partition Pruning
• JOIN処理において片方のテーブルの部分集合を読み取る場合,
その読み込んだ部分集合を活用することで,もう片方の不要な
パーティションの読み込みを動的に除去
• スタースキーマに対する分析クエリで効果が高い
• SF=10KのTPC-DS Q98
で100倍の性能差
SPARK-11150 Implement Dynamic Partition Pruning
100X
14Copyright©2019 NTT corp. All Rights Reserved.
Static Partition Pruning
• 隣接するFilter処理の述語(WHERE句)を用いて,不
要なパーティションの読み込みを除去
SPARK-11150 Implement Dynamic Partition Pruning
スライドp4から引用
WHERE
day_of_week = ‘Mon’
必要なパーティション
だけを読み込み
• Filter処理のPush-Down(ルール
ベース最適化)と好相性
• サービスのログや売上情報など肥
大化しやすいFactテーブルを事前
に分割しておくことで,分析クエ
リを高速化
15Copyright©2019 NTT corp. All Rights Reserved.
DPPの論理プラン DPPの物理プラン
テーブル大
(e.g., Factテーブル)
テーブル小
(e.g., Dim.テーブル)
Dynamic Partition Pruning
• Join処理において,Filter処理後の片方のテーブルの内
容を用いて,もう片方の不要なパーティション読み取り
を除去するDynamic Filterを導入
• Filter処理後のテーブル内容の共有は既存のBroadcast Hash
Joinの機構に相乗りする形で実装
SPARK-11150 Implement Dynamic Partition Pruning
スライドp6,11から引用
16Copyright©2019 NTT corp. All Rights Reserved.
Dynamic Partition Pruning
SPARK-11150 Implement Dynamic Partition Pruning
デフォルトで有効
パーティション分割された大きいテーブルの読み込み
DPPが適用
17Copyright©2019 NTT corp. All Rights Reserved.
• EXPLAINの出力を構造化するFORMATTEDが追加
New Option in EXPLAIN
SPARK-27395 New format of EXPLAIN command
18Copyright©2019 NTT corp. All Rights Reserved.
• EXPLAINの出力を構造化するFORMATTEDが追加
New Option in EXPLAIN
SPARK-27395 New format of EXPLAIN command
19Copyright©2019 NTT corp. All Rights Reserved.
• Pandas UDFでグループ化してMAP処理が可能に
Dataframe Cogroup
SPARK-27463 Support Dataframe Cogroup via Pandas UDFs
20Copyright©2019 NTT corp. All Rights Reserved.
Join Hints
• 3.0からは全てのJoinに対するHintが指定可能に
• BROADCAST(2.4.4でも指定可能)
• SHUFFLE_MERGE
• SHUFFLE_HASH
• SHUFFLE_REPLICATE_NL
SPARK-27225 Implement join strategy hints
SELECT /*+ SHUFFLE_HASH(a, b) */ *
FROM a, b, c
WHERE a.a1 = b.b1
AND b.b1 = c.c1
Join Hintの使用例
21Copyright©2019 NTT corp. All Rights Reserved.
PostgreSQL Dialect Support
• PostgreSQLとの挙動の違いや未サポート機能を把握
するためRegressionテストの一部を移植
• 把握された課題はSPARK-27764(Feature Parity between
PostgreSQL and Spark)に記録、全233個!
• 共通性の高い課題に関してはSparkの動作に反映、
PostgreSQLの独自振る舞いに関しては以下のオプシ
ョンを設定した場合に反映
• “spark.sql.dialect=POSTGRESQL”で有効化
SPARK-27763 Port test cases from PostgreSQL to Spark SQL
22Copyright©2019 NTT corp. All Rights Reserved.
POWERING CUSTOM APPS AT
FACEBOOK USING SPARK SCRIPT
TRANSFORMATION
My Interest Topic in SAIS Europe 2019
発表資料: https://bit.ly/2q5OH0w
23Copyright©2019 NTT corp. All Rights Reserved.
• FacebookはSparkのヘビーユーザ
• Migrating Apache Hive Workload to Apache Spark:
Bridge the Gap, 2018@SF, https://bit.ly/2Qh0FPs
• Apache Spark at Scale: A 60 TB+ production use case,
2017@Europe, https://bit.ly/2pjK4iO
Spark @ Facebook
スライドp4から引用
Migrationを検討されている方必見:
HiveからSparkへ移行する際に
気をつけるべき
機能差に関する発表
24Copyright©2019 NTT corp. All Rights Reserved.
• SQL構文の中で任意のスクリプト処理をSparkクラス
タの外部プロセス経由で実行する拡張
• もともとApache Hiveで用いられていた機能
• 使い方次第でUDFに比べて柔軟で効率的な処理が可能
Script Transformation
スライドp8から引用
25Copyright©2019 NTT corp. All Rights Reserved.
• SQL構文の中で任意のスクリプト処理をSparkクラス
タの外部プロセス経由で実行する拡張
• もともとApache Hiveで用いられていた機能
• 使い方次第でUDFに比べて柔軟で効率的な処理が可能
Script Transformation
ProcessBuilderで
外部プロセスとして実行
26Copyright©2019 NTT corp. All Rights Reserved.
• Script Transformationで推論とインデキシング
• PyTorchインストール済みのSparkの実行ノード(Executor)
に学習済みのモデルを配布して推論をバッチ的に実行
• 学習モデルの配布は”ADD FILES”で実施
Facebook’s Use Cases
スライドp17,19から引用
27Copyright©2019 NTT corp. All Rights Reserved.
• Script Transformationで推論とインデキシング
• 分散キーでShuffleすることで,分散キーで分割されたパーティ
ションごとにデータに対するインデクスを作成
Facebook’s Use Cases
28Copyright©2019 NTT corp. All Rights Reserved.
• Sparkと外部プロセスの間のI/O処理の効率化
• SQL構文上からユーザが定義した独自のI/O処理を指定可能
• 開発環境ではデバック効率重視のテキスト形式、プロダ
クション環境では速度重視のバイナリ形式
• 現在はSparkの内部表現(UnsafeRow)をそのまま活用,今後
はArrowなどの高効率なバイナリ形式を検討
• Int/Doubleなどの単純型でテキスト形式と比較して,バイナリ
形式は最大で4倍程度の高速化
• Map/Arrayなどの複雑型では性能差が拡大
効率化のためのFacebook独自の取り組み
29Copyright©2019 NTT corp. All Rights Reserved.
• 推論のバッチ処理はPySparkのUDFでも可能
Off-Topic: PySpark UDF for Batch
Inference
>>>
// scikit-learnで学習モデルを作成
>>> clf = DecisionTreeClassifier()
>>> clf.fit(X_train, y_train)
// 作成したモデルをSparkクラスタで共有
>>> broadcasted_clf = spark.sparkContext.broadcast(clf)
// 共有したモデルを使用して推論を行うUDFを定義
>>> @pandas_udf(returnType='int')
... def predict(*cols):
... X = pd.concat(cols, axis=1)
... predicted = broadcasted_clf.value.predict(X)
... return pd.Series(predicted)
// 定義したUDFを用いて推論処理をSparkで分散・並列実行
>>> df.select('y', predict(*X.columns).alias('predicted'))
デモコード: https://bit.ly/357C0kp
30Copyright©2019 NTT corp. All Rights Reserved.
• 本日の発表概要
• Spark 3.0 Preview Releaseの気になった変更点を紹介
• Spark 3.0に関して特に以下の内容を簡単に紹介
• Adaptive Execution in Spark SQL
• Dynamic Partition Pruning
• New Option in EXPLAIN
• Dataframe Cogroup
• Join Strategy Hints
• PostgreSQL Dialect Support
• SAIS Europe 2019で個人的に注目した発表を紹介
• Powering Custom Apps at Facebook using Spark Script
Transformation @ Facebook
Wrap-up

More Related Content

What's hot

2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 20162016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016Yu Ishikawa
 
Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...
Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...
Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...Hadoop / Spark Conference Japan
 
HBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejpHBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejpFwardNetwork
 
Sparkによる GISデータを題材とした時系列データ処理 (Hadoop / Spark Conference Japan 2016 講演資料)
Sparkによる GISデータを題材とした時系列データ処理 (Hadoop / Spark Conference Japan 2016 講演資料)Sparkによる GISデータを題材とした時系列データ処理 (Hadoop / Spark Conference Japan 2016 講演資料)
Sparkによる GISデータを題材とした時系列データ処理 (Hadoop / Spark Conference Japan 2016 講演資料)Hadoop / Spark Conference Japan
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~NTT DATA OSS Professional Services
 
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016Nagato Kasaki
 
20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrow20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrowKohei KaiGai
 
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC EnterpriseYusukeKuramata
 
Sparkのクエリ処理系と周辺の話題
Sparkのクエリ処理系と周辺の話題Sparkのクエリ処理系と周辺の話題
Sparkのクエリ処理系と周辺の話題Takeshi Yamamuro
 
20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_TokyoKohei KaiGai
 
2014 11-20 Machine Learning with Apache Spark 勉強会資料
2014 11-20 Machine Learning with Apache Spark 勉強会資料2014 11-20 Machine Learning with Apache Spark 勉強会資料
2014 11-20 Machine Learning with Apache Spark 勉強会資料Recruit Technologies
 
Spark勉強会_ibm_20151014-公開版
Spark勉強会_ibm_20151014-公開版Spark勉強会_ibm_20151014-公開版
Spark勉強会_ibm_20151014-公開版Atsushi Tsuchiya
 
レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証
レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証
レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証Recruit Technologies
 
20190516_DLC10_PGStrom
20190516_DLC10_PGStrom20190516_DLC10_PGStrom
20190516_DLC10_PGStromKohei KaiGai
 
ビッグデータ活用を加速する!分散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
 
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】NTT DATA OSS Professional Services
 
変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤Recruit Technologies
 
Spark/MapReduceの 機械学習ライブラリ比較検証
Spark/MapReduceの 機械学習ライブラリ比較検証Spark/MapReduceの 機械学習ライブラリ比較検証
Spark/MapReduceの 機械学習ライブラリ比較検証Recruit Technologies
 

What's hot (20)

2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 20162016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
 
Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...
Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...
Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...
 
HBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejpHBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejp
 
Sparkによる GISデータを題材とした時系列データ処理 (Hadoop / Spark Conference Japan 2016 講演資料)
Sparkによる GISデータを題材とした時系列データ処理 (Hadoop / Spark Conference Japan 2016 講演資料)Sparkによる GISデータを題材とした時系列データ処理 (Hadoop / Spark Conference Japan 2016 講演資料)
Sparkによる GISデータを題材とした時系列データ処理 (Hadoop / Spark Conference Japan 2016 講演資料)
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
 
20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrow20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrow
 
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
 
Sparkのクエリ処理系と周辺の話題
Sparkのクエリ処理系と周辺の話題Sparkのクエリ処理系と周辺の話題
Sparkのクエリ処理系と周辺の話題
 
20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo
 
2014 11-20 Machine Learning with Apache Spark 勉強会資料
2014 11-20 Machine Learning with Apache Spark 勉強会資料2014 11-20 Machine Learning with Apache Spark 勉強会資料
2014 11-20 Machine Learning with Apache Spark 勉強会資料
 
Spark勉強会_ibm_20151014-公開版
Spark勉強会_ibm_20151014-公開版Spark勉強会_ibm_20151014-公開版
Spark勉強会_ibm_20151014-公開版
 
レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証
レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証
レコメンドバッチ高速化に向けたSpark/MapReduceの機械学習ライブラリ比較検証
 
What makes Apache Spark?
What makes Apache Spark?What makes Apache Spark?
What makes Apache Spark?
 
20190516_DLC10_PGStrom
20190516_DLC10_PGStrom20190516_DLC10_PGStrom
20190516_DLC10_PGStrom
 
ビッグデータ活用を加速する!分散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
 
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
 
Spark SQL - The internal -
Spark SQL - The internal -Spark SQL - The internal -
Spark SQL - The internal -
 
変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤
 
Spark/MapReduceの 機械学習ライブラリ比較検証
Spark/MapReduceの 機械学習ライブラリ比較検証Spark/MapReduceの 機械学習ライブラリ比較検証
Spark/MapReduceの 機械学習ライブラリ比較検証
 

Similar to Quick Overview of Upcoming Spark 3.0 + α

大量のデータ処理や分析に使える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
 
大量のデータ処理や分析に使える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
 
Logic Apps/Flow Update Summary
Logic Apps/Flow Update SummaryLogic Apps/Flow Update Summary
Logic Apps/Flow Update SummaryTomoyuki Obi
 
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...NTT DATA Technology & Innovation
 
大量のデータ処理や分析に使える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
 
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
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Masatomo Ito
 
Splunkを使ってKubernetesクラスターとコンテナのログ・メトリクスを可視化
Splunkを使ってKubernetesクラスターとコンテナのログ・メトリクスを可視化Splunkを使ってKubernetesクラスターとコンテナのログ・メトリクスを可視化
Splunkを使ってKubernetesクラスターとコンテナのログ・メトリクスを可視化Kunihiko Ikeyama
 
多言語を一つの処理系でハイパフォーマンスに実行するGraalPythonの紹介
多言語を一つの処理系でハイパフォーマンスに実行するGraalPythonの紹介多言語を一つの処理系でハイパフォーマンスに実行するGraalPythonの紹介
多言語を一つの処理系でハイパフォーマンスに実行するGraalPythonの紹介Tamakoshi Hironori
 
Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介Kazushi Kamegawa
 
入門 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
 
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦Insight Technology, Inc.
 
PTLのお仕事とリリースパイプラインの裏側
PTLのお仕事とリリースパイプラインの裏側PTLのお仕事とリリースパイプラインの裏側
PTLのお仕事とリリースパイプラインの裏側masahito12
 
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)オラクルエンジニア通信
 
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...NTT DATA Technology & Innovation
 
PySpark Intro Part.2 with SQL Graph
PySpark Intro Part.2 with SQL GraphPySpark Intro Part.2 with SQL Graph
PySpark Intro Part.2 with SQL GraphOshitari_kochi
 
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介CASAREAL, Inc.
 
Autonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションAutonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションオラクルエンジニア通信
 
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!NTT DATA Technology & Innovation
 

Similar to Quick Overview of Upcoming Spark 3.0 + α (20)

大量のデータ処理や分析に使える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 発表資料)
 
大量のデータ処理や分析に使える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...
 
Logic Apps/Flow Update Summary
Logic Apps/Flow Update SummaryLogic Apps/Flow Update Summary
Logic Apps/Flow Update Summary
 
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
 
大量のデータ処理や分析に使える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 ...
 
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 ...
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18
 
Splunkを使ってKubernetesクラスターとコンテナのログ・メトリクスを可視化
Splunkを使ってKubernetesクラスターとコンテナのログ・メトリクスを可視化Splunkを使ってKubernetesクラスターとコンテナのログ・メトリクスを可視化
Splunkを使ってKubernetesクラスターとコンテナのログ・メトリクスを可視化
 
多言語を一つの処理系でハイパフォーマンスに実行するGraalPythonの紹介
多言語を一つの処理系でハイパフォーマンスに実行するGraalPythonの紹介多言語を一つの処理系でハイパフォーマンスに実行するGraalPythonの紹介
多言語を一つの処理系でハイパフォーマンスに実行するGraalPythonの紹介
 
Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
 
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
 
PTLのお仕事とリリースパイプラインの裏側
PTLのお仕事とリリースパイプラインの裏側PTLのお仕事とリリースパイプラインの裏側
PTLのお仕事とリリースパイプラインの裏側
 
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
 
Apache spark 2.3 and beyond
Apache spark 2.3 and beyondApache spark 2.3 and beyond
Apache spark 2.3 and beyond
 
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
 
PySpark Intro Part.2 with SQL Graph
PySpark Intro Part.2 with SQL GraphPySpark Intro Part.2 with SQL Graph
PySpark Intro Part.2 with SQL Graph
 
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
 
Autonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションAutonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーション
 
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
 

More from Takeshi Yamamuro

LT: Spark 3.1 Feature Expectation
LT: Spark 3.1 Feature ExpectationLT: Spark 3.1 Feature Expectation
LT: Spark 3.1 Feature ExpectationTakeshi Yamamuro
 
MLflowによる機械学習モデルのライフサイクルの管理
MLflowによる機械学習モデルのライフサイクルの管理MLflowによる機械学習モデルのライフサイクルの管理
MLflowによる機械学習モデルのライフサイクルの管理Takeshi Yamamuro
 
Taming Distributed/Parallel Query Execution Engine of Apache Spark
Taming Distributed/Parallel Query Execution Engine of Apache SparkTaming Distributed/Parallel Query Execution Engine of Apache Spark
Taming Distributed/Parallel Query Execution Engine of Apache SparkTakeshi Yamamuro
 
LLJVM: LLVM bitcode to JVM bytecode
LLJVM: LLVM bitcode to JVM bytecodeLLJVM: LLVM bitcode to JVM bytecode
LLJVM: LLVM bitcode to JVM bytecodeTakeshi Yamamuro
 
20180417 hivemall meetup#4
20180417 hivemall meetup#420180417 hivemall meetup#4
20180417 hivemall meetup#4Takeshi Yamamuro
 
An Experimental Study of Bitmap Compression vs. Inverted List Compression
An Experimental Study of Bitmap Compression vs. Inverted List CompressionAn Experimental Study of Bitmap Compression vs. Inverted List Compression
An Experimental Study of Bitmap Compression vs. Inverted List CompressionTakeshi Yamamuro
 
VLDB2013 R1 Emerging Hardware
VLDB2013 R1 Emerging HardwareVLDB2013 R1 Emerging Hardware
VLDB2013 R1 Emerging HardwareTakeshi Yamamuro
 
浮動小数点(IEEE754)を圧縮したい@dsirnlp#4
浮動小数点(IEEE754)を圧縮したい@dsirnlp#4浮動小数点(IEEE754)を圧縮したい@dsirnlp#4
浮動小数点(IEEE754)を圧縮したい@dsirnlp#4Takeshi Yamamuro
 
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)Takeshi Yamamuro
 
Introduction to Modern Analytical DB
Introduction to Modern Analytical DBIntroduction to Modern Analytical DB
Introduction to Modern Analytical DBTakeshi Yamamuro
 
SIGMOD’12勉強会 -Session 7-
SIGMOD’12勉強会 -Session 7-SIGMOD’12勉強会 -Session 7-
SIGMOD’12勉強会 -Session 7-Takeshi Yamamuro
 
A x86-optimized rank&select dictionary for bit sequences
A x86-optimized rank&select dictionary for bit sequencesA x86-optimized rank&select dictionary for bit sequences
A x86-optimized rank&select dictionary for bit sequencesTakeshi Yamamuro
 
VLDB’11勉強会 -Session 9-
VLDB’11勉強会 -Session 9-VLDB’11勉強会 -Session 9-
VLDB’11勉強会 -Session 9-Takeshi Yamamuro
 
研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法Takeshi Yamamuro
 
VLDB'10勉強会 -Session 20-
VLDB'10勉強会 -Session 20-VLDB'10勉強会 -Session 20-
VLDB'10勉強会 -Session 20-Takeshi Yamamuro
 
VLDB'10勉強会 -Session 2-
VLDB'10勉強会 -Session 2-VLDB'10勉強会 -Session 2-
VLDB'10勉強会 -Session 2-Takeshi Yamamuro
 

More from Takeshi Yamamuro (20)

LT: Spark 3.1 Feature Expectation
LT: Spark 3.1 Feature ExpectationLT: Spark 3.1 Feature Expectation
LT: Spark 3.1 Feature Expectation
 
MLflowによる機械学習モデルのライフサイクルの管理
MLflowによる機械学習モデルのライフサイクルの管理MLflowによる機械学習モデルのライフサイクルの管理
MLflowによる機械学習モデルのライフサイクルの管理
 
Taming Distributed/Parallel Query Execution Engine of Apache Spark
Taming Distributed/Parallel Query Execution Engine of Apache SparkTaming Distributed/Parallel Query Execution Engine of Apache Spark
Taming Distributed/Parallel Query Execution Engine of Apache Spark
 
LLJVM: LLVM bitcode to JVM bytecode
LLJVM: LLVM bitcode to JVM bytecodeLLJVM: LLVM bitcode to JVM bytecode
LLJVM: LLVM bitcode to JVM bytecode
 
20180417 hivemall meetup#4
20180417 hivemall meetup#420180417 hivemall meetup#4
20180417 hivemall meetup#4
 
An Experimental Study of Bitmap Compression vs. Inverted List Compression
An Experimental Study of Bitmap Compression vs. Inverted List CompressionAn Experimental Study of Bitmap Compression vs. Inverted List Compression
An Experimental Study of Bitmap Compression vs. Inverted List Compression
 
20160908 hivemall meetup
20160908 hivemall meetup20160908 hivemall meetup
20160908 hivemall meetup
 
20150513 legobease
20150513 legobease20150513 legobease
20150513 legobease
 
20150516 icde2015 r19-4
20150516 icde2015 r19-420150516 icde2015 r19-4
20150516 icde2015 r19-4
 
VLDB2013 R1 Emerging Hardware
VLDB2013 R1 Emerging HardwareVLDB2013 R1 Emerging Hardware
VLDB2013 R1 Emerging Hardware
 
浮動小数点(IEEE754)を圧縮したい@dsirnlp#4
浮動小数点(IEEE754)を圧縮したい@dsirnlp#4浮動小数点(IEEE754)を圧縮したい@dsirnlp#4
浮動小数点(IEEE754)を圧縮したい@dsirnlp#4
 
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
 
Introduction to Modern Analytical DB
Introduction to Modern Analytical DBIntroduction to Modern Analytical DB
Introduction to Modern Analytical DB
 
SIGMOD’12勉強会 -Session 7-
SIGMOD’12勉強会 -Session 7-SIGMOD’12勉強会 -Session 7-
SIGMOD’12勉強会 -Session 7-
 
A x86-optimized rank&select dictionary for bit sequences
A x86-optimized rank&select dictionary for bit sequencesA x86-optimized rank&select dictionary for bit sequences
A x86-optimized rank&select dictionary for bit sequences
 
VAST-Tree, EDBT'12
VAST-Tree, EDBT'12VAST-Tree, EDBT'12
VAST-Tree, EDBT'12
 
VLDB’11勉強会 -Session 9-
VLDB’11勉強会 -Session 9-VLDB’11勉強会 -Session 9-
VLDB’11勉強会 -Session 9-
 
研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法
 
VLDB'10勉強会 -Session 20-
VLDB'10勉強会 -Session 20-VLDB'10勉強会 -Session 20-
VLDB'10勉強会 -Session 20-
 
VLDB'10勉強会 -Session 2-
VLDB'10勉強会 -Session 2-VLDB'10勉強会 -Session 2-
VLDB'10勉強会 -Session 2-
 

Recently uploaded

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

Recently uploaded (9)

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

Quick Overview of Upcoming Spark 3.0 + α

  • 1. Copyright©2019 NTT corp. All Rights Reserved. Quick Overview of Upcoming Spark 3.0 + Takeshi Yamamuro @ NTT α
  • 2. 2Copyright©2019 NTT corp. All Rights Reserved. Who am I?
  • 3. 3Copyright©2019 NTT corp. All Rights Reserved. MLflow公式に宣伝してもらえたので簡単な紹介 https://bit.ly/2pwvPaE
  • 4. 4Copyright©2019 NTT corp. All Rights Reserved. • MLflowは企業での機械学習活用を支援するためのOSS • SparkのOriginal CreatorであるMateiが開発を主導 • 再現性や再利用性を向上させるために3つの機能を提供: MLflow Tracking/Projects/Models • 詳しく知りたい方は前回のMeetup(2019.6)での発表を参照 • MLflowによる機械学習モデルのライフサイクルの管理, Spark Meetup Tokyo#1, https://bit.ly/2QtE2as • MLflow Kyenote @ SAIS Europe 2019 • Simplifying Model Management with MLflow, Matei Zaharia, https://bit.ly/33XOsDb • 1.0から1.4までの主要な追加機能 • Autologging in TensorFlow & Keras • DataFrame search API • Kubernetes, HDFS & Seldon integrations MLflow 1.4 Release
  • 5. 5Copyright©2019 NTT corp. All Rights Reserved. Autologging in TensorFlow & Keras SAIS Europe Keynoteから引用 MLflow 1.0 MLflow 1.4
  • 6. 6Copyright©2019 NTT corp. All Rights Reserved. Today’s Agenda • Sparkの次期リリース概要と主だった変更点 • リリース時期は公式的には未定だが,2020 Q1だと予測 • SAIS Europe 2019で個人的に注目した発表 • Powering Custom Apps at Facebook using Spark Script Transformation @ Facebook • SparkのScript Transformationを用いたユースケースや, Facebook内での独自の最適化手法に関して
  • 7. 7Copyright©2019 NTT corp. All Rights Reserved. Spark 3.0 Preview Release • 正式リリースに向けて,ユーザからのフィードバックを 目的とした先行的な公開という位置付け • 正式リリースではないためMaven Repositoryや PyPIにはアップロードされていない • 試すためにはアーカイブを自分で展開する必要あり https://bit.ly/2KavYHV
  • 8. 8Copyright©2019 NTT corp. All Rights Reserved. // DataFrame /SQL SPARK-23128 A new approach to do adaptive execution in Spark SQL SPARK-27225 Implement join strategy hints SPARK-28588 Build a SQL reference doc (ongoing) SPARK-27763 Port test cases from PostgreSQL to Spark SQL (ongoing ) SPARK-26215 define reserved keywords after SQL standard SPARK-11150 Implement Dynamic Partition Pruning SPARK-20636 Eliminate unnecessary shuffle with adjacent Window expressions SPARK-25603 Generalize Nested Column Pruning SPARK-27699 Partially push down disjunctive predicated in Parquet /ORC SPARK-28753 Dynamically reuse subqueries in AQE SPARK-27240 Use pandas DataFrame for struct type argument in Scalar Pandas UDF SPARK-26412 Allow Pandas UDF to take an iterator of pd.DataFrames // Core SPARK-23710 Upgrade the built-in Hive to 2.3.5 for hadoop-3.2 SPARK-24417 Build and Run Spark on JDK11 SPARK-26132 Remove support for Scala 2.11 in Spark 3.0.0 SPARK-27884 Deprecate Python 2 support // ML SPARK-11215, SPARK-22796 Multiple columns support added to various Transformers SPARK-24333 Add fit with validation set to Gradient Boosted Trees: Python API SPARK-24615 Accelerator-aware task scheduling for Spark SPARK-13677 Support Tree-Based Feature Transformation SPARK-16692 Add MultilabelClassificationEvaluator SPARK-19591 Add sample weights to decision trees Notable Feature List in Spark 3.0 Preview A full list of Spark 3.0 preview major features is found in: https://bit.ly/2rBOhzh ・この後のスライドで紹介する項目 ・他のコア性能に関する改善 ・(個人的に選んだ) 他の注目の変更点
  • 9. 9Copyright©2019 NTT corp. All Rights Reserved. • クエリは入力データの統計情報を用いて妥 当な物理プランへ変換,その後DAGで表 現されたRDDとして実行 • 実行中は物理プランと対応するDAGは不変 Current Spark Execution Model クエリ入力 クエリの分析 物理プランの決定 実行 SPARK-23128 Adaptive Execution in Spark SQL
  • 10. 10Copyright©2019 NTT corp. All Rights Reserved. • クエリは入力データの統計情報を用いて妥 当な物理プランへ変換,その後DAGで表 現されたRDDとして実行 • 実行中は物理プランと対応するDAGは不変 Current Spark Execution Model クエリ入力 クエリの分析 物理プランの決定 実行 SPARK-23128 Adaptive Execution in Spark SQL
  • 11. 11Copyright©2019 NTT corp. All Rights Reserved. • 複雑なクエリの場合,中間データのサイズ予測の誤差の 影響で妥当な物理プランが選択されない問題 Optimization Error SPARK-23128 Adaptive Execution in Spark SQL Too Large “Too Large”と予測したが 実際は”Too Small” 本来であれば BroadcastHashJoin のほうが妥当
  • 12. 12Copyright©2019 NTT corp. All Rights Reserved. • 物理プランを複数のQueryStageに分割,各Stageの 実際の出力データの統計情報を用いて次のStageの物理 プランの再最適化 • “spark.sql.adaptive.enabled=true“で有効化 Runtime Re-Optimization SPARK-23128 Adaptive Execution in Spark SQL Spark SQL Adaptive Execution Unleashes The Power of Cluster in Large Scale, SAIS 2018, https://bit.ly/33WrVXB
  • 13. 13Copyright©2019 NTT corp. All Rights Reserved. Dynamic Partition Pruning in Apache Spark • SAIS Europe 2019での発表 • https://bit.ly/2Qs2pFt • Dynamic Partition Pruning • JOIN処理において片方のテーブルの部分集合を読み取る場合, その読み込んだ部分集合を活用することで,もう片方の不要な パーティションの読み込みを動的に除去 • スタースキーマに対する分析クエリで効果が高い • SF=10KのTPC-DS Q98 で100倍の性能差 SPARK-11150 Implement Dynamic Partition Pruning 100X
  • 14. 14Copyright©2019 NTT corp. All Rights Reserved. Static Partition Pruning • 隣接するFilter処理の述語(WHERE句)を用いて,不 要なパーティションの読み込みを除去 SPARK-11150 Implement Dynamic Partition Pruning スライドp4から引用 WHERE day_of_week = ‘Mon’ 必要なパーティション だけを読み込み • Filter処理のPush-Down(ルール ベース最適化)と好相性 • サービスのログや売上情報など肥 大化しやすいFactテーブルを事前 に分割しておくことで,分析クエ リを高速化
  • 15. 15Copyright©2019 NTT corp. All Rights Reserved. DPPの論理プラン DPPの物理プラン テーブル大 (e.g., Factテーブル) テーブル小 (e.g., Dim.テーブル) Dynamic Partition Pruning • Join処理において,Filter処理後の片方のテーブルの内 容を用いて,もう片方の不要なパーティション読み取り を除去するDynamic Filterを導入 • Filter処理後のテーブル内容の共有は既存のBroadcast Hash Joinの機構に相乗りする形で実装 SPARK-11150 Implement Dynamic Partition Pruning スライドp6,11から引用
  • 16. 16Copyright©2019 NTT corp. All Rights Reserved. Dynamic Partition Pruning SPARK-11150 Implement Dynamic Partition Pruning デフォルトで有効 パーティション分割された大きいテーブルの読み込み DPPが適用
  • 17. 17Copyright©2019 NTT corp. All Rights Reserved. • EXPLAINの出力を構造化するFORMATTEDが追加 New Option in EXPLAIN SPARK-27395 New format of EXPLAIN command
  • 18. 18Copyright©2019 NTT corp. All Rights Reserved. • EXPLAINの出力を構造化するFORMATTEDが追加 New Option in EXPLAIN SPARK-27395 New format of EXPLAIN command
  • 19. 19Copyright©2019 NTT corp. All Rights Reserved. • Pandas UDFでグループ化してMAP処理が可能に Dataframe Cogroup SPARK-27463 Support Dataframe Cogroup via Pandas UDFs
  • 20. 20Copyright©2019 NTT corp. All Rights Reserved. Join Hints • 3.0からは全てのJoinに対するHintが指定可能に • BROADCAST(2.4.4でも指定可能) • SHUFFLE_MERGE • SHUFFLE_HASH • SHUFFLE_REPLICATE_NL SPARK-27225 Implement join strategy hints SELECT /*+ SHUFFLE_HASH(a, b) */ * FROM a, b, c WHERE a.a1 = b.b1 AND b.b1 = c.c1 Join Hintの使用例
  • 21. 21Copyright©2019 NTT corp. All Rights Reserved. PostgreSQL Dialect Support • PostgreSQLとの挙動の違いや未サポート機能を把握 するためRegressionテストの一部を移植 • 把握された課題はSPARK-27764(Feature Parity between PostgreSQL and Spark)に記録、全233個! • 共通性の高い課題に関してはSparkの動作に反映、 PostgreSQLの独自振る舞いに関しては以下のオプシ ョンを設定した場合に反映 • “spark.sql.dialect=POSTGRESQL”で有効化 SPARK-27763 Port test cases from PostgreSQL to Spark SQL
  • 22. 22Copyright©2019 NTT corp. All Rights Reserved. POWERING CUSTOM APPS AT FACEBOOK USING SPARK SCRIPT TRANSFORMATION My Interest Topic in SAIS Europe 2019 発表資料: https://bit.ly/2q5OH0w
  • 23. 23Copyright©2019 NTT corp. All Rights Reserved. • FacebookはSparkのヘビーユーザ • Migrating Apache Hive Workload to Apache Spark: Bridge the Gap, 2018@SF, https://bit.ly/2Qh0FPs • Apache Spark at Scale: A 60 TB+ production use case, 2017@Europe, https://bit.ly/2pjK4iO Spark @ Facebook スライドp4から引用 Migrationを検討されている方必見: HiveからSparkへ移行する際に 気をつけるべき 機能差に関する発表
  • 24. 24Copyright©2019 NTT corp. All Rights Reserved. • SQL構文の中で任意のスクリプト処理をSparkクラス タの外部プロセス経由で実行する拡張 • もともとApache Hiveで用いられていた機能 • 使い方次第でUDFに比べて柔軟で効率的な処理が可能 Script Transformation スライドp8から引用
  • 25. 25Copyright©2019 NTT corp. All Rights Reserved. • SQL構文の中で任意のスクリプト処理をSparkクラス タの外部プロセス経由で実行する拡張 • もともとApache Hiveで用いられていた機能 • 使い方次第でUDFに比べて柔軟で効率的な処理が可能 Script Transformation ProcessBuilderで 外部プロセスとして実行
  • 26. 26Copyright©2019 NTT corp. All Rights Reserved. • Script Transformationで推論とインデキシング • PyTorchインストール済みのSparkの実行ノード(Executor) に学習済みのモデルを配布して推論をバッチ的に実行 • 学習モデルの配布は”ADD FILES”で実施 Facebook’s Use Cases スライドp17,19から引用
  • 27. 27Copyright©2019 NTT corp. All Rights Reserved. • Script Transformationで推論とインデキシング • 分散キーでShuffleすることで,分散キーで分割されたパーティ ションごとにデータに対するインデクスを作成 Facebook’s Use Cases
  • 28. 28Copyright©2019 NTT corp. All Rights Reserved. • Sparkと外部プロセスの間のI/O処理の効率化 • SQL構文上からユーザが定義した独自のI/O処理を指定可能 • 開発環境ではデバック効率重視のテキスト形式、プロダ クション環境では速度重視のバイナリ形式 • 現在はSparkの内部表現(UnsafeRow)をそのまま活用,今後 はArrowなどの高効率なバイナリ形式を検討 • Int/Doubleなどの単純型でテキスト形式と比較して,バイナリ 形式は最大で4倍程度の高速化 • Map/Arrayなどの複雑型では性能差が拡大 効率化のためのFacebook独自の取り組み
  • 29. 29Copyright©2019 NTT corp. All Rights Reserved. • 推論のバッチ処理はPySparkのUDFでも可能 Off-Topic: PySpark UDF for Batch Inference >>> // scikit-learnで学習モデルを作成 >>> clf = DecisionTreeClassifier() >>> clf.fit(X_train, y_train) // 作成したモデルをSparkクラスタで共有 >>> broadcasted_clf = spark.sparkContext.broadcast(clf) // 共有したモデルを使用して推論を行うUDFを定義 >>> @pandas_udf(returnType='int') ... def predict(*cols): ... X = pd.concat(cols, axis=1) ... predicted = broadcasted_clf.value.predict(X) ... return pd.Series(predicted) // 定義したUDFを用いて推論処理をSparkで分散・並列実行 >>> df.select('y', predict(*X.columns).alias('predicted')) デモコード: https://bit.ly/357C0kp
  • 30. 30Copyright©2019 NTT corp. All Rights Reserved. • 本日の発表概要 • Spark 3.0 Preview Releaseの気になった変更点を紹介 • Spark 3.0に関して特に以下の内容を簡単に紹介 • Adaptive Execution in Spark SQL • Dynamic Partition Pruning • New Option in EXPLAIN • Dataframe Cogroup • Join Strategy Hints • PostgreSQL Dialect Support • SAIS Europe 2019で個人的に注目した発表を紹介 • Powering Custom Apps at Facebook using Spark Script Transformation @ Facebook Wrap-up