我是Spark的新手,并且正在使用JavaSqlNetworkWordCount示例将单词count附加到持久表中。我知道我只能通过HiveContext来实现。但是,HiveContext不断尝试将表保存在/ user / hive / warehouse /中。我尝试通过添加
来改变路径hiveContext.setConf("hive.metastore.warehouse.dir", "/home/user_name");
并添加属性
<property><name>hive.metastore.warehouse.dir</name>
<value>/home/user_name</value></property>
$ SPARK_HOME / conf / hive-site.xml,但似乎没有任何效果。如果其他人遇到此问题,请告诉我您是否/如何解决它。我在我当地的RHEL5机器上使用Spark1.4。
答案 0 :(得分:0)
我想我解决了这个问题。看起来spark-submit正在jar文件的根目录中创建一个metastore_db目录。如果metastore_db存在,则忽略hive-stie.xml值。一旦我删除了该目录,代码就会从hive-site.xml中获取值。但我仍然无法从代码中设置hive.metastore.warehouse.dir属性的值。