class MySOurceMysql extends RichSourceFunction[String]{
var conn: Connection =null
var ps: PreparedStatement =null
override def open(parameters: Configuration): Unit ={
// Driver
Class.forName("com.mysql.jdbc.Driver")
conn= DriverManager.getConnection("jdbc:mysql://hdp1:3306/1912b", "root", "root")
ps= conn.prepareStatement("select * from t_zk1")
}
override def close(): Unit ={
conn.close()
ps.close()
}
override def run(sourceContext: SourceFunction.SourceContext[String]): Unit = {
val rs: ResultSet = ps.executeQuery()
while (rs.next()){
val s1: String = rs.getString(1)
val s2: String = rs.getString(2)
sourceContext.collect(s1+","+s2)
}
rs.close()
}
override def cancel(): Unit = ???
}
flinkaddsource
于 2022-06-22 14:51:16 首次发布
本文档详细介绍了如何使用MySourceFunction扩展类从MySQL数据库获取数据,并通过RichSourceFunction处理和收集数据。重点展示了连接配置、查询执行和资源关闭的方法。
4959

被折叠的 条评论
为什么被折叠?



