Spark JDBC API verkar klaffa för att ladda all data från MySQL-tabellen till minnet utan. Så när du försöker ladda en stor tabell, vad du bör göra är att använda Spark API-klondata till HDFS först (JSON bör användas för att behålla schemastrukturen), så här:
spark.read.jdbc(jdbcUrl, tableName, prop)
.write()
.json("/fileName.json");
Då kan du arbeta på HDFS istället som vanligt.
spark.read().json("/fileName.json")
.createOrReplaceTempView(tableName);