2015-12-06 49 views
1

我有一個使用spark的spark,scala sbt項目。我需要多個創建HiveContexts,這是內置derby對火花蜂巢不允許的。有人可以幫助我設置mysql作爲Metastore,而不是Derby,這是默認數據庫。我沒有安裝實際的配置單元或安裝了spark。我對火花和配置單元使用sbt依賴關係。在星火的conf目錄將MySQL設置爲內置火星蜂巢的Metastore

回答

0

複製蜂房site.xml文件並在該文件

<property> 
    <name>javax.jdo.option.ConnectionURL</name> 
    <value>jdbc:mysql://localhost:3306/metastore_db?createDatabaseIfNotExist=true</value> 
    <description>JDBC connect string for a JDBC metastore</description> 
</property> 

<property> 
    <name>javax.jdo.option.ConnectionDriverName</name> 
    <value>com.mysql.jdbc.Driver</value> 
    <description>Driver class name for a JDBC metastore</description> 
</property> 

<property> 
    <name>javax.jdo.option.ConnectionUserName</name> 
    <value>hive</value> 
    <description>username to use against metastore database</description> 
</property> 

<property> 
    <name>javax.jdo.option.ConnectionPassword</name> 
    <value>hive</value> 
    <description>password to use against metastore database</description> 
</property> 
+0

我的項目是一個sbt項目,它使用火花罐。任何地方都沒有conf目錄。嘗試在項目根目錄下創建一個conf目錄,但沒有任何影響。 – Shakti

+0

不在您的項目中,請轉至羣集的配置目錄,其他conf文件駐留的位置像spark-default.conf和spark-env.sh。然後將hive-site.xml文件複製到此目錄中並更改屬性 – Kaushal

+0

我沒有使用羣集,而是使用了一個spark jar。沒有其他配置文件。 – Shakti

0

沙克蒂

你必須在類路徑的conf文件更改某些屬性。我正在用Intellij來使用hadoop,hive和spark。在Intellij中,我在我的類路徑中有file/usr/local/spark/conf /,file:/ usr/local/hadoop/etc/hadoop /和file:/ usr/local/hive/conf /。您可以使用下面打印您的運行時類路徑:

val cl = ClassLoader.getSystemClassLoader 
    cl.asInstanceOf[java.net.URLClassLoader].getURLs.foreach(println) 

我希望這個幫助,如果你還沒有找到了解決。