【发布时间】:2017-03-28 06:21:34
【问题描述】:
我有一个使用 spark 的 spark scala sbt 项目。我需要多次创建 HiveContexts,这是用于 spark hive 的内置 derby 所不允许的。有人可以帮助我将 mysql 设置为元存储而不是 derby,这是默认数据库。我没有安装实际的蜂巢或火花。我对 spark 和 hive 使用 sbt 依赖。
【问题讨论】:
标签: apache-spark hive
我有一个使用 spark 的 spark scala sbt 项目。我需要多次创建 HiveContexts,这是用于 spark hive 的内置 derby 所不允许的。有人可以帮助我将 mysql 设置为元存储而不是 derby,这是默认数据库。我没有安装实际的蜂巢或火花。我对 spark 和 hive 使用 sbt 依赖。
【问题讨论】:
标签: apache-spark hive
在 Spark 的 conf 目录中复制 hive-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>
【讨论】:
沙克蒂
您需要在类路径中有 conf 文件。我在 Intellij 中使用 hadoop、hive 和 spark。在 Intellij 中,我的类路径中有文件:/usr/local/spark/conf/、文件:/usr/local/hadoop/etc/hadoop/ 和文件:/usr/local/hive/conf/。您可以使用以下方法打印运行时类路径:
val cl = ClassLoader.getSystemClassLoader
cl.asInstanceOf[java.net.URLClassLoader].getURLs.foreach(println)
如果您还没有找到解决方法,我希望这对您有所帮助。
【讨论】: