在Hive中添加具有默认值的列

时间:2018-02-21 10:37:07

标签: sql hive insert sql-update insert-update

我是Hive的新手,我使用 Hive 1.1.0-cdh5.11.1, 我的问题在SQL中很简单,但在Hive中似乎有所不同。

我想在一个表 table1 中添加2个新列(column2,column3),每列一个常量/默认值,如:

insert into table1(column2,column3) values (values2, DEFAULT, values3, DEFAULT)

但它不起作用。 我尝试创建另一个表table2,其中包含2列(c1,c2)和一行包含2个值: value2,value3 并执行:

INSERT (OVERWRITE) INTO table1(column2,column3)
SELECT c1,c2 FROM table2
WHERE table1.column1 IS NOT NULL 

我用不同的解决方案搜索了很多时间...... 有人可以帮帮我吗?

非常感谢!

1 个答案:

答案 0 :(得分:2)

在配置单元3.0中,我们可以在列上使用“默认”约束来创建表,如果未指定列值,则在插入语句中将插入默认值。有关详细信息,请参阅https://issues.apache.org/jira/browse/HIVE-18726https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=75969407。谢谢。