用途:为 Gold 层 merge 脚本(Silver → Gold)提供运行时 Schema 校验,确保 DataFrame 列与目标表 DDL 一致,在部署前发现列名、缺失/多余列及类型不匹配问题。核心原则是 DDL(setup 脚本)为运行时事实来源,而非 YAML 设计规格。
主要能力:提供 validate_merge_schema(spark, updates_df, catalog, schema, table_name, raise_on_mismatch=True) 辅助函数,返回 valid、missing_in_df、extra_in_df、type_mismatches;可读取实际表 schema(spark.table(...).schema)并做显式列映射与类型转换。
使用方式:先跑 setup 建表,读取实际 DDL schema,编写 merge 脚本并使用显式 .withColumn() 重命名、.select() 指定列(避免 *),在每次 merge 前调用校验;部署前可运行 python scripts/validate_schema.py <catalog> <gold_schema>。
适用场景:创建 Gold 层 merge 脚本、校验列映射、调试 UNRESOLVED_COLUMN、部署前校验。
限制:资料未提供收费、平台支持范围等细节;实现细节需参见其 references 与 scripts 文件。