我尝试在Hadoop中创建一个表,但使用current_timestamp()作为列的默认值:
CREATE TABLE table_test(
CODE_FIRST VARCHAR(3),
TYPE_TEST_1 VARCHAR(4),
TYPE_TEST_2 VARCHAR(4),
FLAG_BOOL VARCHAR(1),
CONTACT VARCHAR(15),
DATE_MODIFIED TIMESTAMP DEFAULT CURRENT_TIMESTAMP()
) STORED AS parquet TBLPROPERTIES("parquet.compress"="GZIP");
我试过将它更改为AS CURRENT_TIMESTAMP
和许多其他格式,但我无法创建该表。有人能解释一下我做错了什么吗?
配置单元版本2.1.1-mapr-1901
错误:
Error while compiling statement:
FAILED: ParseException line 50:25 mismatched input 'DEFAULT' expecting ) near 'TIMESTAMP' in create table statement
1条答案
按热度按时间htzpubme1#
配置单元DDL中的
DEFAULT
约束已在版本3.0中实现,请参阅JIRA HIVE-18726。Ashutosh Chauhan添加了一条评论- 22/May/18 23:16
此jira已在Hive 3.0中解决并发布。如果您发现此jira有问题,请创建新的jira。
但即使在该版本中,您也只能在 MANAGED 表上定义约束,而 MANAGED 表不支持Parquet格式。
对于 EXTERNAL 表格(可用于Parquet文件),根据Hive manual,仅支持
RELY
约束。