【问题标题】:CREATE TABLE command is not working in Hive query languageCREATE TABLE 命令在 Hive 查询语言中不起作用
【发布时间】:2015-09-18 04:29:46
【问题描述】:

当我尝试在 hive 中创建表时,收到以下错误消息。知道为什么会这样吗?

hive> create table a (x int);

FAILED:执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1。 MetaException(message:对于直接MetaStore DB连接,我们不支持在客户端重试。)

以下是日志:

 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Duplicate key name 'TBLS_FK2' at sun.reflect.GeneratedConstructorAccessor25.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorA‌​ccessorImpl.java:45) 

【问题讨论】:

  • 你能提供 hive 日志吗?还有你使用的是 derby 还是 mysql 的 metastore?
  • 感谢您的回复。我正在使用 mysql 元存储。在 /tmp/username 下创建的扩展名为 .pipeout 的日志文件为空。有没有办法启用日志记录
  • 以下是日志快照:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:sun.reflect.GeneratedConstructorAccessor25.newInstance(Unknown Source) at sun.reflect 中的键名“TBLS_FK2”重复。 DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  • 您可以尝试停止配置单元服务器并登录到 mysql 并删除元存储并重新启动服务器。我认为可能有一些旧的元存储在 mysql 中没有正确升级或元存储表没有正确创建
  • 此链接可能对您有所帮助qnalist.com/questions/5919571/…

标签: hadoop hive metastore apache-hive


【解决方案1】:

这可能对你有用。

必须使用 SCHEMA TOOL 初始化架构

命令:$HIVE_HOME/bin/schematool -dbType mysql -initSchema

注意:如果您使用 mysql 作为 rdbms,则 -dbType 是 mysql。

请参考以下链接:https://cwiki.apache.org/confluence/display/Hive/Hive+Schema+Tool

【讨论】:

    猜你喜欢
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 2016-09-16
    • 2018-02-19
    • 1970-01-01
    相关资源
    最近更新 更多