HQL Table,CURRENT_TIMESTAMP 作为列的默认值
HQL Table with CURRENT_TIMESTAMP as default value for column
我正在尝试在 Hadoop 中创建一个 table,但使用 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
和许多其他格式,但我无法创建 table。有人可以解释一下我做错了什么吗?
Hive 版本 2.1.1-mapr-1901
错误:
Error while compiling statement:
FAILED: ParseException line 50:25 mismatched input 'DEFAULT' expecting ) near 'TIMESTAMP' in create table statement
DEFAULT
Hive DDL 中的约束已在版本 3.0 中实现,请参阅 JIRA HIVE-18726.
Ashutosh Chauhan added a comment - 22/May/18 23:16
This jira is
resolved and released with Hive 3.0 If you find an issue with it,
please create a new jira.
但即使是那个版本,也只能在MANAGED表上定义约束,而MANAGED表不支持Parquet格式。
对于 EXTERNAL 表(可以使用 Parquet 文件),根据 Hive manual.
仅支持 RELY
约束
我正在尝试在 Hadoop 中创建一个 table,但使用 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
和许多其他格式,但我无法创建 table。有人可以解释一下我做错了什么吗?
Hive 版本 2.1.1-mapr-1901
错误:
Error while compiling statement:
FAILED: ParseException line 50:25 mismatched input 'DEFAULT' expecting ) near 'TIMESTAMP' in create table statement
DEFAULT
Hive DDL 中的约束已在版本 3.0 中实现,请参阅 JIRA HIVE-18726.
Ashutosh Chauhan added a comment - 22/May/18 23:16
This jira is resolved and released with Hive 3.0 If you find an issue with it, please create a new jira.
但即使是那个版本,也只能在MANAGED表上定义约束,而MANAGED表不支持Parquet格式。
对于 EXTERNAL 表(可以使用 Parquet 文件),根据 Hive manual.
仅支持RELY
约束