Spark JDBC API dường như phân nhánh để tải tất cả dữ liệu từ bảng MySQL vào bộ nhớ mà không cần. Vì vậy, khi bạn cố gắng tải một bảng lớn, điều bạn nên làm là sử dụng dữ liệu sao chép API Spark sang HDFS trước (JSON nên được sử dụng để giữ cấu trúc lược đồ), như sau:
spark.read.jdbc(jdbcUrl, tableName, prop)
.write()
.json("/fileName.json");
Sau đó, bạn có thể làm việc trên HDFS một cách bình thường.
spark.read().json("/fileName.json")
.createOrReplaceTempView(tableName);