Databricks 上の PySpark

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

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

APIsとライブラリ

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

  • Spark SQL と DataFramesを使用したリレーショナル クエリによる構造化データの処理。 Spark SQL を使用すると、SQL クエリと Spark プログラムを混在させることができます。 Spark DataFrames を使用すると、Python と SQL を使用してデータを効率的に読み取り、書き込み、変換、分析できるため、常に Spark のパワーを最大限に活用できます。 PySpark の「はじめに」を参照してください。

  • 構造化ストリーミングによるスケーラブルなストリーム処理。 ストリーミング計算は、静的データに対するバッチ計算と同じ方法で表現でき、Spark SQL エンジンはストリーミング データが到着し続けるにつれてそれを増分的かつ継続的に実行します。 構造化ストリーミングの概要を参照してください。

  • Spark 上の Pandas APIを使用して Apache Spark で動作する Pandas データ構造とデータ分析ツール。 PandasAPISparkPandas上の を使用すると、Pandas (テスト、小さいデータセット) と (本番運用、 データセット) で動作する単一のコードベースを使用して、複数のノードに分散して実行することで、PandasSpark ワークロードを任意のサイズに拡張できます。Spark 上の Pandas API の概要を参照してください。

  • Machine Learning ( MLlib )を使用した機械学習アルゴリズム。 MLlib 、 Spark上に構築されたスケーラブルな機械学習ライブラリであり、ユーザーが実用的な機械学習パイプラインを作成および調整するのに役立つ統一されたAPIsセットを提供します。 機械学習ライブラリの概要を参照してください。

  • GraphXを使用したグラフとグラフ並列計算。 GraphX 、各頂点と辺にプロパティが付加された新しい有向マルチグラフを導入し、グラフ計算演算子、アルゴリズム、ビルダーを公開してグラフ分析タスクを簡素化します。 GraphX の概要を参照してください。

DataFrames、変換、遅延評価

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

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

Spark チュートリアル

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

PySpark リファレンス

Databricks独自のバージョンのPySpark APIsと対応するリファレンスを維持しており、次のセクションにあります。