Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Spark:Das Lesen einer großen MySQL-Tabelle in DataFrame schlägt fehl

Die Spark-JDBC-API scheint sich zu verzweigen, um alle Daten aus der MySQL-Tabelle ohne in den Speicher zu laden. Wenn Sie also versuchen, eine große Tabelle zu laden, sollten Sie zuerst Spark-API-Klondaten in HDFS verwenden (JSON sollte verwendet werden, um die Schemastruktur beizubehalten), wie folgt:

spark.read.jdbc(jdbcUrl, tableName, prop)
       .write()
       .json("/fileName.json");

Dann können Sie stattdessen normal mit HDFS arbeiten.

spark.read().json("/fileName.json")
       .createOrReplaceTempView(tableName);