我具有与要创建的表相关联的架构,该架构是从以下代码中的合计架构注册表中提取的:
private val avroSchema = schemaRegistryClient.getLatestSchemaMetadata("topicName").getSchema
private var sparkSchema = SchemaConverters.toSqlType(new Schema.Parser().parse(avroSchema))
sparkSchema=sparkSchema.dataType.asInstanceOf[StructType]
现在,我正在尝试定义一个具有基于此架构的结构的delta湖表。 但是我不确定该怎么做。 任何帮助表示赞赏。
答案 0 :(得分:0)
在Scala中,您可以使用以下内容:
用于定义模式
val customSchema =
StructType(
Array(
StructField("col1", StringType, true),
StructField("col2", StringType, true),
StructField("col3", StringType, true)
)
)
用于从架构中读取表
val DF =
spark.read.format("csv")
.option("delimiter","\t") //use a proper delimiter
.schema(customSchema)
.load("path")
在将表写入特定位置时,您可以将.format(“ delta”)指定为