gpt4 book ai didi

sql - 尝试执行非事务更新表的配置单元错误

转载 作者:行者123 更新时间:2023-12-02 18:49:26 28 4
gpt4 key购买 nike

我正在尝试通过使用以下命令来更新配置单元上的临时表:

alter table para1 add columns(log_flag int);
update para1 set log_flag = (
case
when name like '%LANDING__TIME' then 1
when name like '%LOGIN_START_TIME' then 2
when name like '%LOGIN_TIME' then 3
else 4
end
);

以下是我收到的错误:

ERROR: Execute error: org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED: SemanticException [Error 10297]: Attempt to do update or delete on table df.para1 that is not transactional



这使我无法使用新的条件变量log_flag更新表,而且我真的不确定是什么原因。

感谢您的任何帮助!

最佳答案

INSERT OVERWRITE用于非事务表:

INSERT OVERWRITE table para1
select
col1, ... coln, --list all other columns (columns positions should match)
case
when name like '%LANDING__TIME' then 1
when name like '%LOGIN_START_TIME' then 2
when name like '%LOGIN_TIME' then 3
else 4
end as log_flag
from para1;

如果是临时表,最好在初始负载中计算标志。

关于sql - 尝试执行非事务更新表的配置单元错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59976511/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com