#scala #bigdata
Вопрос:
У меня есть содержимое файла csv, как показано ниже —
id,Integer,nullable
name,String,non-nullable
doj,Date,nullable
Я хочу использовать эту схему при чтении/загрузке таблицы в Scala.
В настоящее время мы знаем, что создание StructType(Array(StructField(...)))
в коде работает, например.
import org.apache.spark.sql.types._
val customSchema = StructType(Array(
StructField("id", IntegerType, true),
StructField("name", String, false),
StructField("doj",Date, true)) )
val pagecount = sqlContext.read.format("csv").option("delimiter"," ").option("quote","")
.option("header", "true")
.schema(customSchema) .load("hdfs://file_location/file.csv")
Существует возможность —
.option("inferSchema", "true")
но мы явно хотим загрузить его из csv-файла, чтобы повторно использовать код.