【问题标题】:Hive 'cannot alter table' errorHive“无法更改表”错误
【发布时间】:2014-09-16 19:30:47
【问题描述】:

当我将数据加载到表格时出现错误,感谢您的帮助。

hive> load data local inpath '/home/Xperttech/Desktop/datagen_10.txt' into table patient;

Copying data from file:/home/Xperttech/Desktop/datagen_10.txt
Copying file: file:/home/Xperttech/Desktop/datagen_10.txt
Loading data to table default.patient
Failed with exception Unable to alter table.
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask

但是数据会正常插入。

只有当我使用 mysql 进行元存储时才会发生这种情况。当我换回德比时,一切正常。 我确定mysql运行良好,从hive登录成功。

Hive 日志:

2014-07-24 20:36:55,136 ERROR exec.Task (SessionState.java:printError(419)) - Failed with exception Unable to alter table.
org.apache.hadoop.hive.ql.metadata.HiveException: Unable to alter table.
        at org.apache.hadoop.hive.ql.metadata.Hive.alterTable(Hive.java:387)
        at org.apache.hadoop.hive.ql.metadata.Hive.loadTable(Hive.java:1448)
        at org.apache.hadoop.hive.ql.exec.MoveTask.execute(MoveTask.java:283)
        at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:151)
        at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:65)
        at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1414)
        at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1192)
        at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1020)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:888)
        at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:259)
        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:216)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:413)
................................
        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:614)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:160)
Caused by: MetaException(message:org.datanucleus.exceptions.NucleusDataStoreException: Iteration request failed : SELECT `A0`.`BUCKET_COL_NAME`,`A0`.`INTEGER_IDX` AS NUCORDER0 FROM `BUCKETING_COLS` `A0` WHERE `A0`.`SD_ID` = ? AND `A0`.`INTEGER_IDX` >= 0 ORDER BY NUCORDER0)
        at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.alter_table_with_environment_context(HiveMetaStore.java:2408)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

【问题讨论】:

    标签: mysql hadoop hive derby


    【解决方案1】:

    我遇到了这个问题,通过为 hive 和 hdfs 用户提供对 infa BDE 用户的访问权限,它运行良好。

    【讨论】:

      【解决方案2】:

      问题解决了。使用兼容版本的 MySQL Java 连接器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-08-31
        • 1970-01-01
        • 1970-01-01
        • 2017-12-24
        • 2016-03-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多