次の方法で共有


Azure Databricks の PySpark

この記事では、Databricks の Spark 用 Python API である PySpark の基礎について説明します。

Azure Databricks は、ビッグ データと機械学習用の統合分析エンジンである Apache Spark 上に構築されています。 PySpark は、学習、実装、保守が容易な柔軟な言語である Python プログラミング言語を使用して Apache Spark とインターフェイスするのに役立ちます。 また、Databricks でのデータ視覚化のための多くのオプションも用意されています。 PySpark は、Python と Apache Spark の機能を組み合わせた機能です。

API とライブラリ

Spark のすべての API と同様に、PySpark には、次のような強力な機能を有効にしてサポートする多くの API とライブラリが用意されています。

  • Spark SQL と DataFrames を使用したリレーショナル クエリによる構造化データの処理。 Spark SQL を使用すると、SQL クエリと Spark プログラムを混在できます。 Spark DataFrames を使用すると、Python と SQL を使用してデータの読み取り、書き込み、変換、分析を効率的に行うことができます。つまり、常に Spark の全機能を活用できます。 PySpark の概要を参照してください。
  • 構造化ストリーミングを使用したストリームのスケーラブルな処理。 ストリーミング計算は、静的データに対するバッチ計算を表現するのと同じ方法で表現でき、ストリーミング データの到着が続くにつれて、Spark SQL エンジンによって増分的および継続的に実行されます。 「構造化ストリーミングの概要」を参照してください。
  • Spark 上の Pandas API を使用して Apache Spark で動作する Pandas データ構造とデータ分析ツール。 Spark 上の Pandas API を使用すると、Pandas (テスト、小規模なデータセット) と Spark (運用、分散データセット) で動作する単一のコードベースを使用して、複数のノードに分散された Pandas ワークロードを任意のサイズにスケーリングできます。 「Spark 上の Pandas API の概要」を参照してください。
  • 機械学習 (MLLib) を使用した機械学習アルゴリズム。 MLlib は Spark 上に構築されたスケーラブルな機械学習ライブラリであり、ユーザーが実用的な機械学習パイプラインを作成および調整するのに役立つ API の統一されたセットを提供します。 「機械学習ライブラリの概要」を参照してください。
  • GraphX を使用したグラフとグラフ並列計算。 GraphX では、各頂点とエッジにプロパティがアタッチされた新しい有向マルチグラフが導入され、グラフの計算演算子、アルゴリズム、ビルダーが公開され、グラフ分析タスクが簡略化されます。 「GraphX の概要」を参照してください。

DataFrames、変換、遅延評価

Apache Spark DataFrames は、名前付き列に編成されたデータセットです。 これらは、型が異なる列を持つ 2 次元のラベルの付いたデータ構造です。 DataFrames には、一般的なデータ分析の問題を効率的に解決できる豊富な関数セットが用意されており、組み込みのメソッドを使用してデータを簡単に変換して、データの並べ替え、フィルター処理、集計を行うことができます。

Apache Spark の基礎は、変換とアクションの 2 つのカテゴリのデータ処理操作です。 アクション操作は、countfirstcollect などの値を返します。 filtergroupByなどの変換操作は DataFrame を返しますが、アクションによってトリガーされるまで実行されません’。 これは遅延評価と呼ばれます。 遅延評価では、Spark が定義されたときにすぐに実行するのではなく、遅延された方法で実行を処理するため、複数の操作をチェーンすることもできます。

Spark のチュートリアル

DataFrames を使用したデータの読み込みと変換について説明する「Apache Spark チュートリアル」に加えて、「Apache Spark ドキュメント」には、次の記事を含む Spark を学習するためのクイック スタートとガイドも用意されています。

PySpark のリファレンス

Azure Databricks では、PySpark API とそれに対応するリファレンスの独自のバージョンが保持されています。このリファレンスは、次のセクションで確認できます。