sql >> Base de Datos >  >> RDS >> Mysql

Spark:falla la lectura de una gran tabla MySQL en DataFrame

Spark JDBC API parece bifurcarse para cargar todos los datos de la tabla MySQL a la memoria sin ella. Entonces, cuando intente cargar una tabla grande, lo que debe hacer es usar primero los datos clonados de Spark API para HDFS (JSON debe usarse para mantener la estructura del esquema), así:

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

Entonces puede trabajar en HDFS normalmente.

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