中文

Schema 漂移左移:针对类型化 JVM 和 Spark 流水线的策略感知编译时契约

编程语言 2026-04-21 v1

摘要

数据流水线中的模式漂移往往只能在作业触及真实数据时才被发现。类型化 Dataset 层可以弥合部分差距,但需要全面采纳;表级强制系统可以弥合另一部分差距,但仅在针对存储的模式进行写入时起作用。我们提出了一个小型 Scala 3 框架,占据两者之间的空间:它在显式策略下证明生产者到契约的结构兼容性,派生 Spark 模式以来自同一契约类型的类型,同时在写入前对实际 DataFrame 模式进行重新检查。该工具融合了编译时见证与策略感知运行时比较器,添加了一个遗漏了 Spark 内置比较器所忽略的嵌套集合可选性检查,并实现了用于向后和前向兼容字段集的结构子集语义。评估涵盖编译时证明、运行时策略测试、构建路径端到端测试以及两个环境中可重复的基准测试。这是一种狭窄、诚实的机制工具;更广泛的论点是编译时结构契约在实际中交付可衡量的生产力或可靠性,被表述为动机并留待未来工作。

关键词

引用

@article{arxiv.2604.16986,
  title  = {Shift schema drift left: policy-aware compile-time contracts for typed JVM and Spark pipelines},
  author = {Vittal Mirji},
  journal= {arXiv preprint arXiv:2604.16986},
  year   = {2026}
}

备注

7 pages, 2 figures, 1 table. Mechanism artifact paper with reproducible benchmarks. Code at https://github.com/vim89/compile-time-data-contracts