【问题标题】:Simple Insert query into hive giving error简单的将查询插入配置单元给出错误
【发布时间】:2017-08-27 03:47:26
【问题描述】:

我在 Cloudera CDH 中创建了一个简单的表。使用的版本是 Hive 1.1.0 CDH 5.8。

create table student(id decimal, name varchar(100), valid char(1) ) 
clustered by (id) into 2 buckets 
stored as orc TBLPROPERTIES('transactional'='true');

当我尝试执行插入语句时

insert into student (id,name,valid) values (1, 'ABC', 'Y');

它给出了以下错误

NoViableAltException 无法识别 '(' ''id'' ',' in 附近的输入 声明

如果我在插入查询中省略列名,它可以正常工作。 我在 Apache Hive 上尝试了同样的事情,并且带有列名的插入查询工作正常。

我想在插入查询中指定列名,因为我将插入到列的子集中。关于如何使它工作的任何指示?

谢谢

【问题讨论】:

    标签: hadoop hive cloudera hiveql cloudera-cdh


    【解决方案1】:

    从 Hive 1.2 开始支持 INSERT 语句中的列列表规范
    https://issues.apache.org/jira/browse/HIVE-9481

    对于早期版本,您应该按目标表中的顺序向所有列插入值。
    对于某些列,您可能需要使用硬编码值 -
    NULL 或一些默认值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-27
      • 2012-12-05
      • 2013-10-29
      • 1970-01-01
      相关资源
      最近更新 更多