Подключение к базе через Apache spark на java
Как подключиться к базе данных через spark sql?
Как я понял из того что есть в интернете это должно выглядить примерно так:
Dataset<Row> response = dataFrameReader.jdbc("jdbc:mysql://localhost:3306/test","actor",new Properties());
Но при этом выходит ошибка
Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Client does not support authentication protocol requested by server; consider upgrading MySQL client
Вот мои dependency
group 'jameslee'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'eclipse'
sourceCompatibility = 11
idea {
project {
jdkName = '11'
languageLevel = '14'
}
}
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.apache.spark', name: 'spark-core_2.10', version: '2.0.0'
compile group: 'org.apache.spark', name: 'spark-sql_2.10', version: '2.1.0'
compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.13'
compile group: 'org.springframework.boot', name: 'spring-boot-starter-jdbc', version: '2.3.3.RELEASE'
}
jar {
zip64 true
archiveName = "StackOverFlowSurvey-spark.jar"
from {
configurations.compile.collect {
it.isDirectory() ? it : zipTree(it)
}
}
manifest {
attributes 'Main-Class': 'com.sparkTutorial.sparkSql.StackOverFlowSurvey'
}
exclude 'META-INF/*.RSA', 'META-INF/*.SF', 'META-INF/*.DSA'
}
Ответы (1 шт):
Автор решения: Sanzhar Sarsekov
→ Ссылка
Я у меня оказывается была ошибка из за версии mysql-connecter, так получается что при подключении MySql 5-ой версии и ниже выходит ошибка с подключением. Надо было просто поменять на 8-ую версию