草庐IT

scala - Spark-Scala HBase 表创建失败(MetaException(消息 :file:/user/hive/warehouse/src is not a directory or unable to create one)

coder 2024-01-07 原文

我的 VM 中运行着 hortonworks 沙盒。我已经完成了所有的 hive-site.xml 配置并放置在 Spark/conf 文件中。

我可以使用 PySpark 访问 HBase 并创建/更新表,但是当我在 Scala 中执行相同的实现时,会出现以下错误:

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:file:/user/hive/warehouse/src is not a directory or unable to create one)

我也更改了对“hive/warehouse”文件夹的权限,但它仍然给我同样的错误。

[root@sandbox ~]# sudo -u hdfs hadoop fs -ls -d /user/hive/warehouse
drwxrwxrwt   - hdfs hdfs          0 2015-02-02 09:19 /user/hive/warehouse

我的 hive-site.xml 包含以下属性

<property>
      <name>hive.security.authorization.enabled</name>
      <value>false</value>
</property>
<property>
      <name>javax.jdo.option.ConnectionUserName</name>
      <value>hive</value>
</property>
<property>
      <name>java.jdo.option.ConnectionPassword</name>
      <value>hive</value>
      <description>
      </description>
 </property>

非常感谢您。

最佳答案

终于找到了我犯的错误。

必须在本地机器上运行的代码中指定正确的SPARK_HOME位置

import os
import sys

# Path for spark source folder
os.environ['SPARK_HOME']="/Users/renienj/spark-1.1.0/dist"

基本上,本地机器没有访问 HDFS 的权限,因为类路径不包括 HADOOP_CONF_DIR。因此,warehousetmp目录在Hadoop中,但表目录创建失败存储在本地文件系统中。

所以为了解决这个问题,我们需要将打包后的JAR与本地分发包一起提交。

$SPARK_HOME/bin/spark-submit --class "Hello" --master local[4] hello-scala_2.10-1.0.jar

关于scala - Spark-Scala HBase 表创建失败(MetaException(消息 :file:/user/hive/warehouse/src is not a directory or unable to create one),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28284527/

有关scala - Spark-Scala HBase 表创建失败(MetaException(消息 :file:/user/hive/warehouse/src is not a directory or unable to create one)的更多相关文章

随机推荐