2016-07-10 21 views
2

Spark 1.6.2をHive 0.13.1とHadoop 2.6.0で実行しています。 、エラー:HiveでSparkを構築する必要があります

File "/usr/local/hadoop/spark/python/pyspark/sql/context.py", line >552, in sql 
return DataFrame(self._ssql_ctx.sql(sqlQuery), self) 
File "/usr/local/hadoop/spark/python/pyspark/sql/context.py", line >660, in _ssql_ctx 
"build/sbt assembly", e) 
Exception: ("You must build Spark with Hive. Export 'SPARK_HIVE=true' and run build/sbt assembly", Py4JJavaError(u'An error occurred while >calling None.org.apache.spark.sql.hive.HiveContext.\n', JavaObject >id=o18)) 

は、彼らが求めて何をして:このコマンドラインで

import pyspark 
from pyspark.sql import HiveContext 

sc = pyspark.SparkContext('local[*]') 
hc = HiveContext(sc) 
hc.sql("select col from table limit 3") 

私はこのpysparkスクリプトを実行しよう

~/spark/bin/spark-submit script.py 

と私は、このエラーメッセージが表示されました私は、 "SPARK_HIVEのエクスポートは廃止されました"という警告を見て、代わりに "-Phive -Phive-thriftserver" 012

cd ~/spark/ 
build/sbt -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver assembly 

が、私は少し同じエラーがあります:は、だから私はこれをしなかった

[...] 
16/07/17 19:10:01 WARN metadata.Hive: Failed to access metastore. This class should not accessed in runtime. 
org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate  org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient 
    at org.apache.hadoop.hive.ql.metadata.Hive.getAllDatabases(Hive.java:1236) 
[...] 
Traceback (most recent call last): 
    File "/home/hadoop/spark3/./script.py", line 6, in <module> 
    hc.sql("select timestats from logweb limit 3") 
    File "/usr/local/hadoop/spark/python/lib/pyspark.zip/pyspark/sql/context.py",  line 552, in sql 
    File "/usr/local/hadoop/spark/python/lib/pyspark.zip/pyspark/sql/context.py", line 660, in _ssql_ctx 
Exception: ("You must build Spark with Hive. Export 'SPARK_HIVE=true' and run build/sbt assembly", Py4JJavaError(u'An error occurred while calling None.org.apache.spark.sql.hive.HiveContext.\n', JavaObject id=o19)) 

...私はこのエラーについてウェブ上で検索、しかし答えは私のために働いなしている場合

誰かが私を助けてくれますか?


私も(Jossによって推奨)spark version which is suposed to work with Hadoopを使用することを試みたが、私はこのエラーを得た:

Traceback (most recent call last): 
File "/home/hadoop/spark3/./script.py", line 6, in <module> 
hc.sql("select timestats from logweb limit 3") 
File "/usr/local/hadoop/spark/python/lib/pyspark.zip/pyspark/sql/context.py", line 552, in sql 
File "/usr/local/hadoop/spark/python/lib/pyspark.zip/pyspark/sql/context.py", line 660, in _ssql_ctx 
Exception: ("You must build Spark with Hive. Export 'SPARK_HIVE=true' and run build/sbt assembly", Py4JJavaError(u'An error occurred while calling None.org.apache.spark.sql.hive.HiveContext.\n', JavaObject id=o19)) 

答えて

0

私は、デフォルトではHiveContextに付属しているApacheのスパークバージョンを持っている、これはリンクであり、場合にダウンロードするには、あなたが興味を持っている:

問題は、Sparkのコンパイルに使用するHadoopのバージョンに関連している可能性があります。必要なHadoopのバージョンに関連するパラメータを確認します。

+0

こんにちはJossさんは、「必要なHadoopのバージョンに関連するパラメータを確認してください」とはどういう意味ですか? ? – SuperTourist

+0

こんにちは.. [これにする](http://spark.apache.org/docs/latest/building-spark.html#building-with-buildmvn)。例: 'build/mvn -Pyarn -Phadoop-2.4 -Dhadoop.version = 2.4.0 -DskipTests clean package'。この場合、使用されるHadoopのバージョンは2.4.0です。 ** sbt **については、[this](http://spark.apache.org/docs/latest/building-spark.html#building-with-sbt)をチェックすることができます。 – Joss

+0

また、あなたのスクリプトの 'sc 'が後であなたにいくつかの問題を与えるかもしれないと思います。コンテキストを初期化する必要があります。参考:[リンク](https://gist.github.com/JosemyD/14831750a55233193524df1a47404c56) – Joss

関連する問題