PySpark

用語集のトップページへ

PySpark とは

Apache Spark は、プログラミング言語 Scala で記述されています。PySpark とは、Spark を実行するための Python API です。Apache Spark とPython のコラボレーションをサポートするためにリリースされました。PySpark は、Apache Spark とプログラミング言語 Python での Resilient Distributed Dataset(RDD)とのインターフェイスもサポートしており、これは Py4J ライブラリを活用することで実現しています。Py4J は、PySpark に組み込まれた定評のあるライブラリで、Python の JVM 上のオブジェクトとの動的なインターフェースを可能にします。PySpark には、効率的にプログラミングするためのライブラリが数多く実装されており、互換性のある外部ライブラリもあります。PySpark ロゴ次にあげるのは、そのいくつかの例です。

PySparkSQL

PySparkSQL は、膨大な量の構造化・半構造化データにSQLライクな分析を行うPySparkライブラリです。PySparkSQL を使用して SQL クエリを実行することができ、Apache Hive との連携や、HiveQL の適用も可能です。さらに、PySparkSQL は、Pyspark Core のラッパーです。PySparkSQL では、リレーショナルデータベース管理システムのテーブルと類似の表形式で構造化データを表現する DataFrame を導入しています。

MLlib

MLlib は、PySpark のラッパーで、Spark の機械学習(ML)ライブラリです。このライブラリは、データの蓄積および集計に並列処理を行います。MLlib ライブラリが提供する機械学習APIは、簡単に利用することができます。MLlib は、分類、回帰、クラスタリング、協調フィルタリング、次元削減、基礎となる最適化プリミティブのための多くの機械学習アルゴリズムをサポートしています。

GraphFrames

GraphFrames は、グラフデータ処理ライブラリで、PySpark Coreと PySparkSQL を使用して、グラフ分析を効率的に行うためのAPIセットを提供します。また、高速な分散コンピューティングに最適化されています。 PySpark を使用するメリット
・Python の学習や実装は極めて容易
・シンプルで包括的な API を提供
・Python の使用で、コードの可読性、保守性、使いやすさが向上
・Scala やJava では困難なデータ可視化に多くの選択肢が充実
 

関連リソース


用語集のトップページへ