我正在嘗試在 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許多其他格式,但無法創建表格。有人可以解釋一下我做錯了什么嗎?
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
uj5u.com熱心網友回復:
DEFAULTHive DDL 中的約束在3.0版中實作,請參閱 JIRA HIVE-18726。
Ashutosh Chauhan 添加了評論 - 22/May/18 23:16
此 jira 已在 Hive 3.0 中解決并發布如果您發現它有問題,請創建一個新的 jira。
但即使在那個版本中,您也只能在MANAGED表上定義約束,而MANAGED表不支持 Parquet 格式。
根據Hive 手冊,對于EXTERNAL表(可以使用 Parquet 檔案),僅支持約束。RELY
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/445656.html
上一篇:無法在本地Windows環境上運行pyspark:org.apache.hadoop.io.nativeio.NativeIO$POSIX.stat(Ljava/lang/String;)Lorg/a
