вы можете определить «пользовательскую схему» при чтении как
val schema = StructType(
StructField("field1", StringType, true) ::
StructField("field2", IntegerType, true) :: Nil
)
val df = spark.read.format("csv")
.option("sep", ",")
.option("header", "false")
.schema(schema)
.load("examples/src/main/resources/people.csv")
, также вы можете игнорировать часть схемы, которая в конечном итоге будет иметь имена по умолчанию (не является предпочтительной)
val df = spark.read.format("csv")
.option("sep", ",")
.option("header", "false")
.load("examples/src/main/resources/people.csv")
+-----+-----+
| _c0| _c1|
+-----+-----+
| Bob| 32 |
| .. | ... |
+-----+-----+
с этим вы можете заполнить имена столбцов в вашем spark-sql.