Reputation: 529
I have the following schema:
root
|-- id: string (nullable = true)
|-- text: string (nullable = true)
|-- user: string (nullable = true)
How can I create StructType
schema from this String?
I know that I can use .schema()
method in my Dataset but I asking If its possible to create Schema from string.
Upvotes: 0
Views: 385
Reputation: 497
I was need something like that and i wrote a method, this able to creating the schema from string. But you must change this method for your scenario.
val schemaString = "val1#Int val2#String val3#Int"
val schema = StructType(schemaString.split(" ").map(fieldNameTypeStr => {
val fieldNameType = fieldNameTypeStr.split("#")
val dataType: DataType = fieldNameType(1) match {
case "String" => StringType
case "Int" => IntegerType
/* other cases */
}
StructField(fieldNameType(0), dataType, true)
}))
Upvotes: 1