¿Cómo crear un esquema a partir de un archivo CSV y conservar / guardar ese esquema en un archivo?

Tengo un archivo CSV con 10 columnas. La mitad de la cuerda y la mitad son enteros.

¿Cuál es el código Scala para:

Crear (inferir) el esquemaGuardar ese esquema en un archivo

Tengo esto hasta ahora:

import org.apache.spark.sql.SQLContext

val sqlContext = new SQLContext(sc)
val df = sqlContext.read
    .format("com.databricks.spark.csv")
    .option("header", "true") // Use first line of all files as header
    .option("inferSchema", "true") // Automatically infer data types
    .load("cars.csv")

¿Y cuál es el mejor formato de archivo para guardar ese esquema? ¿Es JSON?

El objetivo es: quiero crear un esquema solo una vez y la próxima vez que cargue desde un archivo en lugar de volver a crearlo sobre la marcha.

Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta