我正在尝试使用Flink中的Scala从JDBC源创建数据集,所有文档/其他SO问题似乎都使用Java。我遇到了泛型类型的一些问题。
到目前为止,我有:
val inputFormat = JDBCInputFormat.buildJDBCInputFormat()
.setDrivername(driver)
.setDBUrl(url)
.setUsername(username)
.setPassword(password)
.setQuery("select col_a,col_b from my_table")
.finish()
env.createInput(inputFormat)
这会出错:
error: could not find implicit value for evidence parameter of type org.apache.flink.api.common.typeinfo.TypeInformation[?0]
env.createInput(inputFormat)
我也试过
var tuple = ("",0)
inputFormat.nextRecord(tuple)
哪个错误:
error: type mismatch;
found : (String, Int)
required: ?0
最后我尝试了:
inputFormat.nextRecord(_)
导致:
found : x$1.type (with underlying type ?0)
required: ?0
所以问题是如何使用Scala在Flink中建立JDBC连接/我错在哪里?
答案 0 :(得分:2)
解决第一个问题:
error: could not find implicit value for evidence parameter of type org.apache.flink.api.common.typeinfo.TypeInformation[?0]
env.createInput(inputFormat)
您需要添加以下导入语句
import org.apache.flink.api.scala._