Mysql
 sql >> Base de données >  >> RDS >> Mysql

Spark :la lecture d'une grande table MySQL dans DataFrame échoue

L'API Spark JDBC semble bifurquer pour charger toutes les données de la table MySQL dans la mémoire sans. Ainsi, lorsque vous essayez de charger une grande table, vous devez d'abord utiliser les données de clonage de l'API Spark vers HDFS (JSON doit être utilisé pour conserver la structure du schéma), comme ceci :

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

Ensuite, vous pouvez travailler normalement sur HDFS.

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