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

第4章 構造化APIの概要 構造化APIの概要

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

この のパートでは、Sparkの構造化APIを深く掘り下げていく。構造化APIは、非構造化ログファイルから半構造化CSVファイル、高度に構造化されたParquetファイルまで、あらゆる種類のデータを操作するためのツールである。これらのAPIは、分散コレクションAPIの3つのコアタイプを指す:

  • データセット

  • データフレーム

  • SQLテーブルとビュー

本書では両者を区別しているが、構造化APIの大部分はバッチ計算とストリーミング計算の両方に適用される。つまり、構造化APIを使えば、バッチからストリーミング(あるいはその逆)への移行は、ほとんど労力をかけずに簡単にできるということだ。ストリーミングについてはパートVで詳しく説明する。

構造化APIは、データフローの大部分を記述するために使用する基本的な抽象化である。本書ではこれまで、チュートリアル的なアプローチで、Sparkが提供するものの多くを蛇行しながら見てきた。このパートでは、より深く掘り下げていく。この章では、理解しておくべき基本的な概念を紹介する。型付きAPIと型無しAPI(とその違い)、コアとなる用語、そして最後に、Sparkが実際にどのように構造化APIのデータフローを受け取り、クラスタ上で実行するのか。そして、特定のタイプのデータやデータソースを扱うための、より具体的なタスクベースの情報を提供する。

先に進む前に、第1部で扱った基本概念と定義を復習しておこう。Sparkは、ユーザが変換を指定する分散プログラミングモデルである。複数の変換は、命令の有向非循環グラフを構築する。アクションは、命令のグラフを単一のジョブとして、クラスタ全体で実行するステージとタスクに分解して実行するプロセスを開始する。変換とアクションで操作する論理構造は、DataFrameとデータセットである。新しいDataFrameやデータセットを作成するには、トランスフォームを呼び出す。計算を開始したり、ネイティブ言語の型に変換したりするには、アクションを呼び出す。

データフレームとデータセット

パート1では、 DataFramesについて説明した。Sparkには構造化コレクションの概念が2つある:DataFramesとデータセットだ。微妙な)違いについては後ほど触れるが、まずはこの2つが何を表しているのかを定義しよう。

DataFramesとデータセットは、行と列が明確に定義された(分散した)テーブルのようなコレクションである。各カラムは、他のすべてのカラムと同じ数の行を持たなければならず(ただし、null を使って値がないことを指定できる)、各カラムは、コレクション内のすべての行で一貫していなければならない型情報を持つ。Sparkにとって、DataFramesとデータセットは、ある場所に存在するデータにどのような演算子を適用して出力を生成するかを指定する、不変性で遅延評価可能な計画を表す。DataFrameに対してアクションを実行すると、Sparkに実際の変換を実行して結果を返すように指示する。これは、ユーザが望む結果を計算するために、行や列をどのように操作するかの計画を表している。

テーブルとビューは基本的にデータフレームと同じものだ。DataFrameコードの代わりにSQLを実行するだけだ。Spark SQLに特化した ...

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