使用“ as select”创建Hive表并指定TBLPROPERTIES

时间:2019-10-03 10:41:58

标签: hive

例如,当使用Parquet格式时,我希望能够指定压缩方案(("parquet.compression"="SNAPPY"))。运行此查询:

CREATE TABLE table_a_copy
STORED AS PARQUET
TBLPROPERTIES("parquet.compression"="SNAPPY")
AS
SELECT * FROM table_a

返回错误:

Error: Error while compiling statement: FAILED: ParseException line 1:69 cannot recognize input near 'parquet' '.' 'compression' in table properties list (state=42000,code=40000)

没有TBLPROPERTIES的相同查询也可以正常工作。

这类似于以下问题:Create hive table using "as select" or "like" and also specify delimiter。但是我无法弄清楚如何使TBLPROPERTIES使用该方法。我正在使用Hive 1.1。

1 个答案:

答案 0 :(得分:2)

我能够在 Hive 2.1.1 版本中运行完全相同的语句。

Try with this workaround:

CREATE TABLE table_a_copy like table_a STORED AS PARQUET;
alter table set TBLPROPERTIES("parquet.compression"="SNAPPY");
insert into table table_a_copy select * from table_a ;