SeaTunnel 2.1.2的源码解析(3)seatunnel-connectors-flink-es\kafka
本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接:https://github.com/weopenprojects/WeOpen-Star
SeaTunnel 是一个简单易用的数据集成框架,在企业中,由于开发时间或开发部门不通
用,往往有多个异构的、运行在不同的软硬件平台上的信息系统同时运行。数据集成是把
不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的
数据共享。
提示:以下是本篇文章正文内容,下面源码分析可供参考,如有出错请指正!
一、seatunnel-connectors-flink-elasticsearch6/7
1.总览
2.源码分析
ES7-ElasticsearchOutputFormat 部分源码如下:
@Override
public void configure(Configuration configuration) {
List<String> hosts = config.getStringList(HOSTS);
Settings.Builder settings = Settings.builder();
config.entrySet().forEach(entry -> {
String key = entry.getKey();
Object value = entry.getValue().unwrapped();
if (key.startsWith(PREFIX)) {
settings.put(key.substring(PREFIX.length()), value.toString());
}
});
TransportClient transportClient = new PreBuiltTransportClient(settings.build());
//hosts:连接到的 Elasticsearch 集群主机列表
for (String host : hosts) {
try {
transportClient.addTransportAddresses(new TransportAddress(InetAddress.getByName(host.split(":")[0])