回答:
Windowsでの最も簡単な解決策は、ソースからビルドすることです。
このガイドはほぼフォローできます。http://spark.apache.org/docs/latest/building-spark.html
MavenをダウンロードしてインストールMAVEN_OPTS
し、ガイドで指定されている値に設定します。
しかし、Sparkをいじっているだけで、自分のマシンがWindowsを実行しているという他の理由で実際にWindowsで実行する必要がない場合は、Linux仮想マシンにSparkをインストールすることを強くお勧めします。開始する最も簡単な方法は、ClouderaまたはHortonworksで作成された既製のイメージをダウンロードし、バンドル版のSparkを使用するか、ソースから独自のイメージをインストールするか、sparkのWebサイトから取得できるコンパイル済みのバイナリをインストールすることです。
ローカルモードでSparkをインストールする手順:
Java 7以降をインストールします。Javaのインストールが完了したことをテストするには、コマンドプロンプトを開いてjava
Enter キーを押します。あなたがメッセージを受信した場合は'Java' is not recognized as an internal or external command.
ご使用の環境変数を設定するために、必要JAVA_HOME
とPATH
JDKのパスを指すように。
設定するSCALA_HOME
にControl Panel\System and Security\System
はgoto「前売システム設定」と追加%SCALA_HOME%\bin
の環境変数にPATH変数に。
PythonダウンロードリンクからPython 2.6以降をインストールします。
SBTをダウンロードします。それをインストールし、SBT_HOME
値がの環境変数として設定します<<SBT PATH>>
。
HortonWorks repoまたはgit repowinutils.exe
からダウンロードします。WindowsにはローカルのHadoopインストールがないため、ダウンロードして、作成したホームディレクトリの下のディレクトリに配置する必要があります。環境変数に設定します。winutils.exe
bin
Hadoop
HADOOP_HOME = <<Hadoop home directory>>
ビルド済みのSparkパッケージを使用するため、Hadoop Sparkダウンロード用のSparkビルド済みパッケージを選択します。ダウンロードして解凍します。
環境変数にPATH変数を設定SPARK_HOME
して追加%SPARK_HOME%\bin
します。
コマンドを実行: spark-shell
http://localhost:4040/
ブラウザーで開いて、SparkContext Web UIを表示します。
ここからスパークをダウンロードできます:
http://spark.apache.org/downloads.html
このバージョンをお勧めします: Hadoop 2(HDP2、CDH5)
バージョン1.0.0以降、WindowsでSparkを実行するための.cmdスクリプトがあります。
7zipなどを使用して解凍します。
開始するには、実行できます / bin / spark-shell.cmd --master local [2]を
インスタンスを設定するには、次のリンクにアクセスできます:http : //spark.apache.org/docs/latest/
以下の方法でSparkをセットアップできます。
SourceからSparkをビルドするにはさまざまな方法があります。
最初にSBTでSparkソースを構築してみましたが、それにはhadoopが必要です。これらの問題を回避するために、ビルド済みのリリースを使用しました。
ソースの代わりに、hadoop 2.xバージョン用のビルド済みリリースをダウンロードして実行しました。このためには、前提条件としてScalaをインストールする必要があります。
私はここですべての手順を照合しました:
Windows7でスタンドアロンモードでApache Sparkを実行する方法
お役に立てれば幸いです。
spark-2.xxで作業しようとしても、Sparkソースコードのビルドは機能しませんでした。
そのため、私はHadoopを使用しませんが、hadoopが埋め込まれたビルド済みのSparkをダウンロードしました。 spark-2.0.0-bin-hadoop2.7.tar.gz
解凍したディレクトリでSPARK_HOMEをポイントし、次に追加しPATH
ます。;%SPARK_HOME%\bin;
HortonworksリポジトリまたはAmazon AWSプラットフォームwinutilsから実行可能なwinutilsをダウンロードします。
実行可能ファイルwinutils.exeを配置するディレクトリを作成します。たとえば、C:\ SparkDev \ x64です。%HADOOP_HOME%
このディレクトリを指す環境変数を追加して%HADOOP_HOME%\bin
から、PATHに追加します。
コマンドラインを使用して、ディレクトリを作成します。
mkdir C:\tmp\hive
ダウンロードした実行可能ファイルを使用して、作成したファイルディレクトリに完全な権限を追加しますが、unixian形式を使用します。
%HADOOP_HOME%\bin\winutils.exe chmod 777 /tmp/hive
次のコマンドラインを入力します。
%SPARK_HOME%\bin\spark-shell
Scalaコマンドライン入力は自動的に表示されます。
備考: Scalaを個別に構成する必要はありません。それも内蔵されています。
MS-VSの最新バージョンがない場合など、すべてを再構築せずにWindowsで実行できるようにするための修正を次に示します。(Win32 C ++コンパイラが必要ですが、MS VS Community Editionを無料でインストールできます。)
私は、Spark 1.2.2とmahout 0.10.2、および2015年11月の最新バージョンでこれを試しました。Scalaコードがbashスクリプト(mahout / bin / mahout)はもちろん機能しません。sbinスクリプトはWindowsに移植されておらず、hadoopがインストールされていない場合、winutilsがありません。
(1) scalaをインストールしてから、spark / hadoop / mahoutをそれぞれの製品名でC:のルートに解凍します。
(2) \ mahout \ bin \ mahoutの名前をmahout.sh.wasに変更します(必要ありません)。
(3)次のWin32 C ++プログラムをコンパイルし、実行可能ファイルをC:\ mahout \ bin \ mahoutという名前のファイルにコピーします(そうです。Linux実行可能ファイルのように.exeサフィックスはありません)。
#include "stdafx.h"
#define BUFSIZE 4096
#define VARNAME TEXT("MAHOUT_CP")
int _tmain(int argc, _TCHAR* argv[]) {
DWORD dwLength; LPTSTR pszBuffer;
pszBuffer = (LPTSTR)malloc(BUFSIZE*sizeof(TCHAR));
dwLength = GetEnvironmentVariable(VARNAME, pszBuffer, BUFSIZE);
if (dwLength > 0) { _tprintf(TEXT("%s\n"), pszBuffer); return 0; }
return 1;
}
(4)スクリプト\ mahout \ bin \ mahout.batを作成し、以下のコンテンツに貼り付けます。ただし、_CPクラスパス内のjarの正確な名前は、sparkとmahoutのバージョンによって異なります。インストールごとにパスを更新します。スペースを含まない8.3パス名を使用してください。ここではクラスパスでワイルドカード/アスタリスクを使用できないことに注意してください。
set SCALA_HOME=C:\Progra~2\scala
set SPARK_HOME=C:\spark
set HADOOP_HOME=C:\hadoop
set MAHOUT_HOME=C:\mahout
set SPARK_SCALA_VERSION=2.10
set MASTER=local[2]
set MAHOUT_LOCAL=true
set path=%SCALA_HOME%\bin;%SPARK_HOME%\bin;%PATH%
cd /D %SPARK_HOME%
set SPARK_CP=%SPARK_HOME%\conf\;%SPARK_HOME%\lib\xxx.jar;...other jars...
set MAHOUT_CP=%MAHOUT_HOME%\lib\xxx.jar;...other jars...;%MAHOUT_HOME%\xxx.jar;...other jars...;%SPARK_CP%;%MAHOUT_HOME%\lib\spark\xxx.jar;%MAHOUT_HOME%\lib\hadoop\xxx.jar;%MAHOUT_HOME%\src\conf;%JAVA_HOME%\lib\tools.jar
start "master0" "%JAVA_HOME%\bin\java" -cp "%SPARK_CP%" -Xms1g -Xmx1g org.apache.spark.deploy.master.Master --ip localhost --port 7077 --webui-port 8082 >>out-master0.log 2>>out-master0.err
start "worker1" "%JAVA_HOME%\bin\java" -cp "%SPARK_CP%" -Xms1g -Xmx1g org.apache.spark.deploy.worker.Worker spark://localhost:7077 --webui-port 8083 >>out-worker1.log 2>>out-worker1.err
...you may add more workers here...
cd /D %MAHOUT_HOME%
"%JAVA_HOME%\bin\java" -Xmx4g -classpath "%MAHOUT_CP%" "org.apache.mahout.sparkbindings.shell.Main"
変数MAHOUT_CPの名前は、C ++コードで参照されるため、変更しないでください。
もちろん、Mahoutが必要に応じてSparkを実行するため、Sparkマスターとワーカーを起動するコードをコメント化できます。MahoutなしでSparkを使用する場合の起動方法を示すために、バッチジョブに入れました。
(5)次のチュートリアルは、開始するのに適した場所です。
https://mahout.apache.org/users/sparkbindings/play-with-shell.html
Mahout Sparkインスタンスは次の場所で起動できます。
"C:\Program Files (x86)\Google\Chrome\Application\chrome" --disable-web-security http://localhost:4040
Ani Menonによるガイド(thx!)はWindows 10でほとんど機能しましたが、そのgit(現在はhadoop-2.8.1)から新しいwinutils.exeを入手する必要がありました:https : //github.com/steveloughran/winutils
ここでは、Windows 10にSparkをインストールして、Pythonから実行するための7つの手順を示します。
ステップ1:このリンクから任意のフォルダFに火花2.2.0タールをダウンロード(テープアーカイブ)GZファイル- https://spark.apache.org/downloads.html。それを解凍し、解凍したフォルダーを目的のフォルダーAにコピーします。spark-2.2.0-bin-hadoop2.7フォルダーの名前をsparkに変更します。
sparkフォルダーへのパスをC:\ Users \ Desktop \ A \ sparkにします
ステップ2:このリンクから、同じフォルダFにhardoop 2.7.3のtar、gzでファイルをダウンロードする- https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.3/hadoop-2.7 .3.tar.gz。解凍して、解凍したフォルダーを同じフォルダーAにコピーします。フォルダー名をHadoop-2.7.3.tarからhadoopに変更します。hadoopフォルダーへのパスをC:\ Users \ Desktop \ A \ hadoopにします
手順3:新しいメモ帳のテキストファイルを作成します。この空のメモ帳ファイルをwinutils.exeとして保存します(ファイルの種類:すべてのファイル)。このO KB winutils.exeファイルをSparkのbinフォルダーにコピーします-C:\ Users \ Desktop \ A \ spark \ bin
ステップ4:次に、これらのフォルダーをシステム環境に追加する必要があります。
4a:システム変数を作成します(ユーザー変数はシステム変数のすべてのプロパティを継承するため、ユーザー変数ではありません)変数名:SPARK_HOME変数値:C:\ Users \ Desktop \ A \ spark
Pathシステム変数を見つけて、[編集]をクリックします。複数のパスが表示されます。パスは削除しないでください。この変数値を追加-; C:\ Users \ Desktop \ A \ spark \ bin
4b:システム変数を作成する
変数名:HADOOP_HOME変数値:C:\ Users \ Desktop \ A \ hadoop
Pathシステム変数を見つけて、[編集]をクリックします。この変数の値を追加-; C:\ Users \ Desktop \ A \ hadoop \ bin
4c:システム変数を作成します。変数名:JAVA_HOME WindowsでJavaを検索します。右クリックして、開いているファイルの場所をクリックします。Javaファイルのいずれかをもう一度右クリックして、開いているファイルの場所をクリックする必要があります。このフォルダのパスを使用します。または、C:\ Program Files \ Javaを検索できます。システムにインストールされているJavaのバージョンはjre1.8.0_131です。変数値:C:\ Program Files \ Java \ jre1.8.0_131 \ bin
Pathシステム変数を見つけて、[編集]をクリックします。この変数値を追加-; C:\ Program Files \ Java \ jre1.8.0_131 \ bin
手順5:コマンドプロンプトを開き、スパークビンフォルダーに移動します(cd C:\ Users \ Desktop \ A \ spark \ binと入力します)。「spark-shell」と入力します。
C:\Users\Desktop\A\spark\bin>spark-shell
時間がかかり、警告が表示される場合があります。最後に、スパークバージョン2.2.0へようこそ
手順6:exit()と入力するか、コマンドプロンプトを再起動して、spark binフォルダーに再度移動します。タイプpyspark:
C:\Users\Desktop\A\spark\bin>pyspark
いくつかの警告とエラーが表示されますが、無視してください。できます。
ステップ7:ダウンロードが完了しました。Pythonシェルから直接Sparkを実行する場合は、Pythonフォルダーのスクリプトに移動して、次のように入力します。
pip install findspark
コマンドプロンプトで。
Pythonシェル
import findspark
findspark.init()
必要なモジュールをインポートする
from pyspark import SparkContext
from pyspark import SparkConf
findsparkをインポートして初期化する手順をスキップする場合は、Pythonシェルでのpysparkのインポートに記載されている手順に従ってください。
以下は、任意のpythonコンソールから実行するためのシンプルな最小スクリプトです。ダウンロードしたSparkライブラリをC:\ Apache \ spark-1.6.1に抽出したことを前提としています。
これはWindowsで何も構築せずに機能し、Sparkが再帰的なピクルス処理について不平を言う問題を解決します。
import sys
import os
spark_home = 'C:\Apache\spark-1.6.1'
sys.path.insert(0, os.path.join(spark_home, 'python'))
sys.path.insert(0, os.path.join(spark_home, 'python\lib\pyspark.zip'))
sys.path.insert(0, os.path.join(spark_home, 'python\lib\py4j-0.9-src.zip'))
# Start a spark context:
sc = pyspark.SparkContext()
#
lines = sc.textFile(os.path.join(spark_home, "README.md")
pythonLines = lines.filter(lambda line: "Python" in line)
pythonLines.first()