def main(args: Array[String]) {
val session = SparkSession.builder().appName("mydataloader").master("local[*]").getOrCreate()
val jdbcHostname = "myhost.us-east-2.rds.amazonaws.com"
val jdbcPort = 3306
val jdbcDatabase = "dbmane"
val jdbcUsername = "user1"
val jdbcPassword = "password"
val jdbcUrl = "jdbc:mysql://${jdbcHostname}:${jdbcPort}/${jdbcDatabase}"
import java.util.Properties
val connectionProperties = new Properties()
Class.forName("com.mysql.jdbc.Driver")
connectionProperties.put("user", s"${jdbcUsername}")
connectionProperties.put("password", s"${jdbcPassword}")
import java.sql.DriverManager
val connection = DriverManager.getConnection(jdbcUrl, jdbcUsername, jdbcPassword)
println("connected " + connection)
}
Это мой искровой код Scala для подключения к экземпляру mysql RDS.Но я получаю, Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:
Ошибка канала связи
Последний пакет, успешно отправленный на сервер, был 0 миллисекунд назад.Драйвер не получил никаких пакетов от сервера.
Я могу подключиться к нему из моего кода Java, как указано ниже.
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("Where is your MySQL JDBC Driver?");
e.printStackTrace();
return;
}
System.out.println("MySQL JDBC Driver Registered!");
Connection connection = null;
String jdbc_url = "jdbc:mysql://" + "myhost.us-east-2.rds.amazonaws.com" + "/" + "dbmane"
+ "?user=" + "user1" + "&password=" + "password";
try {
connection = DriverManager.getConnection(jdbc_url);
System.out.println("Connected " + connection);
} catch (SQLException e) {
e.printStackTrace();
System.out.println("Connection Failed!:\n" + e.getMessage());
}
Есть помощь по этому поводу?Почему я получаю исключение от подключения Spark-Scala.