SqlServerCDC 原始数据获取代码
import com.ververica.cdc.connectors.base.options.StartupOptions;
import com.ververica.cdc.connectors.sqlserver.SqlServerSource;
import com.ververica.cdc.debezium.DebeziumDeserializationSchema;
import com.ververica.cdc.debezium.DebeziumSourceFunction;
import com.ververica.cdc.debezium.JsonDebeziumDeserializationSchema;
import org.apache.flink.api.common.typeinfo.TypeInformation;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.util.Collector;
import org.apache.kafka.connect.source.SourceRecord;
public class Test03 {
public static void main(String[] args) {
new Test03().t1();
}
public void t1(){
DebeziumSourceFunction<String> build = SqlServerSource.<String>builder()
.hostname("xx") // SQL Server 主机名
.port(1433) // SQL Server 端口
.database("flinkcdc") // 数据库名称
.tableList("dbo.xx") // 表名称(格式:schema.table)
.username("xx") // 数据库用户名
.password("xx") // 数据库密码
.deserializer(new DebeziumDeserializationSchema<String>(){
@Override
public void deserialize(SourceRecord sourceRecord,Collector<String> collector) throws Exception {
collector.collect(sourceRecord.toString());
}
@Override
public TypeInformation<String> getProducedType() {
return TypeInformation.of(String.class);
}
})
.startupOptions(StartupOptions.latest())
.build();
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setParallelism(1);
DataStream<String> streamSource = env
.addSource(build, "SQLServer-source")
.setParallelism(1);
streamSource.print();
try {
env.execute("SQLServer-stream-cdc");
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}

浙公网安备 33010602011771号