使用Databricks Auto Loader进行架构管理和漂移场景
1. 架构跟踪和管理
Databricks Auto Loader (AL) 通过指定位置目录路径来追踪架构版本、元数据和输入数据随时间的变化。这些功能对于追踪数据血统的历史非常有用,并且与Delta Lake事务日志的 DESCRIBE HISTORY
和时间旅行功能紧密集成。
默认情况下(对于JSON、CSV和XML文件格式),AL会将所有列的数据类型推断为字符串,包括嵌套字段。这里展示了AL存储架构版本的目录结构。这些文件可以通过Spark DataFrame API进行读取。
架构仓库
val rawAlDf = (spark
.readStream
.format("cloudfiles")
.option("cloudFiles.format", "json")
.option("cloudFiles.schemaLocation", repoSchemaPath) // schema history tracking
.load(jsonSchema1Path)
)
rawAlDf.printSchema
display(rawAlDf.limit(10))
display(dbutils.fs.ls(repoSchemaPath + "/_schemas"))
架构元数据
架构元数据可以通过以下方式查看:
display(s