spark-avro
spark-avro copied to clipboard
How to convert Avro Schema Object to StructType?
How to convert Avro Schema Object to StructType?
Refer to: https://github.com/databricks/spark-avro/blob/b04cfe807752cde08d171cf6adf774f3795ab64d/src/main/scala/com/databricks/spark/avro/DefaultSource.scala#L94
@gengliangwang Thanks! I code in Java so I had to do something like this. Please let me know if there is any easier way.
import com.databricks.spark.avro.SchemaConverters;
// @param schema: Avro Schema
public static StructType convertSchemaToStructType(Schema schema) {
StructType structType = new StructType();
for (Schema.Field field : schema.getFields()) {
structType.add(field.name(), SchemaConverters.toSqlType(field.schema()).dataType());
}
return structType;
}