1.mysql连接
//t1只有一列a int型
TypeInformation[] fieldTypes =new TypeInformation[]{
BasicTypeInfo.INT_TYPE_INFO
};
RowTypeInfo rowTypeInfo =new RowTypeInfo(fieldTypes);
JDBCInputFormat jdbcInputFormat = JDBCInputFormat.buildJDBCInputFormat()
.setDrivername("com.mysql.jdbc.Driver")
.setDBUrl("jdbc:mysql://localhost/test1")
.setUsername("root")
.setPassword("123456")
.setQuery("select * from t1")
.setRowTypeInfo(rowTypeInfo)
.finish();
2.flink sql
final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
DataSource s = env.createInput(jdbcInputFormat); //datasource
BatchTableEnvironment tableEnv =new BatchTableEnvironment(env, TableConfig.DEFAULT());
tableEnv.registerDataSet("t2", s, "a");
tableEnv.sqlQuery("select * from t2").printSchema();
Table query = tableEnv.sqlQuery("select * from t2").where("a > 1");
DataSet result = tableEnv.toDataSet(query, Row.class);
result.print();
System.out.println(s.count());
3.dependency
UTF-8
1.7.0
1.8
2.11
${java.version}
${java.version}
org.apache.flink
flink-java
${flink.version}
org.apache.flink
flink-scala_${scala.binary.version}
${flink.version}
org.apache.flink
flink-jdbc_${scala.binary.version}
${flink.version}
org.apache.flink
flink-streaming-java_${scala.binary.version}
${flink.version}
provided
org.apache.flink
flink-table_${scala.binary.version}
1.7.0
org.apache.flink
flink-connector-kafka-0.10_${scala.binary.version}
${flink.version}
mysql
mysql-connector-java
5.1.46
org.slf4j
slf4j-log4j12
1.7.7
runtime
log4j
log4j
1.2.17
runtime