flink1.16.0适配elasticsearch-8 connector 心得
来源:github flink暂时未合并es8源码
https://github.com/apache/flink-connector-elasticsearch/pull/53/files
环境:flink 1.16.0 + jdk 1.8
要点一:OperationSerializer.java
使用的是kryo格式的序列化和反序列化,如果数据源是json,需要调整序列化方法
要点二:NetworkConfigFactory.java
需要在这儿自定义esClient,根据自身环境设置设置es的header 、认证、ssl等
注:这里不要默认header (“Content-Type”, “application/json”)
要点三:需要Operation和Elasticsearch8SinkBuilder做微调,见下图

总结
好了,整体的调整部分就是这样了,接下来就是测试了 ,可与参考test/下的Elasticsearch8SinkTest
我这里也有一个kafka2es的例子给大家参考
package org.apache.flink.connector.elasticsearch.sink;

本文介绍了在Flink1.16.0环境中适配Elasticsearch8的连接器时的关键步骤,包括在OperationSerializer中调整序列化方法、自定义NetworkConfigFactory以配置ES客户端的认证和SSL,以及在Elasticsearch8SinkBuilder中构建bulkOperation。同时,文章提供了一个从Kafka到Elasticsearch的数据流转换示例。

602

被折叠的 条评论
为什么被折叠?



