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

标签 scala hadoop hbase apache-spark pyspark

我的虚拟机中运行着 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 - 余积的类型类推导?

scala - Spark数据帧过滤器

hadoop - 在一列上选择不同但返回所有列

bash - 使用Shell解析HIVE中的字符串

hadoop - 无法为大型数据集运行 Spark 作业

scala - 无法应用参数化柯里化(Currying)函数

scala - 为什么在将线映射到 Array[String] 时没有编码器?

hadoop - 如何使用 Ambari 通过浏览器访问 hdfs-site.xml 和 core-site.xml?

hadoop - hbase命令与hadoop命令

Hadoop 与 NoSQL 数据库