【问题标题】:Spark-Scala HBase table creation fails (MetaException(message:file:/user/hive/warehouse/src is not a directory or unable to create one)Spark-Scala HBase 表创建失败(MetaException(消息:文件:/user/hive/warehouse/src 不是目录或无法创建目录)
【发布时间】:2015-04-01 19:11:36
【问题描述】:

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

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

FAILED:执行错误,返回代码 1 从 org.apache.hadoop.hive.ql.exec.DDLTask。 MetaException(message:file:/user/hive/warehouse/src 不是目录 或无法创建)

我也更改了对“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>

非常感谢您。

【问题讨论】:

    标签: scala hadoop hbase apache-spark pyspark


    【解决方案1】:

    终于找到我犯的错误了。

    必须在本地机器上运行的代码中指定正确的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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多