Skip to Content
スパーク定義ガイド
book

スパーク定義ガイド

by Bill Chambers, Matei Zaharia
March 2025
Intermediate to advanced
606 pages
9h
Japanese
O'Reilly Media, Inc.
Content preview from スパーク定義ガイド

第2章. スパーク入門

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

Apache Sparkの歴史が一通り終わったので、いよいよSparkの使用と応用を開始する!この章では、クラスタのコアアーキテクチャ、Sparkアプリケーション、DataFramesとSQLを使ったSparkの構造化APIについて説明する。また、Sparkをすぐに使い始められるように、Sparkのコアとなる用語や概念についても触れていく。まずは基本的な背景情報から始めよう。

Sparkの基本アーキテクチャ

通常、 「コンピューター」といえば、自宅や職場の机の上に置いてある1台のマシンを思い浮かべるだろう。このマシンは、映画を見たり表計算ソフトを使ったりするのには全く問題なく動作する。しかし、多くのユーザがどこかで体験していると思われるが、コンピュータの性能が十分でないこともある。特に難しいのがデータ処理だ。単一のマシンでは、膨大な量の情報に対してコンピューティングリソースを実行するのに十分なパワーとリソースを持っていない(あるいは、ユーザはおそらく計算が終わるまで待つ時間がない)。 クラスタ(コンピュータのグループ)は、多くのマシンのリソースをプールし、あたかも1台のコンピュータであるかのように、すべての累積リソースを使用する能力を与えてくれる。さて、マシンのグループだけでは力不足で、マシン間で作業を座標調整するフレームワークが必要だ。Sparkはまさにそれを実現し、コンピュータのクラスタ全体でデータに対するタスクの実行を管理し、座標を調整する。

Sparkがタスクを実行するために使用するマシンのクラスタ( )は、Sparkのスタンドアローンクラスタマネージャ、YARN、またはMesosのようなクラスタマネージャによって管理される。Sparkアプリケーションをこれらのクラスタ・マネージャに提出すると、クラスタ・マネージャがアプリケーションにリソースを付与し、作業を完了できるようにする。

スパーク・アプリケーション

Spark アプリケーションは、ドライバ・プロセスと エグゼキュータ・プロセスのセットで構成される。 ドライバプロセスは、main() 関数を実行し、クラスタ内のノードに配置され、Spark Application に関する情報の保持、ユーザのプログラムまたは入力へのレスポンス、および(後述する)エクゼキュータ間での作業の分析、分散、およびスケジューリングの 3 つの役割を担う。Sparkアプリケーションの心臓部であり、アプリケーションのライフタイム中、すべての関連情報を保持する。

エクゼキューターは、ドライバーから代入された仕事を実際に実行する責任がある。つまり、各エクゼキュータが責任を持つのは、ドライバから代入されたコードを実行することと、そのエクゼキュータ上の計算の状態をドライバノードに報告することの2つだけである。

図2-1は、クラスタマネージャが物理マシンを制御し、Spark Applicationsにリソースを割り当てる方法を示している。このクラスタ・マネージャは3つのコア・クラスタ・マネージャのうちの1つである:Sparkのスタンドアロンクラスターマネージャー、YARN、またはMesosである。つまり、クラスタ上で複数のSpark Applicationを同時に実行することができる。クラスタ・マネージャについてはパートIVで詳しく説明する。

図2-1. Sparkアプリケーションのアーキテクチャ ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

AI支援プログラミング

AI支援プログラミング

Tom Taulli
高性能Spark

高性能Spark

Holden Karau, Rachel Warren

Publisher Resources

ISBN: 9798341627567