Sparkの概要

Apache Spark は大規模なデータ処理のための統合分析エンジンです。Java, Scale, PythonおよびRの高レベルのAIPを提供し、一般的な実行グラフをサポートする最適化されたエンジンを提供します。また、SQLおよび構造化データ処理のためのSpark SQL、機械学習のためのMLlib、グラフ処理のためのGraphX、逐次計算およびストリーム処理のための構造化ストリーミングを含む高レベルのツールの充実したセットもサポートします。

セキュリティ

SparkでのセキュリティはデフォルトではOFFです。これはデフォルトでは攻撃に脆弱性があることを意味します。Sparkをダウンロードして実行する前にSpark セキュリティを見てください。

ダウンロード

プロジェクトのwebサイトの ダウンロードページ からSparkを取得します。このドキュメントはSpark バージョン 3.0.0 のものです。SparkはHDFSおよびYARNのためにHadoopのクライアントライブラリを使用します。ダウンロードは少数の一般的なHadoopバージョンのためにあらかじめパッケージ化されています。ユーザは"Hadoop free"バイナリをダウンロードすることもでき、クラスパスを追加することで任意のHadoopバージョンでSparkを実行することができます。Scala と Java のユーザは、Maven coordinates を使ってプロジェクトに Spark を含めることができます。Python ユーザは PyPI から Spark をインストールすることができます。

ソースからSparkを構築したい場合は、Sparkの構築を見てください。

Spark は Windows と Unixライクなシステム(例えば、Linux, Mac OS)のどちらでも実行することができ、サポートされるバージョンの Java を実行するどのようなプラットフォーム上でも実行できるはずです。これには、x86_64 と ARM64 上の JVM が含まれます。一つのマシーン上でローカルで実行するのが簡単です - しなければいけないのは java をシステム PATH上にインストールする、あるいは JAVA_HOME環境変数がJavaのインストール場所を示すようにすることです。

Spark は Java 8/11, Python 2.7+/3.4+ および R 3.1+ 上で動作します。バージョン 8u92 より前の Java 8 のサポートは Spark 3.0.0 の時点で非推奨です。バージョン 3.6 より前の Python 2 と Python 3 のサポートは Spark 3.0.0 の時点で非推奨です。バージョン 3.4 より前の R のサポートは Spark 3.0.0 の時点で非推奨です。Scale APIのために、Spark 3.0.0 はScale 2.12 を使用します。互換性のあるScalaバージョン(2.12.x)を使う必要があるでしょう。

Java 11 については、Apache Arrow ライブラリのために、さらに-Dio.netty.tryReflectionSetAccessible=true が必要です。これは、Apache Arrow が Netty を内部的に使う時に、java.lang.UnsupportedOperationException: sun.misc.Unsafe or java.nio.DirectByteBuffer.(long, int) not available を防ぎます。

例の実行とシェル

Spark は幾つかの例のプログラムが付いています。Scala, Java, Python および R の例が examples/src/main ディレクトリの中にあります。Java あるいは Scala サンプルプログラムの一つを実行するために、Sparkディレクトリの一番上のディレクトリ内で bin/run-example <class> [params] を使用してください。(舞台裏で、これはアプリケーションを起動するためにもっと一般的な spark-submit スクリプト を呼び出します)。例えば:

./bin/run-example SparkPi 10

Scalaシェルの修正バージョンを使って対話的にSparkを実行することもできます。これはフレームワークを学ぶとても良い方法です。

./bin/spark-shell --master local[2]

--master オプションは 分散クラスタのマスターURLあるいは1つのスレッドでローカルで実行するための local、あるいはN個のスレッドでローカルで実行するためのlocal[N]を指定します。テストのためには localを使って開始すべきです。オプションの完全なリストについては、--help オプションをつけてSparkシェルを実行します。

SparkはPython APIも提供します。Pythonインタプリタの中で対話的にSparkを実行するには、bin/pysparkを使います:

./bin/pyspark --master local[2]

例のアプリケーションもPythonの中で提供されます。例えば:

./bin/spark-submit examples/src/main/python/pi.py 10

Sparkは 1.4 からR APIも提供しています(データフレームAPIだけが含まれています)。SparkをRインタプリタの中で対話的に実行するには、bin/sparkRを使用します:

./bin/sparkR --master local[2]

例のアプリケーションもRでも提供されています。例えば、

./bin/spark-submit examples/src/main/r/dataframe.R

クラスタ上で起動する

Sparkの クラスターモードの概要 はクラスタ上で実行する場合の重要な概念を説明します。Sparkは単体でも、あるいは幾つかの既存のクラスタマネージャー上でも実行することができます。現在のところ、開発のための幾つかのオプションが提供されています:

この後どうすればいいか

プログラミング ガイド:

API ドキュメント:

開発ガイド

他のドキュメント

外部リソース:

TOP
inserted by FC2 system