数据湖探索 DLI-插入数据:执行Insert into后数据重复怎么办?
执行Insert into后数据重复怎么办?
- 问题现象:
使用Hive和Datasource(除Hudi外)表在执行数据修改类命令(例如insert into,load data)时由于数据源不支持事务性,在系统故障或队列资源重启后,可能会导致数据重复或数据不一致等问题。
- 原因分析:
在数据的Commit阶段如果出现队列资源重启可能会导致数据已经被修复到正式目录中。如果执行的是Insert into语句,资源重启后触发重试就会有概率导致数据重复写入。
- 解决方案:
- 推荐使用具备ACID能力的Hudi类型数据源。
- 建议尽量使用insert overwrite这样幂等的语法而不是insert into等非幂等语法插入数据。
- 如果严格需求数据不能重复,建议在insert into后对表数据执行去重操作,防止数据重复。
- GaussDB主键生成_GaussDB存储过程_高斯数据库主键生成_华为云
- 什么是数据湖探索服务_数据湖探索DLI用途与特点
- GaussDB性能怎么调_华为gaussdb_gaussdb性能_gaussdb学习
- GaussDB性能_Gaussdb数据库性能_高斯数据库性能-华为云
- GaussDB行转列_数据中台架构pdf_高斯数据库行转列_华为云
- 什么是Flink OpenSource SQL_数据湖探索_Flink OpenSource SQL
- gaussdb咋样_gaussdb介绍_gaussdb的优势_gaussdb用法_gaussdb架构
- AI训练加速存储_高性能数据存储_AI数据存储内存不足怎么办
- 什么是跨源连接-数据湖探索DLI跨源连接
- 如何连接测试服务器数据库_mysql数据库磁盘满了怎么办