2017-02-15 17 views
0

sparkが新しく、私はpython 2.7でspark 2.1.0を使用しています。私は成功していない私の問題の解決策を見つけるために1週間探してきました。Sparkのデフォルトのlog4jプロファイルを使用する:org/apache/spark/log4j-defaults.propertiesデフォルトのログレベルを "WARN"に設定する

私はcommmadLineでpysparkを実行すると、私は次のエラーを取得しています:

Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32 bit (Intel)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties 
Setting default log level to "WARN". 
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). 
17/02/16 02:37:41 ERROR Shell: Failed to locate the winutils binary in the hadoop binary path 
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries. 
     at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:379) 
     at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:394) 
     at org.apache.hadoop.util.Shell.<clinit>(Shell.java:387) 
     at org.apache.hadoop.hive.conf.HiveConf$ConfVars.findHadoopBinary(HiveConf.java:2327) 
     at org.apache.hadoop.hive.conf.HiveConf$ConfVars.<clinit>(HiveConf.java:365) 
     at org.apache.hadoop.hive.conf.HiveConf.<clinit>(HiveConf.java:105) 
     at java.lang.Class.forName0(Native Method) 
     at java.lang.Class.forName(Class.java:348) 
     at py4j.reflection.CurrentThreadClassLoadingStrategy.classForName(CurrentThreadClassLoadingStrategy.java:40) 
     at py4j.reflection.ReflectionUtil.classForName(ReflectionUtil.java:51) 
     at py4j.reflection.TypeUtil.forName(TypeUtil.java:243) 
     at py4j.commands.ReflectionCommand.getUnknownMember(ReflectionCommand.java:175) 
     at py4j.commands.ReflectionCommand.execute(ReflectionCommand.java:87) 
     at py4j.GatewayConnection.run(GatewayConnection.java:214) 
     at java.lang.Thread.run(Thread.java:745) 
17/02/16 02:38:21 WARN ObjectStore: Version information not found in metastore. hive.metastore.schema.verification is not enabled so recording the schema version 1.2.0 
17/02/16 02:38:21 WARN ObjectStore: Failed to get database default, returning NoSuchObjectException 
Traceback (most recent call last): 
    File "C:\Spark\spark-2.1.0-bin-hadoop2.7\bin\..\python\pyspark\shell.py", line 43, in <module> 
    spark = SparkSession.builder\ 
    File "C:\Spark\spark-2.1.0-bin-hadoop2.7\python\pyspark\sql\session.py", line 179, in getOrCreate 
    session._jsparkSession.sessionState().conf().setConfString(key, value) 
    File "C:\Spark\spark-2.1.0-bin-hadoop2.7\python\lib\py4j-0.10.4-src.zip\py4j\java_gateway.py", line 1133, in __call__ 
    File "C:\Spark\spark-2.1.0-bin-hadoop2.7\python\pyspark\sql\utils.py", line 79, in deco 
    raise IllegalArgumentException(s.split(': ', 1)[1], stackTrace) 
pyspark.sql.utils.IllegalArgumentException: u"Error while instantiating 'org.apache.spark.sql.hive.HiveSessionState':" 
>>> 
Error in atexit._run_exitfuncs: 
Traceback (most recent call last): 
    File "C:\Python27\lib\atexit.py", line 24, in _run_exitfuncs 
    func(*targs, **kargs) 
    File "C:\Spark\spark-2.1.0-bin-hadoop2.7\python\pyspark\java_gateway.py", line 110, in killChild 
    Popen(["cmd", "/c", "taskkill", "/f", "/t", "/pid", str(proc.pid)]) 
    File "C:\Python27\lib\subprocess.py", line 390, in __init__ 
    errread, errwrite) 
    File "C:\Python27\lib\subprocess.py", line 640, in _execute_child 
    startupinfo) 
    File "C:\Spark\spark-2.1.0-bin-hadoop2.7\python\pyspark\context.py", line 236, in signal_handler 
    raise KeyboardInterrupt() 

答えて

1

警告情報を「Hadoopのバイナリで実行可能なヌル\ビン\のwinutils.exeが見つかりませんでした。」

私はWindowsを使用していますが、 "環境変数"には、hadoopディレクトリパスの値を持つ変数 "HADOOP_HOME"を追加します。たとえば、私のhadoopはc:\ hadoopの下にインストールします。 「実行可能なCが見つかりませんでした:のHadoop \ビン\のwinutils \

は警告情報が表示される場合、この時点であなたのCMD

を再起動します。 "\ HadoopのC" それは値が "HADOOP_HOMEを" だろう。 Hadoopバイナリでexeを実行します。 "

あなたがhadoop-common-2.2.0-bin-master.zipダウンロードし、Cにwinutils.exeコピーgithubのに必要:\ののHadoop \ビン

このとき、それは

を動作するはずです
関連する問題