DataWorks set tblproperties("transactional"="true")?
可以使用以下方式设置Hive表的属性信息:
在数据开发模块中,选择需要修改的Hive表,进入表详情页面。
在表详情页面中,选择“表属性”选项卡,可以查看和修改表的属性信息。
在“表属性”选项卡中,可以添加和修改表的属性信息,例如,设置表的事务属性为“transactional=true”。
添加或修改属性后,点击“保存”按钮,即可保存表的属性信息。
需要注意的是,在设置Hive表的属性信息时,需要确保属性名称和属性值正确,并符合Hive的规范和要求。此外,还需要根据表的实际情况和需求,选择合适的属性配置和优化方案。
对于设置表的事务属性为“transactional=true”的情况,需要满足以下条件:
Hive版本必须为0.13及以上版本。
表引擎必须为“org.apache.hadoop.hive.ql.io.orc.OrcInputFormat”或“org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat”。
表必须使用“ORC”格式存储,并且启用了“ACID”特性。
在DataWorks中,可以使用set tblproperties("transactional"="true")
语句来设置表属性为事务性(Transactional)。
该语句用于将指定的表设置为支持事务的表,即开启表级别的事务管理。当表被设置为事务性时,可以执行事务操作,如INSERT、UPDATE和DELETE等,并确保这些操作符合ACID(原子性、一致性、隔离性和持久性)特性。
在DataWorks中,你可以在ODPS SQL文档编辑器中输入该语句,并替换其中的tblproperties
和相应的表名。例如:
set tblproperties("transactional"="true") on your_table_name;
请注意以下事项:
MaxCompute常见问题:
Q1:报错提示FAILED:ODPS-0130071:xxxxxxxxx .set tblproperties("transactional"="true") in order to use this feature
A1:MaxCompute非transactional表不支持UPDATE/DELETE表数据或修改表结构。
0)transactional表UPDATE/DELETE官方文档
建transactional表官方文档
1)当前只允许创建表时设置transactional属性,已有表不允许通过alter table修改transactional属性。
2)cluster table、外部表不能设置成transactional表。
3)现有内部表和外部表不支持转成transactional表,transactional表也不支持转成普通表。,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。