見出し画像

PySparkとは?


ソース


Sparkは基本的にScalaで記述されており、以降業界での導入が進んだことでPy4Jを用いてPython向けAPI PySparkがリースされました。Py4JはPySpark内でインテグレーションされており、Pythonが動的にJVMオブジェクトとやりとりすることを可能にしているので、PySparkを実行するにはPython、Apache SparkとJavaをインストールする必要があります。

さらに、開発においては、PySparkアプリケーションを実行するために、Spyder IDEJupyter notebookのような有用なツールを数多く備えている(機械学習コミュニティで広く使われている)Anacondaディストリビューションを使うこともできます。

PySparkの機能

  • インメモリの計算処理

  • 並列化による分散処理

  • さまざまなクラスターマネージャ(Spark、Yarn、Mesosなど)で利用可能

  • フォールトトレラント

  • イミュータブル

  • 遅延評価

  • キャッシュ & 永続化

  • データフレームを使う際のビルトインの最適化処理

  • ANSI SQLのサポート

PySparkの利点

  • PySparkは、分散によってデータを効率的に処理できる汎用、インメモリ、分散処理エンジンです。

  • PySparkで実行するアプリケーションは、従来システムより100倍高速です。

  • データ取り込みパイプラインにおいてPySparkを用いることで非常に大きな効果を得ることができます。

  • PySparkを用いることで、Hadoop HDFS、AWS S3など数多くのファイルシステムのデータを処理することができます。

  • また、PySparkはストリーミングやKafkaを用いてリアルタイムデータを処理することに使うことができます。

  • PySparkのストリーミングを用いることで、ファイルシステムやソケットからのストリームからファイルをストリーミングすることができます。

  • PySparkはネイティブで機械学習、グラフライブラリを持っています

よーするにメリットだらけ。

この記事が気に入ったらサポートをしてみませんか?