logo
社区首页 / 全域数据集成平台 / 问题详情
标题
doris 数据更新问题
0
用户头像
楼主:华子
主题:2     回复:11     获赞:0 注册日期:2023-09-18

mysql数据库采集数据到doris,新增、删除数据都能成功,只有更新数据时失败。具体错误如下: 1、离线数据集成 涉及更新数据操作时,错误提示java.lang.Class - java.lang.Exception: 错误:节点(T00002)没有设置主键退出数据更新

2、实时数据集成 涉及更新数据操作时,错误提示java.sql.BatchUpdateException: errCode = 2, detailMessage = Only value columns of unique table could be updated

是什么原因,谢谢

---------------------------------------------------
签名:
共18回答
2
用户头像
回答者: RC_Paul
获赞:8 注册于:2023-06-28 回答于 2023-09-20 18:29:36 #1

你目前创建doris数据库模型只支持插入插入操作,不支持修改 方法一:可以先清空目标表然后批量插入这种也比较快, 方法二:可以查询doris数据模型,创建支持修改的数据表。https://blog.csdn.net/u012667450/article/details/128336724

---------------------------------------------------
签名:
0
用户头像
回答者: 华子
获赞:0 注册于:2023-09-18 回答于 2023-09-21 09:18:33 #2

谢谢你的回复。这个错误就是我改为 Uniq Mod 后,出现的错误。像文章里那也操作是好使的,但通过etlcloud就是提示上面的错误。

---------------------------------------------------
签名:
0
用户头像
回答者: RC_Paul
获赞:8 注册于:2023-06-28 回答于 2023-09-21 09:22:28 #3

麻烦提供一下输出组件的配置,包括高级选项,我们技术验证一下。

---------------------------------------------------
签名:
0
用户头像
回答者: 华子
获赞:0 注册于:2023-09-18 回答于 2023-09-21 09:26:16 #4

图片alt 图片alt 图片alt 图片alt 图片alt

---------------------------------------------------
签名:
0
用户头像
回答者: lingpengliang
获赞:20 注册于:2023-04-10 回答于 2023-09-21 09:52:32 #5

图片alt

把主键字段更新选项选择仅插入时更新

---------------------------------------------------
签名:
0
用户头像
回答者: lingpengliang
获赞:20 注册于:2023-04-10 回答于 2023-09-21 09:58:58 #6

建议使用我们的doris快速输出组件 这个组件速度更快,不需要配置,建表时建表类型设置成Uniq Mode类型可支持修改 ,主键不存在即插入,存在即修改

---------------------------------------------------
签名:
0
用户头像
回答者: 华子
获赞:0 注册于:2023-09-18 回答于 2023-09-21 10:54:07 #7

doris快速输出组件是插入和更新没问题,但不支持删除。 然后,安装你的方法试了下库表输出组件,还是提示错误 节点(T00002)没有设置主键退出数据更新。 图片alt

---------------------------------------------------
签名:
0
用户头像
回答者: lingpengliang
获赞:20 注册于:2023-04-10 回答于 2023-09-21 10:56:07 #8

图片alt 这个关键字段勾选一下

---------------------------------------------------
签名:
0
用户头像
回答者: 华子
获赞:0 注册于:2023-09-18 回答于 2023-09-21 11:08:13 #9

多谢啦。库表输出组件更新好用了。但是删除数据时,同步数据后数据没有删除。配置信息如下 图片alt

---------------------------------------------------
签名:
0
用户头像
回答者: lingpengliang
获赞:20 注册于:2023-04-10 回答于 2023-09-21 11:12:36 #10

删除数据是要使用字段值标注这个组件打上删除的标签图片alt

---------------------------------------------------
签名:
0
用户头像
回答者: 华子
获赞:0 注册于:2023-09-18 回答于 2023-09-21 13:35:01 #11

非常感谢,离线数据集成问题已经解决了。现在还有第2个问题,就是实时数据集成的,涉及更新数据操作时,错误提示java.sql.BatchUpdateException: errCode = 2, detailMessage = Only value columns of unique table could be updated 图片alt

图片alt

图片alt

图片alt

---------------------------------------------------
签名:
0
用户头像
回答者: lingpengliang
获赞:20 注册于:2023-04-10 回答于 2023-09-21 14:02:51 #12

传输方式选择传输到ETL流程,绑定离线流程用库表输出组件将信息入库

---------------------------------------------------
签名:
0
用户头像
回答者: 华子
获赞:0 注册于:2023-09-18 回答于 2023-09-21 14:56:40 #13

看看操作对不,没有成功。 1、监听配置 图片alt 图片alt 2、流程配置 图片alt 图片alt 3、doris快速输出 图片alt 图片alt

---------------------------------------------------
签名:
0
用户头像
回答者: lingpengliang
获赞:20 注册于:2023-04-10 回答于 2023-09-21 15:01:52 #14

不好意思,cdc目前只支持 mysql,oracle,postgresql,sqlserver

---------------------------------------------------
签名:
0
用户头像
回答者: 华子
获赞:0 注册于:2023-09-18 回答于 2023-09-21 15:07:40 #15

谢谢回复,监听的是mysql,然后变化的数据最后搬运到doris。之前试了好使,就是更新数据有错误。现在用你后来说的指定流程这个,没有成功呢

---------------------------------------------------
签名:
0
用户头像
回答者: lingpengliang
获赞:20 注册于:2023-04-10 回答于 2023-09-21 15:10:43 #16

库表组件是和之前的一样配置嘛 图片alt

---------------------------------------------------
签名:
0
用户头像
回答者: 华子
获赞:0 注册于:2023-09-18 回答于 2023-09-21 15:17:14 #17

没用库表输出组件,用的是doris快速输出组件,doris快速输出组件没有这个设置项 图片alt

---------------------------------------------------
签名: