Submit Search
Pythonで入門するApache Spark at PyCon2016
Download as PPTX, PDF
6 likes
5,895 views
T
Tatsuya Atsumi
Pythonを使ったApache Sparkの解説スライドです。スライドの他、口頭やJupyterコードでの補足があります。
Software
Read more
1 of 46
Download now
Downloaded 35 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
More Related Content
What's hot
(20)
PDF
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
PPT
はやわかりHadoop
Shinpei Ohtani
PPTX
Pysparkで始めるデータ分析
Tanaka Yuichi
PDF
本当にあったApache Spark障害の話
x1 ichi
PDF
Apache Sparkについて
BrainPad Inc.
PDF
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
LINE Corp.
PPTX
Apache cassandraと apache sparkで作るデータ解析プラットフォーム
Kazutaka Tomita
PDF
Sparkを用いたビッグデータ解析 〜 前編 〜
x1 ichi
PDF
Apache Spark の紹介(前半:Sparkのキホン)
NTT DATA OSS Professional Services
PDF
Spark Streamingを活用したシステムの検証結果と設計時のノウハウ
Future Of Data Japan
PPTX
初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜
Tanaka Yuichi
PDF
SparkやBigQueryなどを用いたモバイルゲーム分析環境
yuichi_komatsu
PPTX
Apache Sparkを使った感情極性分析
Tanaka Yuichi
PDF
Hadoop ecosystem NTTDATA osc15tk
NTT DATA OSS Professional Services
PDF
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
Kazuki Taniguchi
PDF
Apache Sparkのご紹介 (後半:技術トピック)
NTT DATA OSS Professional Services
PPTX
Bluemixを使ったTwitter分析
Tanaka Yuichi
PDF
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
NTT DATA OSS Professional Services
PPTX
Big datauniversity
Tanaka Yuichi
PDF
基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-
Keigo Suda
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
はやわかりHadoop
Shinpei Ohtani
Pysparkで始めるデータ分析
Tanaka Yuichi
本当にあったApache Spark障害の話
x1 ichi
Apache Sparkについて
BrainPad Inc.
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
LINE Corp.
Apache cassandraと apache sparkで作るデータ解析プラットフォーム
Kazutaka Tomita
Sparkを用いたビッグデータ解析 〜 前編 〜
x1 ichi
Apache Spark の紹介(前半:Sparkのキホン)
NTT DATA OSS Professional Services
Spark Streamingを活用したシステムの検証結果と設計時のノウハウ
Future Of Data Japan
初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜
Tanaka Yuichi
SparkやBigQueryなどを用いたモバイルゲーム分析環境
yuichi_komatsu
Apache Sparkを使った感情極性分析
Tanaka Yuichi
Hadoop ecosystem NTTDATA osc15tk
NTT DATA OSS Professional Services
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
Kazuki Taniguchi
Apache Sparkのご紹介 (後半:技術トピック)
NTT DATA OSS Professional Services
Bluemixを使ったTwitter分析
Tanaka Yuichi
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
NTT DATA OSS Professional Services
Big datauniversity
Tanaka Yuichi
基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-
Keigo Suda
Similar to Pythonで入門するApache Spark at PyCon2016
(20)
PPTX
Spark Summit 2014 の報告と最近の取り組みについて
Recruit Technologies
PDF
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
Yu Ishikawa
PPTX
SparkとJupyterNotebookを使った分析処理 [Html5 conference]
Tanaka Yuichi
PDF
Data Scientist Workbench - dots0729
s. kaijima
PDF
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
The Japan DataScientist Society
PPTX
1028 TECH & BRIDGE MEETING
健司 亀本
PDF
SparkMLlibで始めるビッグデータを対象とした機械学習入門
Takeshi Mikami
PDF
20190517 Spark+AI Summit2019最新レポート
Ryoma Nagata
PDF
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
Yu Ishikawa
PPT
Quick Overview of Upcoming Spark 3.0 + α
Takeshi Yamamuro
PDF
Survey of Apache Spark
Mila, Université de Montréal
PPTX
2015 03-12 道玄坂LT祭り第2回 Spark DataFrame Introduction
Yu Ishikawa
PDF
The Future of Apache Spark
Hadoop / Spark Conference Japan
PPTX
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
NTT DATA Technology & Innovation
PPTX
2014 11-20 Machine Learning with Apache Spark 勉強会資料
Recruit Technologies
PDF
HivemallとSpark MLlibの比較
Makoto Yui
PDF
Yifeng spark-final-public
Yifeng Jiang
PPTX
Apache Spark チュートリアル
K Yamaguchi
PDF
Spot Instance + Spark + MLlibで実現する簡単低コスト機械学習
Katsushi Yamashita
PPTX
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
Daiyu Hatakeyama
Spark Summit 2014 の報告と最近の取り組みについて
Recruit Technologies
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
Yu Ishikawa
SparkとJupyterNotebookを使った分析処理 [Html5 conference]
Tanaka Yuichi
Data Scientist Workbench - dots0729
s. kaijima
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
The Japan DataScientist Society
1028 TECH & BRIDGE MEETING
健司 亀本
SparkMLlibで始めるビッグデータを対象とした機械学習入門
Takeshi Mikami
20190517 Spark+AI Summit2019最新レポート
Ryoma Nagata
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
Yu Ishikawa
Quick Overview of Upcoming Spark 3.0 + α
Takeshi Yamamuro
Survey of Apache Spark
Mila, Université de Montréal
2015 03-12 道玄坂LT祭り第2回 Spark DataFrame Introduction
Yu Ishikawa
The Future of Apache Spark
Hadoop / Spark Conference Japan
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
NTT DATA Technology & Innovation
2014 11-20 Machine Learning with Apache Spark 勉強会資料
Recruit Technologies
HivemallとSpark MLlibの比較
Makoto Yui
Yifeng spark-final-public
Yifeng Jiang
Apache Spark チュートリアル
K Yamaguchi
Spot Instance + Spark + MLlibで実現する簡単低コスト機械学習
Katsushi Yamashita
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
Daiyu Hatakeyama
Ad
Pythonで入門するApache Spark at PyCon2016
1.
Copyright © BrainPad
Inc. All Rights Reserved. Pythonで入門するApache Spark 2016年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 SQL 5. MLlib 6. まとめ 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で行われていたようなログ集計から、レコメンドシステム、リアル タイム処理まで幅広い用途で使われている。 6 Sparkとは
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書いたほうが速いし楽。 • 増え続ける大規模データを一定の速度で処理したい、スケーラビリティを確保したい、という ケースでなければはまらないと思われる。 10 Sparkは何であるか?何でないか?
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を前提としています。 12 Sparkの歴史
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. 16 Sparkでの自動クラスタリングの流れ ユーザーの行動ログから、KMeansでクラスタリングをし、セグメントを判定し て保存する。 – 特徴量は、ユーザーの閲覧ページカテゴリの傾向
17.
Copyright © BrainPad
Inc. All Rights Reserved. 17 Sparkでの自動クラスタリングの流れ 今日は基礎部分(コア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のみを意識し、個々のデータがどこに どのように分散されているか、という点は隠蔽されている。 そのため、ユーザーは通常のコレクションオブジェクトに対する操作を書く感覚 で分散処理を実現できる。 20 RDD データ データ データ データ データ データ データ データ データ パーティション ノード RDD
21.
Copyright © BrainPad
Inc. All Rights Reserved. RDDはTransformationと呼ばれる処理ごとに、新たなRDDオブジェクトが作 成される。 – map – filter 実際の処理は、Actionと呼ばれる処理が実行されるまで遅延される。 – count – take – saveAsTextFile 21 遅延実行 RDD RDD RDD transformationにより生成 transformationにより生成 参照を保持参照を保持
22.
Copyright © BrainPad
Inc. All Rights Reserved. 22 (jupyter)RDDの処理イメージ
23.
Copyright © BrainPad
Inc. All Rights Reserved. 4. Spark SQL 23
24.
Copyright © BrainPad
Inc. All Rights Reserved. 構造化されたデータに対してSQLで処理を記述するためのライブラリ – JSONとかCSVとかRDBとか。 DataFrame – 構造化データを保持するデータコレクション。PandasのDataFrameのようなイメージ。 – RDDをより使い勝手の良いのもにした感じ。 24 Spark 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.S QLContext.registerFunction window関数 abs, ceilのような関数 関数やメソッドはそれ以外にも数多くあります。APIドキュメントを参照。 26 DataFrameのメソッド
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. MLlib 29
30.
Copyright © BrainPad
Inc. All Rights Reserved. Sparkで機械学習を行うためのライブラリ。 ロジスティック回帰やKMeansなど、基本的なものは揃っている。 spark.mlとspark.mllibという2つのAPIがある。 – 今回はDataFrameをベースとしたspark.mlを解説。 30 MLlib
31.
Copyright © BrainPad
Inc. All Rights Reserved. 学習モデルを作成する際によくある以下のような流れをシンプルに表現するため のAPI – spark.mlのみ。 – 皆さんが好きなscikit-learnライブラリのPipelineに影響を受けたと書いてあります。 – 入出力はDataFrame 31 パイプライン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を構成するコンポーネント 元データ 加工データ 特徴量データ 学習モデル 加工・抽出処理 特徴量作成処理 学習処理 Pipeline Transformer Estimator 先ほどの図をコンポーネントにわけると以下のような分類となる。
34.
Copyright © BrainPad
Inc. All Rights Reserved. スパムメッセージの判定を行う。 – データセット • UCI(カリフォルニア大学アーバイン校)にあるやつ • https://archive.ics.uci.edu/ml/datasets/SMS+Spam+Collection • Sparkが生まれたのはバークレー校 – 特徴量 • 単語の出現頻度 – モデル • ロジスティック回帰 – 扱うライブラリ • SparkML • DataFrame 34 (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. ブレインパッドでは、「データ分析」と「エンジニアリング」の融合により新しい 価値を提供したいエンジニア・データサイエンティストを募集しています! ご興味ある方は是非お気軽に話しかけてください! 38 WE ARE HIRING !!
39.
Copyright © BrainPad
Inc. All Rights Reserved. ご静聴ありがとうございました。 39
40.
Copyright © BrainPad
Inc. All Rights Reserved. 株式会社ブレインパッド 〒108-0071 東京都港区白金台3-2-10 白金台ビル3F TEL:03-6721-7001 FAX:03-6721-7010
[email protected]
Copyright © 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. 42 Sparkの実行モデル Driver Executor Driver – ユーザープログラムをtaskに変換し、 executorに実行を命令する。 – Actionに伴いexecutorからデータを取得する。 – ユーザープログラムのmainメソッドを実行す るJVMプロセス。driverが終了すると、Spark アプリケーション自体が終了する。 Executor – driverから命令されたtaskを実行する。 – RDDのキャッシュを保持する。 – Spark起動時に起動されるJVMプロセス。 ※実際には、YARNやMesosなどのクラスタマ ネージャ上で動作するので、それによって実行モ デルは若干異なります。 Executor Executor
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の処理を命令する。 43 Driverによる実行計画作成
44.
Copyright © BrainPad
Inc. All Rights Reserved. Shuffle – reduceByKey等により複数のパーティションを1つにまとめるため、データをある executorから別のexecutorに転送する処理。 – 処理がローカルで済まなくなるため、パフォーマンス上のボトルネックになりやすい。 – Shuffleがある場合、Stageの分割が発生する。 44 Shuffle RDD RDD RDD RDD RDD RDD RDD RDD RDD RDD RDD RDD 同じパーティションに閉じた処理ならシャッフルは 不要(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もこれに該当する) 45 Stageの分割例 map filter map join Stage1 Stage2 Stage3
46.
Copyright © BrainPad
Inc. All Rights Reserved. py4jを使って、PythonプログラムとJVMでやりとりをする。 アクションやシャッフル処理は、基本的にはJava / Scalaと同じくJVM上で実行される。 – 一部のアクションやmap、filter等に渡される関数はJVMが起動するPythonで実行される。 46 PythonでのSpark実行モデル Python py4j Driver (JVM) py4j Executer Executer Executer (JVM) Python Python Python
Editor's Notes
#13:
7分
#18:
10分
#21:
クラスタ上に分散するデータコレクションオブジェクト
#23:
14分
#29:
21分
#32:
例えば、テキストをトークナイザで単語にわけて(加工・抽出処理)、単語ごとに出現頻度を数値化し(特徴量作成処理)、ロジスティック回帰で分類器を作成する。
#35:
28分
Download