版本:Flink1.18.0
代码:“`
public static void main(String[] args) {
//1、创建TableEnvironment
EnvironmentSettings settings = EnvironmentSettings.newInstance().build();
TableEnvironment tEnv = TableEnvironment.create(settings);
//2、创建source table
Schema schema = Schema.newBuilder()
.column("user",DataTypes.STRING())
.column("url",DataTypes.STRING())
.column("cTime", DataTypes.STRING())
.build();
tEnv.createTemporaryTable( "sourceTable", TableDescriptor.forConnector("jdbc")
.schema(schema)
.option("url","jdbc:mysql://xxxxxx:3306/flink")
.option("driver","com.mysql.jdbc.Driver")
.option("table-name","clicklog")
.option("username","xxx")
.option("password","xxxx")
.build()
);
//3、创建sink table
tEnv.createTemporaryTable("sinkTable",
TableDescriptor.forConnector("print").schema(schema).build());
//4、执行sql查询
Table resultTable = tEnv.sqlQuery(" select user,url,cTime from sourceTable ");
//5、输出
resultTable.executeInsert("sinkTable");
}
“`
自己的做法:已经将jdbc和mysql连接器对应的jar包传到flink集群下的lib目录,且重启了集群服务,pom文件也引入了依赖,然后运行以上代码报错,错误信息如下:
网上有说是缺少flink-shaded-guava依赖,pom文件尝试添加后又报guava31的类找不到错误,以下是我的尝试:
个人感觉跟pom依赖关系不大,因为我不运行代码而是直接在flink的sql 客户端建立外部连接后执行一个简单的查询也是报类似错误,请问是什么原因呢,请大佬指点指定
本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/17497.html