物来顺应,未来不迎,当时不杂,既过不恋;|

万事胜意k

园龄:2年8个月粉丝:11关注:4

Hive数据库中执行更新和删除数据操作

在Hive中,ACID表是支持ACID(原子性、一致性、隔离性和持久性)事务的表。这意味着这些表支持事务处理,如INSERT、UPDATE、DELETE和COMMIT操作。

然而,并非所有的Hive表都是ACID表。例如,如果你正在使用一个不支持ACID事务的Hive版本或配置,那么你可能无法在这些表上执行ACID事务。

要在Hive中创建支持ACID事务的表,需要按照以下步骤进行配置:

1.确保你的Hive版本至少为0.14.0或以上

2.在hive-site.xml文件中启用ACID事务支持。将以下属性添加到hive-site.xml文件中:

<configuration>
<property>
<name>hive.support.concurrency</name>
<value>true</value>
</property>
<property>
<name>hive.enforce.bucketing</name>
<value>true</value>
</property>
<property>
<name>hive.exec.dynamic.partition.mode</name>
<value>nonstrict</value>
</property>
<property>
<name>hive.txn.manager</name>
<value>org.apache.hadoop.hive.ql.lockmgr.DbTxnManager</value>
</property>
<property>
<name>hive.compactor.initiator.on</name>
<value>true</value>
</property>
<property>
<name>hive.compactor.worker.threads</name>
<value>1</value>
</property>
</configuration>

3.重启Hive服务以使更改生效。

创建表的语句

create table if not exists your_table_name
(
id int,
username varchar(256) comment '用户名'
)
clustered by (
id
)INTO 3 BUCKETS ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
stored as
orc
tblproperties ('transactional'='true');

使用上述建表语句创建的表就可以进行数据的更新和删除操作了。

本文作者:万事胜意k

本文链接:https://www.cnblogs.com/ysk0904/p/17699851.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   万事胜意k  阅读(419)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起