Разъем Spark MySQL в java - PullRequest
       6

Разъем Spark MySQL в java

0 голосов
/ 25 апреля 2020

Я хочу подключить свечи и 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 и пароль, все правильно.

Спасибо.

1 Ответ

2 голосов
/ 25 апреля 2020

Проблема, с которой вы столкнулись, может означать, что БД вообще недоступна. Эта проблема может возникать по любой причине: IP-адрес или имя хоста в JDB C URL-адрес неверен, или имя хоста в JDB C URL-адрес не распознается локальным DNS-сервером, либо может отсутствовать номер порта или сервер БД вниз Причин может быть много, поэтому я бы еще раз предложил вам go через ваш подход и все проверял. Подключитесь через терминал и проверьте

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...