flink-clients_2.11
1.12.2
org.apache.flink
flink-table-api-java-bridge_2.11
1.12.2
org.apache.flink
flink-table-common
1.12.2
org.apache.flink
flink-table-planner_2.11
1.12.2
org.apache.flink
flink-table-planner-blink_2.11
1.12.2
org.apache.flink
flink-table-planner-blink_2.11
1.12.2
test-jar
com.alibaba.ververica
flink-connector-mysql-cdc
1.2.0
org.apache.hudi
hudi-flink-bundle_2.11
0.9.0
mysql
mysql-connector-java
5.1.49
我们通过构建查询insert into t2 select replace(uuid(),'-',''),id,name,description,now() from mysql_binlog
将创建的mysql表,插入到hudi里。
package name.lijiaqi;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.table.api.EnvironmentSettings;
import org.apache.flink.table.api.SqlDialect;
import org.apache.flink.table.api.TableResult;
import org.apache.flink.table.api.bridge.java.StreamTableEnvironment;
public class MysqlToHudiExample {
public static void main(String[] args) throws Exception {
EnvironmentSettings fsSettings = EnvironmentSettings.newInstance()
.useBlinkPlanner()
.inStreamingMode()
.build();
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setParallelism(1);
StreamTableEnvironment tableEnv = StreamTableEnvironment.create(env, fsSettings);
tableEnv.getConfig().setSqlDialect(SqlDialect.DEFAULT);
// 数据源表
String sourceDDL =
“CREATE TABLE mysql_binlog (\n” +
" id INT NOT NULL,\n" +
" name STRING,\n" +
" description STRING\n