You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scala Spark如何判断DataFrame Schema是否包含另一Schema并返回缺失字段

DataFrame Schema嵌套包含校验方案

核心目标:校验指定的基准DataFrame Schema是否完整覆盖待查找Schema的全部字段,若存在未覆盖的字段则返回所有缺失项。方案同时支持简单扁平Schema、多层嵌套复杂Schema,核心逻辑通过递归函数实现。

示例Schema定义

复杂嵌套基准Schema

val structureSchema = new StructType()
.add("name",new StructType()
  .add("firstname",StringType)
  .add("middlename",StringType)
  .add("lastname",StringType))
.add("address",new StructType()
  .add("current",new StructType()
    .add("state",StringType)
    .add("city",StringType)))

待查找Schema

val structureSchemaToFind = new StructType()
  .add("name",new StructType()
    .add("firstname",StringType)
    .add("middlename",StringType))
  .add("country",new StructType()
    .add("city",StringType))
  .add("age",IntegerType)

预期校验结果

针对上述示例,最终返回的缺失字段为基准Schema中不存在的两类字段:

  • 顶层普通字段age
  • 嵌套结构字段country及其子字段city

内容的提问来源于stack exchange,提问作者Azo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 23:46:03