Я хочу подключить свечи и MySQL. Я попробовал следующий код:
public class Get_Data_From_MySQL implements Serializable {
private static final org.apache.log4j.Logger LOGGER = org.apache.log4j.Logger.getLogger(Get_Data_From_MySQL.class);
private static final String MYSQL_CONNECTION_URL = "jdbc:mysql://localhost:3306/test";
private static final String MYSQL_USERNAME = "root";
private static final String MYSQL_PWD = "";
private static final SparkSession sparkSession =
SparkSession.builder().master("local[*]").appName("Spark2JdbcDs").getOrCreate();
public static void main(String[] args) {
//JDBC connection properties
final Properties connectionProperties = new Properties();
connectionProperties.put("user", MYSQL_USERNAME);
connectionProperties.put("password", MYSQL_PWD);
connectionProperties.put("driver", "com.mysql.jdbc.Driver");
final String dbTable =
"(select age from employe";
//Load MySQL query result as Dataset
Dataset<Row> jdbcDF =
sparkSession.read()
.jdbc(MYSQL_CONNECTION_URL, dbTable, "age", 10001, 499999, 10, connectionProperties);
Я получаю эту ошибку:
Exception in thread "main" java.sql.SQLException: Communication link failure: Mauvais 'handshake'
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:659)
в этой строке:
Dataset<Row> jdbcDF =sparkSession.read().jdbc(MYSQL_CONNECTION_URL, dbTable, "age", 10001, 499999, 10, connectionProperties);
Я проверил пользователя MySQL и пароль, все правильно.
Спасибо.