flink写入es版本控制问题

本文探讨了Flink在写入Elasticsearch时遇到的版本控制问题,包括create覆盖和update局部更新两种操作。在不控制版本时,每次写入version会自动递增;指定version时,若小于当前版本会引发冲突,而null值不会写入。局部更新不支持版本控制,且Flink 1.6.0与Elasticsearch 6.x存在兼容性问题,导致update操作异常。解决办法是升级Flink的Elasticsearch连接器版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写入es有两种,一种是create请求,覆盖操作。一种update局部更新操作。本次讨论各种情况es写入的版本控制问题,以及flink1.6.x与es6.x的小插曲

1:测试不控制版本号的create覆盖操作

Requests.indexRequest()
        .index("test")
        .type("_doc")
        .id(inputjson.getString("serialid"))
        .source(JsonUtil.convert2Map(inputjson.toString().trim()));

es上数据

改变数据再写一次

可见不控制时每次写入操作都会是version自动加1: 此时与——score 里 version字段大小无关

2:对version进行指定写入该条version=2  的数据

写入

jsons.put("serialid","testcreate") ;
jsons.put("value1","1") ;
jsons.put("version","3") ;
Requests.indexRequest()
        .index(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值