在操作hive3.0.0时,使用update命令更新表,发生错误,详细如下:
原因分析:
在hive上执行事务操作(增删改查)自hive从0.14版本支持,但对于数据的(删改)但并不是默认支持,需要修改参数,如果不修改参数配置,会报上述异常,上文中第一步即为配置hive上执行事务操作(增删改查)所需配置。同时,Hive对使用Update(删改)功能的表有特定的语法要求, 具体语法要求如下:
(1)要执行Update的表中, 建表时必须带有buckets(分桶)属性
(2)要执行Update的表中, 需要指定格式,目前只支持ORCFileformat和AcidOutputFormat,其余格式目前赞不支持, 如:parquet格式,textFile格式,
(3)要执行Update的表中, 建表时必须指定参数(‘transactional’ = true);
解决方案