2017-08-02 67 views
3

我是zeppelin筆記本新手。但是我注意到有一件事與Spark-shell hiveContext不同,當我啓動筆記本時,它不會在zeppelin中自動創建。如何在Zeppelin中加載hiveContext?

,當我試圖手動加載hiveContext在飛艇一樣:

import org.apache.spark.sql.hive._ 
import org.apache.spark.sql.hive.HiveContext 

val hiveContext = new HiveContext(sc) 

我得到這個錯誤

java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient 
    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 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at org.apache.spark.sql.hive.client.IsolatedClientLoader.createClient(IsolatedClientLoader.scala:249) 
    at org.apache.spark.sql.hive.HiveContext.metadataHive$lzycompute(HiveContext.scala:327) 
    at org.apache.spark.sql.hive.HiveContext.metadataHive(HiveContext.scala:237) 
    at org.apache.spark.sql.hive.HiveContext.setConf(HiveContext.scala:441) 
    at org.apache.spark.sql.hive.HiveContext.defaultOverrides(HiveContext.scala:226) 
    at org.apache.spark.sql.hive.HiveContext.<init>(HiveContext.scala:229) 
    at org.apache.spark.sql.hive.HiveContext.<init>(HiveContext.scala:101) 
    at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:33) 
    at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:38) 
    at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:40) 
    at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:42) 

我認爲錯誤意味着先前的metastore_db是不允許覆蓋新的一個。

我正在使用火花1.6.1

任何幫助,將不勝感激。

回答

0

檢查您的metastore_db權限... 然後您在REPL模式下測試.. 然後您必須移動zeppelin。

0

你可以請嘗試從殼連接蜂巢。我只是想讓你檢查一下Hive是否安裝正確,因爲我有幾次類似的問題。也嘗試從Scala shell連接Hive。如果它起作用,那麼它應該從齊柏林飛艇起作用。

+0

我沒有安裝蜂箱..我真的需要蜂房飛艇使用hiveContext? –

+0

是的,你需要安裝Hive。 –

0

嘗試創建HIVE上下文,如下所示:

PYSPARK代碼。

SC = SparkContext(CONF = CONF)

sc._jvm.org.apache.hadoop.hive.conf.HiveConf()

hiveContext = HiveContext(SC)

希望它有助於。

問候,

Neeraj

+0

bhadnani嗨,我做了完全相同的事情在斯卡拉,但得到了這個錯誤 –