Spark JDBC API wydaje się rozgałęziać, aby załadować wszystkie dane z tabeli MySQL do pamięci bez. Więc kiedy próbujesz załadować dużą tabelę, powinieneś najpierw użyć danych klonu Spark API do HDFS (JSON powinien być używany do zachowania struktury schematu), w ten sposób:
spark.read.jdbc(jdbcUrl, tableName, prop)
.write()
.json("/fileName.json");
Wtedy możesz normalnie pracować na HDFS.
spark.read().json("/fileName.json")
.createOrReplaceTempView(tableName);