Excepción de chispa al convertir una tabla MySQL a parquet

Estoy tratando de convertir una tabla remota de MySQL en un archivo de parquet usando spark 1.6.2.

El proceso se ejecuta durante 10 minutos, llenando la memoria, que comienza con estos mensajes:

WARN NettyRpcEndpointRef: Error sending message [message = Heartbeat(driver,[Lscala.Tuple2;@dac44da,BlockManagerId(driver, localhost, 46158))] in 1 attempts
org.apache.spark.rpc.RpcTimeoutException: Futures timed out after [10 seconds]. This timeout is controlled by spark.executor.heartbeatInterval

al final falla con este error:

ERROR ActorSystemImpl: Uncaught fatal error from thread [sparkDriverActorSystem-scheduler-1] shutting down ActorSystem [sparkDriverActorSystem]
java.lang.OutOfMemoryError: GC overhead limit exceeded

Lo estoy ejecutando en un spark-shell con estos comandos:

spark-shell --packages mysql:mysql-connector-java:5.1.26 org.slf4j:slf4j-simple:1.7.21 --driver-memory 12G

val dataframe_mysql = sqlContext.read.format("jdbc").option("url", "jdbc:mysql://.../table").option("driver", "com.mysql.jdbc.Driver").option("dbtable", "...").option("user", "...").option("password", "...").load()

dataframe_mysql.saveAsParquetFile("name.parquet")

Tengo límites para la memoria máxima del ejecutor a 12G. ¿Hay alguna manera de forzar la escritura del archivo de parquet en fragmentos "pequeños" liberando memoria?

Respuestas a la pregunta(1)

Su respuesta a la pregunta