Movatterモバイル変換
[0]
ホーム
URL:
画像なし
夜間モード
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
TA
Uploaded by
Tatsuya Atsumi
PPTX, PDF
5,905 views
Pythonで入門するApache Spark at PyCon2016
Pythonを使ったApache Sparkの解説スライドです。スライドの他、口頭やJupyterコードでの補足があります。
Software
◦
Read more
6
Save
Share
Embed
Embed presentation
Download
Downloaded 35 times
1
/ 46
2
/ 46
3
/ 46
4
/ 46
5
/ 46
6
/ 46
7
/ 46
8
/ 46
9
/ 46
10
/ 46
11
/ 46
12
/ 46
13
/ 46
14
/ 46
15
/ 46
16
/ 46
17
/ 46
18
/ 46
19
/ 46
20
/ 46
21
/ 46
22
/ 46
23
/ 46
24
/ 46
25
/ 46
26
/ 46
27
/ 46
28
/ 46
29
/ 46
30
/ 46
31
/ 46
32
/ 46
33
/ 46
34
/ 46
35
/ 46
36
/ 46
37
/ 46
38
/ 46
39
/ 46
40
/ 46
41
/ 46
42
/ 46
43
/ 46
44
/ 46
45
/ 46
46
/ 46
Recommended
PDF
Spark勉強会_ibm_20151014-公開版
by
Atsushi Tsuchiya
PDF
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
by
NTT DATA OSS Professional Services
PDF
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
by
YusukeKuramata
PDF
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
by
hamaken
PDF
Apache Sparkの紹介
by
Ryuji Tamagawa
PDF
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
by
NTT DATA OSS Professional Services
PPSX
HBaseとSparkでセンサーデータを有効活用 #hbasejp
by
FwardNetwork
PDF
SparkとCassandraの美味しい関係
by
datastaxjp
PDF
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
by
NTT DATA OSS Professional Services
PPT
はやわかりHadoop
by
Shinpei Ohtani
PPTX
Pysparkで始めるデータ分析
by
Tanaka Yuichi
PDF
本当にあったApache Spark障害の話
by
x1 ichi
PDF
Apache Sparkについて
by
BrainPad Inc.
PDF
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
by
LINE Corp.
PPTX
Apache cassandraと apache sparkで作るデータ解析プラットフォーム
by
Kazutaka Tomita
PDF
Sparkを用いたビッグデータ解析 〜 前編 〜
by
x1 ichi
PDF
Apache Spark の紹介(前半:Sparkのキホン)
by
NTT DATA OSS Professional Services
PDF
Spark Streamingを活用したシステムの検証結果と設計時のノウハウ
by
Future Of Data Japan
PPTX
初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜
by
Tanaka Yuichi
PDF
SparkやBigQueryなどを用いたモバイルゲーム分析環境
by
yuichi_komatsu
PPTX
Apache Sparkを使った感情極性分析
by
Tanaka Yuichi
PDF
Hadoop ecosystem NTTDATA osc15tk
by
NTT DATA OSS Professional Services
PDF
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
by
Kazuki Taniguchi
PDF
Apache Sparkのご紹介 (後半:技術トピック)
by
NTT DATA OSS Professional Services
PPTX
Bluemixを使ったTwitter分析
by
Tanaka Yuichi
PDF
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
by
NTT DATA OSS Professional Services
PPTX
Big datauniversity
by
Tanaka Yuichi
PDF
基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-
by
Keigo Suda
PPTX
Spark Summit 2014 の報告と最近の取り組みについて
by
Recruit Technologies
PDF
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
by
Yu Ishikawa
More Related Content
PDF
Spark勉強会_ibm_20151014-公開版
by
Atsushi Tsuchiya
PDF
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
by
NTT DATA OSS Professional Services
PDF
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
by
YusukeKuramata
PDF
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
by
hamaken
PDF
Apache Sparkの紹介
by
Ryuji Tamagawa
PDF
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
by
NTT DATA OSS Professional Services
PPSX
HBaseとSparkでセンサーデータを有効活用 #hbasejp
by
FwardNetwork
PDF
SparkとCassandraの美味しい関係
by
datastaxjp
Spark勉強会_ibm_20151014-公開版
by
Atsushi Tsuchiya
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
by
NTT DATA OSS Professional Services
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
by
YusukeKuramata
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
by
hamaken
Apache Sparkの紹介
by
Ryuji Tamagawa
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
by
NTT DATA OSS Professional Services
HBaseとSparkでセンサーデータを有効活用 #hbasejp
by
FwardNetwork
SparkとCassandraの美味しい関係
by
datastaxjp
What's hot
PDF
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
by
NTT DATA OSS Professional Services
PPT
はやわかりHadoop
by
Shinpei Ohtani
PPTX
Pysparkで始めるデータ分析
by
Tanaka Yuichi
PDF
本当にあったApache Spark障害の話
by
x1 ichi
PDF
Apache Sparkについて
by
BrainPad Inc.
PDF
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
by
LINE Corp.
PPTX
Apache cassandraと apache sparkで作るデータ解析プラットフォーム
by
Kazutaka Tomita
PDF
Sparkを用いたビッグデータ解析 〜 前編 〜
by
x1 ichi
PDF
Apache Spark の紹介(前半:Sparkのキホン)
by
NTT DATA OSS Professional Services
PDF
Spark Streamingを活用したシステムの検証結果と設計時のノウハウ
by
Future Of Data Japan
PPTX
初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜
by
Tanaka Yuichi
PDF
SparkやBigQueryなどを用いたモバイルゲーム分析環境
by
yuichi_komatsu
PPTX
Apache Sparkを使った感情極性分析
by
Tanaka Yuichi
PDF
Hadoop ecosystem NTTDATA osc15tk
by
NTT DATA OSS Professional Services
PDF
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
by
Kazuki Taniguchi
PDF
Apache Sparkのご紹介 (後半:技術トピック)
by
NTT DATA OSS Professional Services
PPTX
Bluemixを使ったTwitter分析
by
Tanaka Yuichi
PDF
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
by
NTT DATA OSS Professional Services
PPTX
Big datauniversity
by
Tanaka Yuichi
PDF
基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-
by
Keigo Suda
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
by
NTT DATA OSS Professional Services
はやわかりHadoop
by
Shinpei Ohtani
Pysparkで始めるデータ分析
by
Tanaka Yuichi
本当にあったApache Spark障害の話
by
x1 ichi
Apache Sparkについて
by
BrainPad Inc.
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
by
LINE Corp.
Apache cassandraと apache sparkで作るデータ解析プラットフォーム
by
Kazutaka Tomita
Sparkを用いたビッグデータ解析 〜 前編 〜
by
x1 ichi
Apache Spark の紹介(前半:Sparkのキホン)
by
NTT DATA OSS Professional Services
Spark Streamingを活用したシステムの検証結果と設計時のノウハウ
by
Future Of Data Japan
初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜
by
Tanaka Yuichi
SparkやBigQueryなどを用いたモバイルゲーム分析環境
by
yuichi_komatsu
Apache Sparkを使った感情極性分析
by
Tanaka Yuichi
Hadoop ecosystem NTTDATA osc15tk
by
NTT DATA OSS Professional Services
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
by
Kazuki Taniguchi
Apache Sparkのご紹介 (後半:技術トピック)
by
NTT DATA OSS Professional Services
Bluemixを使ったTwitter分析
by
Tanaka Yuichi
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
by
NTT DATA OSS Professional Services
Big datauniversity
by
Tanaka Yuichi
基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-
by
Keigo Suda
Similar to Pythonで入門するApache Spark at PyCon2016
PPTX
Spark Summit 2014 の報告と最近の取り組みについて
by
Recruit Technologies
PDF
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
by
Yu Ishikawa
PPTX
SparkとJupyterNotebookを使った分析処理 [Html5 conference]
by
Tanaka Yuichi
PDF
Data Scientist Workbench - dots0729
by
s. kaijima
PDF
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
by
The Japan DataScientist Society
PPTX
1028 TECH & BRIDGE MEETING
by
健司 亀本
PDF
SparkMLlibで始めるビッグデータを対象とした機械学習入門
by
Takeshi Mikami
PDF
20190517 Spark+AI Summit2019最新レポート
by
Ryoma Nagata
PDF
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
by
Yu Ishikawa
PPT
Quick Overview of Upcoming Spark 3.0 + α
by
Takeshi Yamamuro
PDF
Survey of Apache Spark
by
Mila, Université de Montréal
PPTX
2015 03-12 道玄坂LT祭り第2回 Spark DataFrame Introduction
by
Yu Ishikawa
PDF
The Future of Apache Spark
by
Hadoop / Spark Conference Japan
PPTX
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
by
NTT DATA Technology & Innovation
PPTX
2014 11-20 Machine Learning with Apache Spark 勉強会資料
by
Recruit Technologies
PDF
HivemallとSpark MLlibの比較
by
Makoto Yui
PDF
Yifeng spark-final-public
by
Yifeng Jiang
PPTX
Apache Spark チュートリアル
by
K Yamaguchi
PDF
Spot Instance + Spark + MLlibで実現する簡単低コスト機械学習
by
Katsushi Yamashita
PPTX
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
by
Daiyu Hatakeyama
Spark Summit 2014 の報告と最近の取り組みについて
by
Recruit Technologies
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
by
Yu Ishikawa
SparkとJupyterNotebookを使った分析処理 [Html5 conference]
by
Tanaka Yuichi
Data Scientist Workbench - dots0729
by
s. kaijima
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
by
The Japan DataScientist Society
1028 TECH & BRIDGE MEETING
by
健司 亀本
SparkMLlibで始めるビッグデータを対象とした機械学習入門
by
Takeshi Mikami
20190517 Spark+AI Summit2019最新レポート
by
Ryoma Nagata
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
by
Yu Ishikawa
Quick Overview of Upcoming Spark 3.0 + α
by
Takeshi Yamamuro
Survey of Apache Spark
by
Mila, Université de Montréal
2015 03-12 道玄坂LT祭り第2回 Spark DataFrame Introduction
by
Yu Ishikawa
The Future of Apache Spark
by
Hadoop / Spark Conference Japan
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
by
NTT DATA Technology & Innovation
2014 11-20 Machine Learning with Apache Spark 勉強会資料
by
Recruit Technologies
HivemallとSpark MLlibの比較
by
Makoto Yui
Yifeng spark-final-public
by
Yifeng Jiang
Apache Spark チュートリアル
by
K Yamaguchi
Spot Instance + Spark + MLlibで実現する簡単低コスト機械学習
by
Katsushi Yamashita
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
by
Daiyu Hatakeyama
Pythonで入門するApache Spark at PyCon2016
1.
Copyright © BrainPad
Inc. All Rights Reserved.Pythonで入門するApache Spark2016年9月22日@PyConJP 2016
2.
Copyright © BrainPad
Inc. All Rights Reserved. 名前– Tatsuya Atsumi– Twitter: https://twitter.com/__Attsun__ 仕事– BrainPad– 自社製品(DMP)の開発 好きなもの– Python• 6年くらい– Spark• 1年半くらい その他– 今年刊行された「詳解Apache Spark」のレビュアーを担当させていただきました。とても良い本です!2自己紹介
3.
Copyright © BrainPad
Inc. All Rights Reserved. 対象者– Sparkについて興味があるが、詳しいことはまだよく知らない方。– Pythonで基本的なプログラミングができる方。 狙い– Sparkについての基礎的な特徴を理解していただく。– Pythonを使ったSparkの使用方法について理解していただく。– Sparkのライブラリについて、特にSparkSQLとMLlibについての理解をしていただく。3本プレゼンでの対象者と狙い
4.
Copyright © BrainPad
Inc. All Rights Reserved.1. Apache Sparkの概要と歴史2. 弊社内でのSpark使用事例について3. Apache Sparkの基礎(コアAPI)4. Spark SQL5. MLlib6. まとめ Appendix(実行モデルとスケジューリング)4アジェンダ
5.
Copyright © BrainPad
Inc. All Rights Reserved.1. Apache Sparkの概要と歴史5
6.
Copyright © BrainPad
Inc. All Rights Reserved.公式ドキュメントによると、Apache Spark is a fast and general-purpose cluster computing system.つまり、「高速」と「多目的」を特徴とした分散処理システム。 複数台のサーバを使って、大量のデータを高速に処理できる。 タスクのスケジューリングや障害発生時の復旧のような分散処理にまつわる面倒な点はSparkがカバーしてくれる。 MapReduceで行われていたようなログ集計から、レコメンドシステム、リアルタイム処理まで幅広い用途で使われている。6Sparkとは
7.
Copyright © BrainPad
Inc. All Rights Reserved. 中間データの少ないインメモリによる処理7高速?入力データ処理中間データ処理出力データMapReduceの場合、処理ごとに中間データを作成しているため、処理が増えるほどディスクIOが増え、パフォーマンスに影響を与える。入力データ処理 処理出力データSparkの場合、中間データを出力する必要のない処理はまとめて実行される。(勿論、中間データが必要になるケースもある。)
8.
Copyright © BrainPad
Inc. All Rights Reserved. 多様なライブラリ– Sparkには、便利なライブラリが最初から付属している。• SparkSQL(DBやJSONなど構造化データに対してSQLを使ってアクセス)• Spark Streaming(ストリーミングデータ処理)• MLlib(機械学習)• GraphX(グラフデータ処理)– すべてSparkのコアコンポーネントをベースとしているため、コードの再利用や学習コストの低下、メンテナンス容易性の向上が期待できる。8多目的?
9.
Copyright © BrainPad
Inc. All Rights Reserved. 多様なAPI– 以下4つのプログラミング言語をサポートしている。• Python• Scala• Java• R– Pythonは、以下バージョンをサポートしている。• 2.6以上• 3.4以上• PyPy2.3以上– 今日はPython2.7をベースとした使い方について話します。9多目的?
10.
Copyright © BrainPad
Inc. All Rights Reserved. 何であるか?– 大規模データの分散処理フレームワーク• 従来のMapReduceの代替みたいなイメージ 何でないか?– 分散ファイルシステム(HDFS)• HDFSやS3を代替するものではない。– リソーススケジューラ(YARN, Mesos)• Sparkがこれらのリソーススケジューラ上で起動する。– 小規模なデータを処理するツール• シンプルにPython書いたほうが速いし楽。• 増え続ける大規模データを一定の速度で処理したい、スケーラビリティを確保したい、というケースでなければはまらないと思われる。10Sparkは何であるか?何でないか?
11.
Copyright © BrainPad
Inc. All Rights Reserved. わかりやすいインターフェース– APIはmap, filterなど動作が把握できるものが多い。SQLも使える。 高速– 大規模データを高速に処理できる。(従来のMapReduceに比べてという話) 様々なユースケースに対応できる多様なライブラリ– 機械学習、ストリーミングのようなモダンなユースケースに対応できるのは嬉しい。 従来のHadoopスタックが利用可能– YARNやHDFSといった、従来のHadoopスタックを使用できるため、クラスタを新たに作り直す必要はない。 情報量の多さとコミュニティの安心感– 類似の様々なフレームワークが存在するが、情報量ではSparkに分がありそう。– バージョンアップを行う際にも後方互換生を気にしてくれるなど、開発も硬い。11なぜSparkを使うか?
12.
Copyright © BrainPad
Inc. All Rights Reserved. 略歴– 2009年からUC Berkleyで開発が始められる。– 2010年にオープンソース化。– 2013年にApache Software Foundationに寄贈される。– 2014年にApache Top-Level Projectに昇格– 2014年にバージョン1.0.0がリリース– 2016年にバージョン2.0.0がリリース現在(2016/8/15時点)での最新バージョンは2.0.0。今日の解説は2.0.0を前提としています。12Sparkの歴史
13.
Copyright © BrainPad
Inc. All Rights Reserved.2. 弊社でのSpark使用事例について13
14.
Copyright © BrainPad
Inc. All Rights Reserved.DeltaCubeについて 弊社が開発する、DMP製品。 サイトの行動ログなどから、ユーザーをセグメントに分けるツール。
15.
Copyright © BrainPad
Inc. All Rights Reserved.自動クラスタリング機能 人手を介さず、自動的にユーザーをいい感じにセグメントわけする機能。 これをSparkで実現。– 増え続ける大量のデータに対して複雑な処理をしたい、というニーズにぴったり。
16.
Copyright © BrainPad
Inc. All Rights Reserved. 16Sparkでの自動クラスタリングの流れ ユーザーの行動ログから、KMeansでクラスタリングをし、セグメントを判定して保存する。– 特徴量は、ユーザーの閲覧ページカテゴリの傾向
17.
Copyright © BrainPad
Inc. All Rights Reserved. 17Sparkでの自動クラスタリングの流れ 今日は基礎部分(コアAPI)を簡単に解説後、Spark SQL, MLlibに焦点を絞って解説します。
18.
Copyright © BrainPad
Inc. All Rights Reserved.3. Apache Sparkの基礎(コアAPI)18
19.
Copyright © BrainPad
Inc. All Rights Reserved. 19(jupyter)SparkをはじめてみようSparkはインタプリターがあるので、お試しで起動するのもすごく簡単です。デフォルトのPythonインタープリタのほか、iPythonやjupyter notebook上でも気軽に起動できます。今回はjupyter notebook上で起動してみます。
20.
Copyright © BrainPad
Inc. All Rights Reserved. RDDは、クラスタ上に分散したデータを束ねるコレクションオブジェクト。 Sparkでプログラミングを行う際は、RDDのみを意識し、個々のデータがどこにどのように分散されているか、という点は隠蔽されている。 そのため、ユーザーは通常のコレクションオブジェクトに対する操作を書く感覚で分散処理を実現できる。20RDDデータデータデータデータデータデータデータデータデータパーティションノードRDD
21.
Copyright © BrainPad
Inc. All Rights Reserved. RDDはTransformationと呼ばれる処理ごとに、新たなRDDオブジェクトが作成される。– map– filter 実際の処理は、Actionと呼ばれる処理が実行されるまで遅延される。– count– take– saveAsTextFile21遅延実行RDD RDD RDDtransformationにより生成 transformationにより生成参照を保持参照を保持
22.
Copyright © BrainPad
Inc. All Rights Reserved. 22(jupyter)RDDの処理イメージ
23.
Copyright © BrainPad
Inc. All Rights Reserved.4. Spark SQL23
24.
Copyright © BrainPad
Inc. All Rights Reserved. 構造化されたデータに対してSQLで処理を記述するためのライブラリ– JSONとかCSVとかRDBとか。 DataFrame– 構造化データを保持するデータコレクション。PandasのDataFrameのようなイメージ。– RDDをより使い勝手の良いのもにした感じ。24Spark SQLとは
25.
Copyright © BrainPad
Inc. All Rights Reserved. 25(jupyter) SparkSQLを動かしてみよう
26.
Copyright © BrainPad
Inc. All Rights Reserved. select, filter, join, limit, orderByのような基本的な操作 UDF(ユーザー定義関数)– もちろん、関数はPythonで記述可能。– https://spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.SQLContext.registerFunction window関数 abs, ceilのような関数関数やメソッドはそれ以外にも数多くあります。APIドキュメントを参照。26DataFrameのメソッド
27.
Copyright © BrainPad
Inc. All Rights Reserved. JSON CSV Parquet HiveTable その他– JDBC– ORC– 外部ライブラリを使うことで、avroなどのフォーマットも扱えるようになります。• csvはもともと外部ライブラリだったものが本体に取り込まれました。27様々なデータソース
28.
Copyright © BrainPad
Inc. All Rights Reserved. SQLで処理を記述する場合、Spark固有のAPIを使う必要がない。 DataFrameを使う場合でも、より少ないコードで可読性の高いコードが書ける。– RDDと比べて。 オプティマイザにより処理が最適化される– Databricksのベンチマークを参照• https://databricks.com/blog/2015/04/24/recent-performance-improvements-in-apache-spark-sql-python-dataframes-and-more.html– RDDによる処理は、ScalaがPythonの倍以上高速– DataFrameによる処理では言語間の差がないほか、RDDよりも高速– RDDに比べて細かいチューニングが不要になる。28(jupyter)Spark SQLのメリット
29.
Copyright © BrainPad
Inc. All Rights Reserved.5. MLlib29
30.
Copyright © BrainPad
Inc. All Rights Reserved. Sparkで機械学習を行うためのライブラリ。 ロジスティック回帰やKMeansなど、基本的なものは揃っている。 spark.mlとspark.mllibという2つのAPIがある。– 今回はDataFrameをベースとしたspark.mlを解説。30MLlib
31.
Copyright © BrainPad
Inc. All Rights Reserved. 学習モデルを作成する際によくある以下のような流れをシンプルに表現するためのAPI– spark.mlのみ。– 皆さんが好きなscikit-learnライブラリのPipelineに影響を受けたと書いてあります。– 入出力はDataFrame31パイプラインAPI元データ 加工データ 特徴量データ 学習モデル加工・抽出処理 特徴量作成処理 学習処理
32.
Copyright © BrainPad
Inc. All Rights Reserved. Transformer– 入力データ(DataFrame)から異なる出力データ(DataFrame)を生成するコンポーネント。– 文章から単語を生成するTokenizerなど。• 「This is a pen」-> 「”This”, “is”, “a”, “pen”」 Estimator– DataFrameからTransformerを生成するコンポーネント。– LogisticRegressionやKMeansなどの学習アルゴリズム。 Pipeline– TransformerやEstimatorを組み合わせて予測モデルを構築する。32パイプラインAPIを構成するコンポーネント
33.
Copyright © BrainPad
Inc. All Rights Reserved. 33パイプラインAPIを構成するコンポーネント元データ 加工データ 特徴量データ 学習モデル加工・抽出処理 特徴量作成処理 学習処理PipelineTransformer Estimator 先ほどの図をコンポーネントにわけると以下のような分類となる。
34.
Copyright © BrainPad
Inc. All Rights Reserved. スパムメッセージの判定を行う。– データセット• UCI(カリフォルニア大学アーバイン校)にあるやつ• https://archive.ics.uci.edu/ml/datasets/SMS+Spam+Collection• Sparkが生まれたのはバークレー校– 特徴量• 単語の出現頻度– モデル• ロジスティック回帰– 扱うライブラリ• SparkML• DataFrame34(jupyter)SparkML(&DataFrame)の使用例
35.
Copyright © BrainPad
Inc. All Rights Reserved.6. まとめ35
36.
Copyright © BrainPad
Inc. All Rights Reserved. Sparkは、インメモリ処理による高速性と、多目的なライブラリを持つ分散処理フレームワーク。 Spark SQLとMLlibを組み合わせることで、弊社のケースのような大規模データに対する複雑な処理も簡単に。 データ量の少ないタスクにとっては速度的にも運用負荷の面でもいいことがないと思われるので、やみくもな導入は避けたい。36まとめ
37.
Copyright © BrainPad
Inc. All Rights Reserved. 自分で動かしてみて、Sparkを体感してみましょう。 本を買ってみましょう。 GraphXやSpark Streamingなど、今回触れなかったライブラリについて調べてみましょう。 DriverやExecutorといった実行モデルについて調べてみましょう。 Shuffle処理について調べてみましょう。– パフォーマンス改善の勘所の一つ37さらに知りたい方へ
38.
Copyright © BrainPad
Inc. All Rights Reserved.ブレインパッドでは、「データ分析」と「エンジニアリング」の融合により新しい価値を提供したいエンジニア・データサイエンティストを募集しています!ご興味ある方は是非お気軽に話しかけてください!38WE ARE HIRING !!
39.
Copyright © BrainPad
Inc. All Rights Reserved.ご静聴ありがとうございました。39
40.
Copyright © BrainPad
Inc. All Rights Reserved.株式会社ブレインパッド〒108-0071 東京都港区白金台3-2-10 白金台ビル3FTEL:03-6721-7001FAX:03-6721-7010info@brainpad.co.jpCopyright © BrainPad Inc. All Rights Reserved.www.brainpad.co.jp
41.
Copyright © BrainPad
Inc. All Rights Reserved.Appendix: 実行モデルとスケジューリング41
42.
Copyright © BrainPad
Inc. All Rights Reserved. 42Sparkの実行モデルDriverExecutor Driver– ユーザープログラムをtaskに変換し、executorに実行を命令する。– Actionに伴いexecutorからデータを取得する。– ユーザープログラムのmainメソッドを実行するJVMプロセス。driverが終了すると、Sparkアプリケーション自体が終了する。 Executor– driverから命令されたtaskを実行する。– RDDのキャッシュを保持する。– Spark起動時に起動されるJVMプロセス。※実際には、YARNやMesosなどのクラスタマネージャ上で動作するので、それによって実行モデルは若干異なります。ExecutorExecutor
43.
Copyright © BrainPad
Inc. All Rights Reserved.1. ユーザープログラムが、transformationを組み合わせてRDDの参照グラフを作成する。2. ユーザープログラムが、actionを実行する。3. Driverが、RDDの依存グラフから実行プランを作成する。– 実行プランは複数のステージからなる。– Stage• 複数のTaskの集合。• Shuffle(後述)が必要となるポイントでStageを分ける。• 同じパーティションに対する処理が連続している場合、マージすることで最適化する。– Task• executorの実行する処理の最小単位。1パーティションごとに作成される。4. Executorに各Stageの処理を命令する。43Driverによる実行計画作成
44.
Copyright © BrainPad
Inc. All Rights Reserved. Shuffle– reduceByKey等により複数のパーティションを1つにまとめるため、データをあるexecutorから別のexecutorに転送する処理。– 処理がローカルで済まなくなるため、パフォーマンス上のボトルネックになりやすい。– Shuffleがある場合、Stageの分割が発生する。44ShuffleRDDRDDRDDRDDRDDRDDRDDRDDRDDRDDRDDRDD同じパーティションに閉じた処理ならシャッフルは不要(mapなど)別パーティションが必要になる処理では、シャッフルが生じる。
45.
Copyright © BrainPad
Inc. All Rights Reserved. Stageは、Shuffleを境界として分断される。– このケースではjoinがShuffleを起こしている。 同じパーティションに対する処理が連続する場合、処理は1つのステージにマージされる。(※)– Stage1はmapとfilterの2つの処理があるが、実際にはmapとfilterを合成した1つのStageに変換されている。– これは“pipelining”と呼ばれる。– Stageは複数のtaskで構成されており、それぞれがexecutorで処理される。※厳密には、親RDDが1つの子RDDからのみしか参照されていない場合。(複数パーティションをマージするunionもこれに該当する)45Stageの分割例map filtermapjoinStage1Stage2Stage3
46.
Copyright © BrainPad
Inc. All Rights Reserved. py4jを使って、PythonプログラムとJVMでやりとりをする。 アクションやシャッフル処理は、基本的にはJava / Scalaと同じくJVM上で実行される。– 一部のアクションやmap、filter等に渡される関数はJVMが起動するPythonで実行される。46PythonでのSpark実行モデルPython py4jDriver(JVM)py4j ExecuterExecuterExecuter(JVM)PythonPythonPython
Editor's Notes
#13
7分
#18
10分
#21
クラスタ上に分散するデータコレクションオブジェクト
#23
14分
#29
21分
#32
例えば、テキストをトークナイザで単語にわけて(加工・抽出処理)、単語ごとに出現頻度を数値化し(特徴量作成処理)、ロジスティック回帰で分類器を作成する。
#35
28分
Download
[8]
ページ先頭
©2009-2025
Movatter.jp