【问题标题】:Setting MySQL as the metastore for built in spark hive将 MySQL 设置为内置 spark hive 的元存储
【发布时间】:2017-03-28 06:21:34
【问题描述】:

我有一个使用 spark 的 spark scala sbt 项目。我需要多次创建 HiveContexts,这是用于 spark hive 的内置 derby 所不允许的。有人可以帮助我将 mysql 设置为元存储而不是 derby,这是默认数据库。我没有安装实际的蜂巢或火花。我对 spark 和 hive 使用 sbt 依赖。

【问题讨论】:

    标签: apache-spark hive


    【解决方案1】:

    在 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>
    

    【讨论】:

    • 我的项目是一个sbt项目,它使用了spark jar。任何地方都没有 conf 目录。尝试在项目根目录下创建一个conf目录,但是没有任何效果。
    • 不在您的项目中,转到集群的配置目录,其他 conf 文件所在的目录,如 spark-default.conf 和 spark-env.sh。然后在此目录中复制 hive-site.xml 文件并更改属性
    • 我使用的不是集群,而是火花罐。没有其他配置文件。
    【解决方案2】:

    沙克蒂

    您需要在类路径中有 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)  
    

    如果您还没有找到解决方法,我希望这对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-17
      • 2020-07-03
      • 2016-04-24
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2017-06-16
      • 1970-01-01
      相关资源
      最近更新 更多