2016-06-28 4 views
0

私はWindows 7 Enterpriseシステムにsparkをインストールしようとする初心者です。私は環境変数のようなすべてのステップを完了し、スカラーもインストールしました。私は最新のspark-1.6.2-bin-hadoop2.6バージョンのsparkを入手しました。インストール後、私はbin \ spark-shellを実行しています。私はそれがうまく走ったと感じるが、私はこのようないくつかの警告を見ている。私もjavaをインストールしました。スパークのインストール

私はここで長い例外エラーをお詫び申し上げます。これに関する助けがあれば助けになるでしょう。

C:\ WINDOWS \ system32に>のjava -version Javaのバージョン "1.8.0_92" のJava(TM)SEランタイム環境( は、Java HotSpot(TM)64ビットサーバーVM(1.8.0_92-B14を構築)ビルド25.92-b14、混合モード)

16/06/28 17:18:53 WARN ObjectStore: Version information not found in metastore. hive.metastore.schema.verification is not enabled so recording the schema version 1.2.0 
16/06/28 17:18:53 WARN ObjectStore: Failed to get database default, returning NoSuchObjectException 
java.lang.RuntimeException: java.lang.NullPointerException 
     at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522) 
     at org.apache.spark.sql.hive.client.ClientWrapper.<init>(ClientWrapper.scala:204) 
     at org.apache.spark.sql.hive.client.IsolatedClientLoader.createClient(IsolatedClientLoader.scala:238) 
     at org.apache.spark.sql.hive.HiveContext.executionHive$lzycompute(HiveContext.scala:218) 
     at org.apache.spark.sql.hive.HiveContext.executionHive(HiveContext.scala:208) 
     at org.apache.spark.sql.hive.HiveContext.functionRegistry$lzycompute(HiveContext.scala:462) 
     at org.apache.spark.sql.hive.HiveContext.functionRegistry(HiveContext.scala:461) 
     at org.apache.spark.sql.UDFRegistration.<init>(UDFRegistration.scala:40) 
     at org.apache.spark.sql.SQLContext.<init>(SQLContext.scala:330) 
     at org.apache.spark.sql.hive.HiveContext.<init>(HiveContext.scala:90) 
     at org.apache.spark.sql.hive.HiveContext.<init>(HiveContext.scala:101) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
     at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
     at org.apache.spark.repl.SparkILoop.createSQLContext(SparkILoop.scala:1028) 
     at $iwC$$iwC.<init>(<console>:15) 
     at $iwC.<init>(<console>:24) 
     at <init>(<console>:26) 
     at .<init>(<console>:30) 
     at .<clinit>(<console>) 
     at .<init>(<console>:7) 
     at .<clinit>(<console>) 
     at $print(<console>) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at org.apache.spark.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:1065) 
     at org.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1346) 
     at org.apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:840) 
     at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:871) 
     at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:819) 
     at org.apache.spark.repl.SparkILoop.reallyInterpret$1(SparkILoop.scala:857) 
     at org.apache.spark.repl.SparkILoop.interpretStartingWith(SparkILoop.scala:902) 
     at org.apache.spark.repl.SparkILoop.command(SparkILoop.scala:814) 
     at org.apache.spark.repl.SparkILoopInit$$anonfun$initializeSpark$1.apply(SparkILoopInit.scala:132) 
     at org.apache.spark.repl.SparkILoopInit$$anonfun$initializeSpark$1.apply(SparkILoopInit.scala:124) 
     at org.apache.spark.repl.SparkIMain.beQuietDuring(SparkIMain.scala:324) 
     at org.apache.spark.repl.SparkILoopInit$class.initializeSpark(SparkILoopInit.scala:124) 
     at org.apache.spark.repl.SparkILoop.initializeSpark(SparkILoop.scala:64) 
     at org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1$$anonfun$apply$mcZ$sp$5.apply$mcV$sp(SparkILoop.scala:974) 
     at org.apache.spark.repl.SparkILoopInit$class.runThunks(SparkILoopInit.scala:159) 
     at org.apache.spark.repl.SparkILoop.runThunks(SparkILoop.scala:64) 
     at org.apache.spark.repl.SparkILoopInit$class.postInitialization(SparkILoopInit.scala:108) 
     at org.apache.spark.repl.SparkILoop.postInitialization(SparkILoop.scala:64) 
     at org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1.apply$mcZ$sp(SparkILoop.scala:991) 
     at org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1.apply(SparkILoop.scala:945) 
     at org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1.apply(SparkILoop.scala:945) 
     at scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135) 
     at org.apache.spark.repl.SparkILoop.org$apache$spark$repl$SparkILoop$$process(SparkILoop.scala:945) 
     at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:1059) 
     at org.apache.spark.repl.Main$.main(Main.scala:31) 
     at org.apache.spark.repl.Main.main(Main.scala) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731) 
     at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181) 
     at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206) 
     at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121) 
     at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 
