无法在 HIVE 中创建表

Posted

技术标签:

【中文标题】无法在 HIVE 中创建表【英文标题】:unable able to create table in HIVE 【发布时间】:2016-10-11 17:55:18 【问题描述】:

当我尝试使用以下命令在 HIVE 中创建表时,

CREATE TABLE IF NOT EXISTS employee ( eid int, name String,
salary String, destination String)
COMMENT 'Employee details'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;

我得到以下错误。

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:For direct MetaStore DB connections, we don't support retries at the client level.)

我已授予 HDFS 中 /user/hive/warehouse 目录的完全权限。

【问题讨论】:

请分享 hive-site.xml 文件,看起来您的 hive 元存储设置不正确。 您能否将完整的异常日志跟踪添加到配置单元日志中的问题中。 【参考方案1】:

感谢您的回复。

我找到了解决方案。 我正在使用 HIVE 2.1.0。

必须使用 SCHEMA TOOL 初始化架构

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

注意:在我的例子中,-dbType 是 mysql,因为我使用 mysql 作为 rdbms。

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

我已经在 mysql 中删除了 metastore db,并通过运行上述命令创建了 metastore 模式。

现在我可以在 hive 中创建表了。

【讨论】:

是的。它应该使用架构工具进行初始化。

以上是关于无法在 HIVE 中创建表的主要内容,如果未能解决你的问题,请参考以下文章

无法在 HIVE 中创建表

Pyspark 无法在 hive 中创建镶木地板表

hive 中创建表的三种方式

使用 create-hive-table 在 Hive 中创建表时如何使用自定义分隔符

hive 建表方式及参数详解

Oracle 10g中如何创建表