调整Hbase适配

This commit is contained in:
mcy
2018-10-24 15:40:48 +08:00
parent 741f6310b3
commit 15e79c1400
27 changed files with 366 additions and 186 deletions

View File

@@ -28,6 +28,16 @@
<artifactId>joda-time</artifactId>
<version>2.9.4</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.9</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
</dependencies>
</project>

View File

@@ -1,5 +1,7 @@
package com.alibaba.otter.canal.client.adapter;
import java.util.Map;
import com.alibaba.otter.canal.client.adapter.support.CanalOuterAdapterConfiguration;
import com.alibaba.otter.canal.client.adapter.support.Dml;
import com.alibaba.otter.canal.client.adapter.support.SPI;
@@ -11,7 +13,7 @@ import com.alibaba.otter.canal.client.adapter.support.SPI;
* @version 1.0.0
*/
@SPI("logger")
public interface CanalOuterAdapter {
public interface OuterAdapter {
/**
* 外部适配器初始化接口
@@ -21,11 +23,11 @@ public interface CanalOuterAdapter {
void init(CanalOuterAdapterConfiguration configuration);
/**
* 往适配器中写入数据
* 往适配器中同步数据
*
* @param dml 数据包
*/
void writeOut(Dml dml);
void sync(Dml dml);
// void writeOut(FlatMessage flatMessage);
@@ -33,4 +35,14 @@ public interface CanalOuterAdapter {
* 外部适配器销毁接口
*/
void destroy();
/**
* Etl操作
*
* @param criteriaSql 条件拼接sql
*/
default void etl(String criteriaSql) {
throw new UnsupportedOperationException();
}
}

View File

@@ -1,8 +1,28 @@
package com.alibaba.otter.canal.client.adapter.support;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
public interface AdapterConfigs {
Multimap<String, String> configs = ArrayListMultimap.create();
public class AdapterConfigs {
private static Map<String, Set<String>> configs = new ConcurrentHashMap<>();
public static void put(String key, String value) {
Set<String> values = configs.get(key);
if (values == null) {
values = new LinkedHashSet<>();
}
values.add(value);
configs.put(key, values);
}
public static Set<String> get(String key) {
return configs.get(key);
}
public static void clear() {
configs.clear();
}
}

View File

@@ -0,0 +1,75 @@
package com.alibaba.otter.canal.client.adapter.support;
import com.alibaba.druid.pool.DruidDataSource;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
public class DatasourceConfig {
public final static Map<String, DruidDataSource> DATA_SOURCES = new ConcurrentHashMap<>();
private String driver = "com.mysql.jdbc.Driver";
private String url;
private String database;
private String type = "mysql";
private String username;
private String password;
private Integer maxActive = 3;
public String getDriver() {
return driver;
}
public void setDriver(String driver) {
this.driver = driver;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getDatabase() {
return database;
}
public void setDatabase(String database) {
this.database = database;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Integer getMaxActive() {
return maxActive;
}
public void setMaxActive(Integer maxActive) {
this.maxActive = maxActive;
}
}