Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Takeshi Yamamuro
PDF, PPTX
1,262 views
Apache Spark + Arrow
A slide for Apache Arrow Meetup Tokyo 2019: https://speee.connpass.com/event/152887/
Technology
◦
Read more
1
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 16
2
/ 16
3
/ 16
4
/ 16
5
/ 16
6
/ 16
7
/ 16
8
/ 16
9
/ 16
10
/ 16
11
/ 16
12
/ 16
13
/ 16
14
/ 16
15
/ 16
16
/ 16
More Related Content
PDF
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
by
Noritaka Sekiyama
PPTX
MongoDBが遅いときの切り分け方法
by
Tetsutaro Watanabe
PPTX
さくっと理解するSpring bootの仕組み
by
Takeshi Ogawa
PDF
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
by
NTT DATA Technology & Innovation
PDF
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
by
Masahito Zembutsu
PPTX
V$SQLとその周辺でER図を描いてみよう!
by
歩 柴田
PDF
PostgreSQL 15の新機能を徹底解説
by
Masahiko Sawada
PDF
OpenShiftでJBoss EAP構築
by
Daein Park
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
by
Noritaka Sekiyama
MongoDBが遅いときの切り分け方法
by
Tetsutaro Watanabe
さくっと理解するSpring bootの仕組み
by
Takeshi Ogawa
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
by
NTT DATA Technology & Innovation
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
by
Masahito Zembutsu
V$SQLとその周辺でER図を描いてみよう!
by
歩 柴田
PostgreSQL 15の新機能を徹底解説
by
Masahiko Sawada
OpenShiftでJBoss EAP構築
by
Daein Park
What's hot
PDF
SpringBootTest入門
by
Yahoo!デベロッパーネットワーク
PDF
Dockerfile を書くためのベストプラクティス解説編
by
Masahito Zembutsu
PDF
PostgreSQL: XID周回問題に潜む別の問題
by
NTT DATA OSS Professional Services
PPTX
がっつりMongoDB事例紹介
by
Tetsutaro Watanabe
PDF
競技プログラミング頻出アルゴリズム攻略
by
K Moneto
PPTX
初心者向けMongoDBのキホン!
by
Tetsutaro Watanabe
PDF
SQL Server運用実践 - 3年間80台の運用経験から20の教訓
by
貴仁 大和屋
PDF
Apache Arrow - データ処理ツールの次世代プラットフォーム
by
Kouhei Sutou
PDF
Scala警察のすすめ
by
takezoe
PDF
これで怖くない!?大規模環境で体験するDB負荷対策~垂直から水平の彼方へ~
by
hideakikabuto
PDF
文字コードに起因する脆弱性とその対策(増補版)
by
Hiroshi Tokumaru
PDF
SQL大量発行処理をいかにして高速化するか
by
Shogo Wakayama
PDF
SolrとElasticsearchを比べてみよう
by
Shinsuke Sugaya
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
by
Y Watanabe
PDF
perfを使ったPostgreSQLの解析(前編)
by
NTT DATA OSS Professional Services
PPTX
Apache Solr 入門
by
順平 西本
PDF
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
PDF
例外設計における大罪
by
Takuto Wada
PPTX
Cassandraバージョンアップ&移設
by
Takehiro Torigaki
PDF
JDKの選択肢とサーバーサイドでの選び方
by
Takahiro YAMADA
SpringBootTest入門
by
Yahoo!デベロッパーネットワーク
Dockerfile を書くためのベストプラクティス解説編
by
Masahito Zembutsu
PostgreSQL: XID周回問題に潜む別の問題
by
NTT DATA OSS Professional Services
がっつりMongoDB事例紹介
by
Tetsutaro Watanabe
競技プログラミング頻出アルゴリズム攻略
by
K Moneto
初心者向けMongoDBのキホン!
by
Tetsutaro Watanabe
SQL Server運用実践 - 3年間80台の運用経験から20の教訓
by
貴仁 大和屋
Apache Arrow - データ処理ツールの次世代プラットフォーム
by
Kouhei Sutou
Scala警察のすすめ
by
takezoe
これで怖くない!?大規模環境で体験するDB負荷対策~垂直から水平の彼方へ~
by
hideakikabuto
文字コードに起因する脆弱性とその対策(増補版)
by
Hiroshi Tokumaru
SQL大量発行処理をいかにして高速化するか
by
Shogo Wakayama
SolrとElasticsearchを比べてみよう
by
Shinsuke Sugaya
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
by
Y Watanabe
perfを使ったPostgreSQLの解析(前編)
by
NTT DATA OSS Professional Services
Apache Solr 入門
by
順平 西本
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
例外設計における大罪
by
Takuto Wada
Cassandraバージョンアップ&移設
by
Takehiro Torigaki
JDKの選択肢とサーバーサイドでの選び方
by
Takahiro YAMADA
Similar to Apache Spark + Arrow
PPTX
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
by
NTT DATA Technology & Innovation
PDF
Taming Distributed/Parallel Query Execution Engine of Apache Spark
by
Takeshi Yamamuro
PPTX
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
by
NTT DATA Technology & Innovation
PPTX
Big datauniversity
by
Tanaka Yuichi
PDF
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
by
NTT DATA OSS Professional Services
PPTX
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
by
NTT DATA Technology & Innovation
PPTX
Apache Sparkを使った感情極性分析
by
Tanaka Yuichi
PPTX
Pythonで入門するApache Spark at PyCon2016
by
Tatsuya Atsumi
PPTX
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
by
NTT DATA Technology & Innovation
PDF
Yifeng spark-final-public
by
Yifeng Jiang
PPTX
20180627 databricks ver1.1
by
Hirono Jumpei
PDF
Apache spark 2.3 and beyond
by
NTT DATA Technology & Innovation
PDF
ビッグじゃなくても使えるSpark Streaming
by
chibochibo
PPTX
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
by
NTT DATA Technology & Innovation
PPTX
Spark Summit 2014 の報告と最近の取り組みについて
by
Recruit Technologies
PPTX
機械学習の定番プラットフォームSparkの紹介
by
Cloudera Japan
PDF
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
by
LINE Corp.
PDF
Spark Analytics - スケーラブルな分散処理
by
Tusyoshi Matsuzaki
PDF
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
by
Kazuki Taniguchi
PDF
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
by
YusukeKuramata
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
by
NTT DATA Technology & Innovation
Taming Distributed/Parallel Query Execution Engine of Apache Spark
by
Takeshi Yamamuro
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
by
NTT DATA Technology & Innovation
Big datauniversity
by
Tanaka Yuichi
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
by
NTT DATA OSS Professional Services
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
by
NTT DATA Technology & Innovation
Apache Sparkを使った感情極性分析
by
Tanaka Yuichi
Pythonで入門するApache Spark at PyCon2016
by
Tatsuya Atsumi
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
by
NTT DATA Technology & Innovation
Yifeng spark-final-public
by
Yifeng Jiang
20180627 databricks ver1.1
by
Hirono Jumpei
Apache spark 2.3 and beyond
by
NTT DATA Technology & Innovation
ビッグじゃなくても使えるSpark Streaming
by
chibochibo
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
by
NTT DATA Technology & Innovation
Spark Summit 2014 の報告と最近の取り組みについて
by
Recruit Technologies
機械学習の定番プラットフォームSparkの紹介
by
Cloudera Japan
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
by
LINE Corp.
Spark Analytics - スケーラブルな分散処理
by
Tusyoshi Matsuzaki
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
by
Kazuki Taniguchi
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
by
YusukeKuramata
More from Takeshi Yamamuro
PDF
LT: Spark 3.1 Feature Expectation
by
Takeshi Yamamuro
PPT
Quick Overview of Upcoming Spark 3.0 + α
by
Takeshi Yamamuro
PDF
MLflowによる機械学習モデルのライフサイクルの管理
by
Takeshi Yamamuro
PPTX
LLJVM: LLVM bitcode to JVM bytecode
by
Takeshi Yamamuro
PDF
20180417 hivemall meetup#4
by
Takeshi Yamamuro
PDF
An Experimental Study of Bitmap Compression vs. Inverted List Compression
by
Takeshi Yamamuro
PDF
Sparkのクエリ処理系と周辺の話題
by
Takeshi Yamamuro
PDF
20160908 hivemall meetup
by
Takeshi Yamamuro
PDF
20150513 legobease
by
Takeshi Yamamuro
PDF
20150516 icde2015 r19-4
by
Takeshi Yamamuro
PDF
VLDB2013 R1 Emerging Hardware
by
Takeshi Yamamuro
PDF
浮動小数点(IEEE754)を圧縮したい@dsirnlp#4
by
Takeshi Yamamuro
PDF
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
by
Takeshi Yamamuro
PDF
Introduction to Modern Analytical DB
by
Takeshi Yamamuro
PDF
SIGMOD’12勉強会 -Session 7-
by
Takeshi Yamamuro
PDF
A x86-optimized rank&select dictionary for bit sequences
by
Takeshi Yamamuro
PDF
VAST-Tree, EDBT'12
by
Takeshi Yamamuro
PDF
VLDB’11勉強会 -Session 9-
by
Takeshi Yamamuro
PDF
研究動向から考えるx86/x64最適化手法
by
Takeshi Yamamuro
PDF
VLDB'10勉強会 -Session 20-
by
Takeshi Yamamuro
LT: Spark 3.1 Feature Expectation
by
Takeshi Yamamuro
Quick Overview of Upcoming Spark 3.0 + α
by
Takeshi Yamamuro
MLflowによる機械学習モデルのライフサイクルの管理
by
Takeshi Yamamuro
LLJVM: LLVM bitcode to JVM bytecode
by
Takeshi Yamamuro
20180417 hivemall meetup#4
by
Takeshi Yamamuro
An Experimental Study of Bitmap Compression vs. Inverted List Compression
by
Takeshi Yamamuro
Sparkのクエリ処理系と周辺の話題
by
Takeshi Yamamuro
20160908 hivemall meetup
by
Takeshi Yamamuro
20150513 legobease
by
Takeshi Yamamuro
20150516 icde2015 r19-4
by
Takeshi Yamamuro
VLDB2013 R1 Emerging Hardware
by
Takeshi Yamamuro
浮動小数点(IEEE754)を圧縮したい@dsirnlp#4
by
Takeshi Yamamuro
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
by
Takeshi Yamamuro
Introduction to Modern Analytical DB
by
Takeshi Yamamuro
SIGMOD’12勉強会 -Session 7-
by
Takeshi Yamamuro
A x86-optimized rank&select dictionary for bit sequences
by
Takeshi Yamamuro
VAST-Tree, EDBT'12
by
Takeshi Yamamuro
VLDB’11勉強会 -Session 9-
by
Takeshi Yamamuro
研究動向から考えるx86/x64最適化手法
by
Takeshi Yamamuro
VLDB'10勉強会 -Session 20-
by
Takeshi Yamamuro
Apache Spark + Arrow
1.
と Takeshi Yamamuro @ NTT Software Innovation Center
2.
2 Who Am I ?
3.
3 What’s Spark? Apache Spark 2015
Year In Review, https://bit.ly/2JaG0He • AMPLab@UC Berkeleyの成果で,2012年にOSSとして公開され た汎⽤的な分散・並列処理フレームワーク – 現在の最新がv2.4.4、現在はv3.0のリリースに向けて準備中 • 代表的な特徴はユーザが使 いやすいAPI,外部データ との連携,内部での⾼度な 最適化
4.
• 最新のSpark(PySpark)のインストール • テスト実⾏ 4 Quick Start Guide for Spark aa$
conda install –c conda-forge pyspark aa $ cat test.csv 1,a,0.3 2,b,1.7 $ pyspark >>> df = spark.read.csv(‘test.csv’) >>> df.show()
5.
• @pandas_udfアノテーション(v2.3+)を使い、Pandasを⽤い て書かれたコードをSparkで分散処理 – 処理データの増⼤に対して既存コードを流⽤ –
複雑な処理をPandasのコードとして切り出してテストを容易化 5 Use Case: Distribute&Run Your Pandas Code >>> @pandas_udf(‘double’) . . . defpandas_mean_diff(pdf): . . . return pdf - pdf.mean() >>> sdf.select(pandas_mean_diff(sdf[‘v’])).show() pdf: sdf: Pandas DataFrame Spark DataFrame
6.
• より複雑な例: scikit-learnで作成した機械学習モデルによる 推論をSparkで分散処理 6 Use Case: Distribute&Run Your Pandas Code # sckit-learnで学習モデルを作成 >>> clf
= DecisionTreeClassifier() >>> clf.fit(X_train, y_train) # 作成したモデルをSparkクラスタで共有 >>> broadcasted_clf= spark.sparkContext.broadcast(clf) # 共有したモデルを使⽤して推論を⾏うUDFを定義 >>> @pandas_udf(returnType='int') ... defpredict(*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')) Example Code: https://bit.ly/357C0kp
7.
• @pandas_udfは内部的にArrowで⾼速化 – @udf
はv2.2まで使⽤されていたUDF⽤のアノテーション 7 PySpark UDF Performance Benchmark Code: https://bit.ly/2LITA7c 70.93 19.92 @udf @pandas_udf UDF: (x, y) => x + y Accelerated by
8.
• Sparkにおいては外部プロセス(Python, R, Shell)とのデータ のやり取りにおいてArrowによる効率化を実施 8 Spark + Arrow Internal JVM (Driver) User Interaction JVM (Woker) Python/R/Shell JVM (Woker) Python/R/Shell Data Sources Python/R
9.
• spark.sql.execution.arrow.maxRecordsPerBatch (default: 10000) –
Arrowによるデータ転送(SerDe)で1回の転送に含める⾏数,設定値 を⼤きくすると使⽤メモリ量が増⼤ • spark.sql.execution.arrow.enabled (default: false) – Spark/Pandas Dataframeの相互変換を⾏うtoPandas/createDataFrameの 処理においてArrowによる最適化の有効化 • spark.sql.execution.arrow.fallback.enabled (default: true) – Arrowによるデータ転送が⾏えない場合(e.g., 未サポートの型)に Arrowを使わないデータ転送に切り替える機能の有効化 9 Configurations for Arrow-Accelerated Processing v2.4.4におけるArrowに関係する設定は3つだけ
10.
• SPARK-29376: Upgrade Arrow to v0.15.1 • SPARK-29493: Support Arrow MapType –
v2.4.4で未サポートの型はMapType,ArrayType of TimestampType, Nested StructType,ただしBinaryTypeはPyArrowv0.10.0+のみ 10 Current Development Status for v3.0
11.
• 上記の組み合わせで@pandas_udf の処理がエラーで停⽌ –
原因: v0.15.0からIPCで使⽤するバイナリフォーマットが変更 • Apache Arrow 0.15.0 Release: https://arrow.apache.org/blog/2019/10/06/0.15.0-release/ – 解決策: ARROW_PRE_0_15_IPC_FORMAT=1を設定することでv0.14.0まで のIPCのバイナリフォーマットに変更可能 11 Notice: PySpark + PyArrow v0.15.0+ Issue # Run the code as shown in p5 with PyArrow v0.15.1 >>> sdf.select(pandas_mean_diff(sdf[‘v’])).show() java.lang.IllegalArgumentException at java.nio.ByteBuffer.allocate(ByteBuffer.java:334) at o.a.arrow.vector.ipc.message.MessageSerializer.readMessage (MessageSerializer.java:543) at o.a.arrow.vector.ipc.message.MessageChannelReader.readNext (MessageChannelReader.java:58) at org.apache.arrow.vector.ipc.ArrowStreamReader.readSchema (ArrowStreamReader.java:132) ...
12.
• v3.0からはSparkR においてもArrowによる最適化を適⽤ –
使⽤⽅法はPySparkと同等でデータ転送の効率化 • Spark+AI Summit Europe(2019.10)の以下の発表資料を参照 – Vectorized R Execution in Apache Spark, Hyukjin Kwon@Databricks, https://bit.ly/2LIbmaC 12 SparkR + Arrow
13.
• Script TransformationはSQL構⽂上で任意のスクリプト処理を 外部プロセス経由で実⾏する拡張 • Spark+AI
Summit Europe (2019.10) でFacebookからデータ転送 の独⾃の改善に関する発表 – Powering Custom Apps at Facebook using Spark Script Transformation, Abdulrahman Alfozan@Facebook, https://bit.ly/2q5OH0w 13 Script Transformation + Arrow p8から引⽤
14.
• Script TransformationはSQL構⽂上で任意のスクリプト処理を 外部プロセス経由で実⾏する拡張 14 Script Transformation + Arrow 外部プロセスとして実行
15.
• Sparkと外部プロセスの間のI/O処理の効率化 – SQL構⽂上からユーザが定義した独⾃のI/O処理を指定可能 •
開発環境ではデバック効率重視のテキスト形式、プロダク ション環境では速度重視のバイナリ形式 – 現在はSparkの内部表現(UnsafeRow)をそのまま活⽤,今後はArrow などの⾼効率なバイナリ形式を検討 – Int/Doubleなどの単純型でテキスト形式と⽐較して,バイナリ形式は 最⼤で4倍程度の⾼速化 • Map/Arrayなどの複雑型では性能差が拡⼤ 15 Script Transformation + Arrow スライドp8から引用
16.
• Spark + Arrow: 外部プロセスとのデータ転送の効率化 – PySparkにおけるPandas UDFsの話を中⼼に紹介 –
v3.0ではSparkRにも同様の最適化が適⽤ • 宣伝: Apache Spark 3.0 Preview Released: 16 Wrap-up https://bit.ly/2KavYHV
Download