Caused by: java.lang.NullPointerException 
     at java.lang.ProcessBuilder.start(ProcessBuilder.java:1012) 
     at org.apache.hadoop.util.Shell.runCommand(Shell.java:482) 
     at org.apache.hadoop.util.Shell.run(Shell.java:455) 
     at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:715) 
     at org.apache.hadoop.util.Shell.execCommand(Shell.java:808) 
     at org.apache.hadoop.util.Shell.execCommand(Shell.java:791) 
     at org.apache.hadoop.fs.FileUtil.execCommand(FileUtil.java:1097) 
     at org.apache.hadoop.fs.RawLocalFileSystem$DeprecatedRawLocalFileStatus.loadPermissionInfo(RawLocalFileSystem.java:582) 
     at org.apache.hadoop.fs.RawLocalFileSystem$DeprecatedRawLocalFileStatus.getPermission(RawLocalFileSystem.java:557) 
     at org.apache.hadoop.hive.ql.session.SessionState.createRootHDFSDir(SessionState.java:599) 
     at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(SessionState.java:554) 
     at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:508) 
     ... 62 more 

<console>:16: error: not found: value sqlContext 
     import sqlContext.implicits._ 
       ^
<console>:16: error: not found: value sqlContext 
     import sqlContext.sql 
+0

1.6.1をインストールするには余裕がなくなります。スパーク2.0は、今のところいつものことです。 – Jeff

答えて

2

スパークリユースハイブのメタストア。だからスパークはハイブサイトの設定が必要です。ハイブサイト設定が見つからない場合は、そのエラーが報告されます。

設定hive-site.xmlをコピーし、spark-shellを再起動します。

CDHでは、次のコマンドで実行できます。あなたはつもり木星ノート(pysparkのための素晴らしいツール)を使用する場合、これが役立ちます

winutils.exe chmod 777 "C:\tmp\hive 

横のダウンロードwinutils.exe上記
cp /etc/hive/conf/hive-site.xml /etc/spark/conf/ 
+0

ヤンに感謝して、私の問題を解決しました。 –

+0

喜び。それが助けになるのがいいです –

0

および/ビン %のHADOOP_HOMEの%にコピーして権限を設定。

0

私は窓にスパークを走らせることで苦労しました。最後にうまくいき、上記のwinutils、グローバル変数、C:\ tmp \ hiveのどれも必要ありません。私はWindows上で管理者アクセス権を持っていない。

スパークは通常、例外をスローしますが、ハイブとハープを見つけることはできませんが、タスクに応じて、対応するライブラリをインポートする必要があります。火花がどこにあるかすぐにインポートsqlContextは後

val sqlContext = new org.apache.spark.sql.SQLContext(sc) 
    import sqlContext.implicits._ 
    import sqlContext.sql 

を開始ところで、私はwinutilsなしジュピターのpysparkを使用し、単にローカルのpythonに伝えます。

0

SQLContextを使用してハイブにアクセスしようとしていると思います。 SQLContextが正常に初期化されなかったため、爆発しました。これらは一般的なメタストアの問題です。あなたがする必要がある

1)SPARK_HOME/conf/パスでhive-site.xmlファイルを作成し、代わりにダービーのそのメタストアとしてMySQLを使用することを可能にします。

2)SQLContextを使用してハイブテーブルにアクセスする代わりに、HiveContextオブジェクトを使用してください。

言うまでもなく、これはSpark 1.x.xの古い投稿です。 Spark 2.x.xでは、多くのAPIの進歩があり、SparkSessionと呼ばれるSparkSqlとHive操作のエントリポイントが1つあります。

val ss = SparkSession 
     .builder() 
     .appName("test") 
     .master("local[2]") 
     .enableHiveSupport() 
     .getOrCreate() 

これが役立つかどうか教えてください。乾杯。