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 スパーク定義ガイド

第12章. レジリエンス分散データセット(RDDs)

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

前編ではSparkの構造化APIを取り上げた。ほとんど全てのシナリオにおいて、これらのAPIを重用すべきだ。とはいえ、高レベルの操作では、解決しようとしているビジネスやエンジニアリングの問題に対応できない場合もある。そのような場合は、Sparkの低レベルAPI、特にレジリエンス分散データセット(RDD)、SparkContext、アキュムレータやブロードキャスト変数のような分散共有変数を使用する必要があるかもしれない。このパートに続く章では、これらのAPIとその使い方を説明する。

警告

Sparkの初心者であれば、ここから始める必要はない。構造化APIから始めれば、より早く生産的になれるだろう!

低レベルAPIとは何か?

分散データ(RDD)を操作するためのものと、分散共有変数(ブロードキャスト変数とアキュムレータ)を分散して操作するためのものだ。

ローレベルAPIはいつ使うのか?

一般的に、下位レベルのAPIを使うべき状況は以下の3つである:

  • 例えば、クラスタ全体の物理的なデータ配置を厳密に制御する必要がある場合などだ。

  • RDDを使って書かれたレガシーコードベースを保守する必要がある。

  • カスタムの共有変数操作を行う必要がある。共有変数については第14章で詳しく説明する。

しかし、すべてのSparkワークロードは、これらの基本的なプリミティブにコンパイルされるため、これらのツールを理解することは有用である。DataFrame変換を呼び出しているとき、それは実際にはRDD変換のセットに過ぎない。このように理解することで、より複雑なワークロードのデバッグを行う際に、作業が容易になる。

Sparkを最大限に活用したいと考えている上級開発者であっても、構造化APIに集中することをお勧めする。しかし、タスクを完了させるために、より低レベルのツールに「ドロップダウン」したい場合もあるだろう。レガシーコードを使用したり、カスタムパーティショナーを実装したり、データパイプラインの実行過程で変数の更新や追跡を行ったりするために、これらのAPIにドロップダウンする必要があるかもしれない。これらのツールは、よりきめ細かい制御を可能にしてくれる。

ローレベルAPIを使うには?

SparkContext は低レベルAPI機能のエントリ点である。SparkSessionこれはSparkクラスタ全体で計算を実行するために使用するツールである。SparkContextはSparkクラスタ全体で計算を実行するために使用するツールである。これについては第15章で詳しく説明するが、今は以下の呼び出しでSparkContextにアクセスできることを知っていればよい:

spark.sparkContext

RDDについて

RDD Spark 1.Xシリーズでは主要なAPIであり、2.Xでもまだ利用可能だが、それほど一般的には使われていない。しかし、本書の序盤で指摘したように、DataFramesであれデータセットであれ、実行するほぼすべてのSparkコードはRDDにコンパイルされる。この本の次のパートで説明するSpark UIも、ジョブの実行をRDDで説明している。従って、RDDとは何か、そしてRDDをどのように使うかについて、少なくとも基本的な理解をしておいた方が良いだろう。 ...

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

高性能Spark

高性能Spark

Holden Karau, Rachel Warren
生成AIの可視化

生成AIの可視化

Priyanka Vergadia, Valliappa Lakshmanan
ソフトウェア工学の基礎

ソフトウェア工学の基礎

Nathaniel Schutta, Dan Vega

Publisher Resources

ISBN: 9798341627567