Приложение FLink - интерфейс для MySql и MongoDb

0

Это сообщение помечено для удаления, поскольку проблема связана с тем, что среда IDE не создает надлежащую банку, поэтому проблемы с взаимодействием кода


У меня есть небольшое приложение flink, которое читает из темы kafka, необходимо запросить, если вход из темы (x) существует в столбце базы данных MySql перед ее обработкой (Not Ideal, но его текущее требование)

Когда я запускаю приложение через 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) Каков правильный способ взаимодействия с MySql Database из приложения flink?

2) Я также на более позднем этапе должен выполнить аналогичное взаимодействие с MongoDB, каков правильный способ взаимодействия с MongoDB от FLink?

Теги:
intellij-idea

1 ответ

1

Невероятный IntelliJ не обновляет зависимости от команды rebuild.

В IntelliJ вам необходимо удалить и повторно настроить создателя артефакта для всех зависимостей. (Build, Clean, Rebuild, Delete) не обновляет свои настройки.

Я удалил и воссоздал файл артефакта. И он работает извинения за ненужные неудобства (как вы можете себе представить мое разочарование). Но это слово предостережения для тех, кто развивается в IntelliJ, вручную удалять и воссоздавать артефакты

Решение: (Файл → Структура проекта → Артефакты → (-) удалить предыдущий → (+) создать новый → Выбрать главный класс)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню