gpt4 book ai didi

mysql - FLink 应用程序 - MySql 和 MongoDb 的接口(interface)

转载 作者:行者123 更新时间:2023-11-29 10:18:30 25 4
gpt4 key购买 nike

这篇文章被标记为删除,因为问题在于 IDE 未创建正确的 jar,因此代码交互出现问题

<小时/>

我有一个小型的 flink 应用程序,它从 kafka 主题中读取数据,在处理之前需要查询主题 (x) 的输入是否存在于 MySql 数据库的列中(不理想,但这是当前的要求)

当我通过 IDE (Intellij) 运行应用程序时 -> 它可以工作。但是,当我将作业提交到flink服务器时,它无法打开基于驱动程序的连接

Flink 服务器错误

// ERROR
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)

// ---------------------
// small summary of MAIN
// ---------------------
Get Data from Source (x)
source.map(x => {
// open connection (Fails to open)
// check if data exist in db
})


// -------------------------------------
// open connection function (Scala Code)
// -------------------------------------
def openConnection() : Boolean = {

try {
// - set driver
Class.forName("com.mysql.jdbc.Driver")
// - make the connection
connection = DriverManager.getConnection(url, user, pswd)
// - set status controller
connection_open = true
}
catch {
// - catch error
case e: Throwable => e.printStackTrace
// - set status controller
connection_open = false
}

// return result
return connection_open
}

问题

1) 从 flink 应用程序连接到 MySql 数据库的正确方法是什么?

2)我稍后也必须与 MongoDB 进行类似的交互,从 FLink 与 MongoDB 交互的正确方法是什么?

最佳答案

Unbelievable IntelliJ does not update dependencies on rebuild command.

在 IntelliJ 中,您必须删除并重新设置工件创建器才能添加所有依赖项。 (构建、清理、重建、删除)不会更新其设置。

我删除并重新创建了工件文件。它有效对于不必要的不​​便,我们深表歉意(你可以想象我的沮丧)。但对于那些在 IntelliJ 中开发的人来说,手动删除并重新创建工件是一个警告

解决方案: (文件 -> 项目结构 -> 工件 -> (-) 删除前一个 -> (+) 创建新的 -> 选择主类)

关于mysql - FLink 应用程序 - MySql 和 MongoDb 的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49754053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com