我有一个最初创建为事务性的配置单元表,但我想禁用该表上的事务,因为它们实际上并不需要。
我试着用 ALTER TABLE
,但我有个错误:
hive> ALTER TABLE foo SET TBLPROPERTIES('transactional'='false');
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Unable to alter table. TBLPROPERTIES with 'transactional'='true' cannot be unset
我正在使用Hive2.3.2
1条答案
按热度按时间carvr3hs1#
根据文档,不允许更改tblproperty(“transactional”=“false”)。
您可以重新创建表。
先备份表:
然后删除表并重新创建
transactional
财产。从备份重新加载数据。或者创建一个新表,从旧表加载数据,删除旧表,重命名新表。