mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
@@ -75,8 +75,8 @@ public class ESAdapter implements OuterAdapter {
|
|||||||
// 过滤不匹配的key的配置
|
// 过滤不匹配的key的配置
|
||||||
esSyncConfigTmp.forEach((key, config) -> {
|
esSyncConfigTmp.forEach((key, config) -> {
|
||||||
if ((config.getOuterAdapterKey() == null && configuration.getKey() == null)
|
if ((config.getOuterAdapterKey() == null && configuration.getKey() == null)
|
||||||
|| (config.getOuterAdapterKey() != null && config.getOuterAdapterKey()
|
|| (config.getOuterAdapterKey() != null
|
||||||
.equalsIgnoreCase(configuration.getKey()))) {
|
&& config.getOuterAdapterKey().equalsIgnoreCase(configuration.getKey()))) {
|
||||||
esSyncConfig.put(key, config);
|
esSyncConfig.put(key, config);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -98,13 +98,9 @@ public class ESAdapter implements OuterAdapter {
|
|||||||
}
|
}
|
||||||
String schema = matcher.group(2);
|
String schema = matcher.group(2);
|
||||||
|
|
||||||
schemaItem.getAliasTableItems()
|
schemaItem.getAliasTableItems().values().forEach(tableItem -> {
|
||||||
.values()
|
Map<String, ESSyncConfig> esSyncConfigMap = dbTableEsSyncConfig
|
||||||
.forEach(tableItem -> {
|
.computeIfAbsent(schema + "-" + tableItem.getTableName(), k -> new HashMap<>());
|
||||||
Map<String, ESSyncConfig> esSyncConfigMap = dbTableEsSyncConfig.computeIfAbsent(schema
|
|
||||||
+ "-"
|
|
||||||
+ tableItem.getTableName(),
|
|
||||||
k -> new HashMap<>());
|
|
||||||
esSyncConfigMap.put(configName, config);
|
esSyncConfigMap.put(configName, config);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -140,8 +136,10 @@ public class ESAdapter implements OuterAdapter {
|
|||||||
String database = dml.getDatabase();
|
String database = dml.getDatabase();
|
||||||
String table = dml.getTable();
|
String table = dml.getTable();
|
||||||
Map<String, ESSyncConfig> configMap = dbTableEsSyncConfig.get(database + "-" + table);
|
Map<String, ESSyncConfig> configMap = dbTableEsSyncConfig.get(database + "-" + table);
|
||||||
|
if (configMap != null) {
|
||||||
esSyncService.sync(configMap.values(), dml);
|
esSyncService.sync(configMap.values(), dml);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public EtlResult etl(String task, List<String> params) {
|
public EtlResult etl(String task, List<String> params) {
|
||||||
|
|||||||
@@ -115,8 +115,10 @@ public class HbaseAdapter implements OuterAdapter {
|
|||||||
String database = dml.getDatabase();
|
String database = dml.getDatabase();
|
||||||
String table = dml.getTable();
|
String table = dml.getTable();
|
||||||
Map<String, MappingConfig> configMap = mappingConfigCache.get(destination + "." + database + "." + table);
|
Map<String, MappingConfig> configMap = mappingConfigCache.get(destination + "." + database + "." + table);
|
||||||
|
if (configMap != null) {
|
||||||
configMap.values().forEach(config -> hbaseSyncService.sync(config, dml));
|
configMap.values().forEach(config -> hbaseSyncService.sync(config, dml));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public EtlResult etl(String task, List<String> params) {
|
public EtlResult etl(String task, List<String> params) {
|
||||||
|
|||||||
@@ -30,14 +30,14 @@ import com.google.common.collect.Lists;
|
|||||||
*/
|
*/
|
||||||
public class KafkaCanalConnector implements CanalMQConnector {
|
public class KafkaCanalConnector implements CanalMQConnector {
|
||||||
|
|
||||||
private KafkaConsumer<String, Message> kafkaConsumer;
|
protected KafkaConsumer<String, Message> kafkaConsumer;
|
||||||
private KafkaConsumer<String, String> kafkaConsumer2; // 用于扁平message的数据消费
|
protected KafkaConsumer<String, String> kafkaConsumer2; // 用于扁平message的数据消费
|
||||||
private String topic;
|
protected String topic;
|
||||||
private Integer partition;
|
protected Integer partition;
|
||||||
private Properties properties;
|
protected Properties properties;
|
||||||
private volatile boolean connected = false;
|
protected volatile boolean connected = false;
|
||||||
private volatile boolean running = false;
|
protected volatile boolean running = false;
|
||||||
private boolean flatMessage;
|
protected boolean flatMessage;
|
||||||
|
|
||||||
private Map<Integer, Long> currentOffsets = new HashMap<>();
|
private Map<Integer, Long> currentOffsets = new HashMap<>();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user