美文网首页
spark-sql使用hive无法创建表

spark-sql使用hive无法创建表

作者: zhouhaolong1 | 来源:发表于2017-09-23 11:56 被阅读1269次

使用spark-sql 执行hive的建表语句 create table person (id bigint,name string ,age int) row format delimited fields terminated by ','; 报出如下错误:

ERROR SparkSQLDriver: Failed in [create table person4 (id bigint,name string ,age int) row format delimited fields terminated by ',']
org.apache.spark.sql.execution.QueryExecutionException: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:file:/user/hive/warehouse/person4 is not a directory or unable to create one)

解决办法:

  1. 把$HIVE_HOME/conf/hive-site.xml复制到$SPARK_HOME/conf/下

  2. 在$SPARK_HOME/conf/hive-site.xml修改hive.metastore.warehouse.dir的属性值.其默认属性值是/user/hive/warehouse

     <property>
    
         <name>hive.metastore.warehouse.dir</name>
    
         <value>hdfs://mini1:9000/user/hive/warehouse</value>
    
         <description>hive.metastore.warehouse.dir</description>
    
     </property>
    
  3. 重启spark-sql

     spark-sql> exit;
    
     [hadoop@mini1 ~]$ spark-sql --master spark://mini1:7077
    

附上我的$SPARK_HOME/conf/hive-site.xml内容

    <configuration>
    <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://mini1:3306/hive?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>root</value>
    <description>username to use against metastore database</description>
    </property>
    
    <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>root</value>
    <description>password to use against metastore database</description>
    </property>
    
    <!-- add by zhou ############################# -->
    
    <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>hdfs://mini1:9000/user/hive/warehouse</value>
    <description>hive.metastore.warehouse.dir</description>
    </property>
    
    <!-- add by zhou ############################# -->
    
    </configuration>

相关文章

  • spark-sql使用hive无法创建表

    使用spark-sql 执行hive的建表语句 create table person (id bigint,na...

  • Hive使用与Sqoop安装与使用

    Hive框架基础(三)理性认知: Hive创建表的方式 1.使用create命令创建一个新表 2.把一张表的某些字...

  • hive进阶学习

    创建hive表常用语句: 修改hive表名称: 内部表 vs 外部表: 创建分区表以及补充操作: hive中查询介...

  • Hive SQL (HQL)小结

    *Hive创建表的方式 1、使用create命令创建一个新表 例如: create table if not ex...

  • Spark SQL中Kryo反序列化问题分析

    1 问题描述 当使用Spark-sql执行 Hive UDF时会发生NullPointerException(N...

  • Hive日常使用

    hive 创建表: hive 执行: =========================hive 调用Python...

  • Hive练习(三)

    使用beeline连接到hive 创建users表和train表,为了方便, 创建表的hql语句单独写在一个脚本文...

  • 2018-11-28

    针对spark-sql操作hive生成分区表,结果文件目录包含_success空文件,可以设置参数: mapred...

  • Hive wordcount

    一 使用Hive CLI (old)命令行工具操作HiveQL 进入hive cli 创建统计表 导入数据 可...

  • Hive框架基础(二)

    * Hive框架基础(二) 我们继续讨论hive框架 * Hive的外部表与内部表 内部表:hive默认创建的是内...

网友评论

      本文标题:spark-sql使用hive无法创建表

      本文链接:https://www.haomeiwen.com/subject/hjkcextx.html