Delta Lake从架构创建表

时间:2019-10-07 22:17:03

标签: delta-lake

我具有与要创建的表相关联的架构,该架构是从以下代码中的合计架构注册表中提取的:

private val avroSchema = schemaRegistryClient.getLatestSchemaMetadata("topicName").getSchema
private var sparkSchema = SchemaConverters.toSqlType(new Schema.Parser().parse(avroSchema))
sparkSchema=sparkSchema.dataType.asInstanceOf[StructType]

现在,我正在尝试定义一个具有基于此架构的结构的delta湖表。 但是我不确定该怎么做。 任何帮助表示赞赏。

1 个答案:

答案 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”)指定为