An independent open-source contribution to Capital One’s DataComPy project that proposed a shared compatibility architecture for Spark Classic and Spark Connect. Pull request #548 was closed without merge; a maintainer publicly confirmed that some of the design was incorporated into a separate implementation branch.
Role
Category
Data Engineering
Engineering discipline
PUBLIC DESIGN INFLUENCE
Patrick Ribbsaeter · Independent open-source contribution
Engineering objective
DataComPy comparison paths imported classic PySpark functions and Window classes directly. Spark Connect uses different DataFrame, Column, functions, and window implementations, so otherwise valid comparisons could fail when expressions were built for a remote Connect session without an active local SparkContext.
Constraints
Architecture
Approach
Introduced helpers that select the Spark functions module and Window class from the actual classic or Connect object in use.
Replaced direct classic-function imports throughout SparkSQLCompare with runtime-aware dispatch.
Applied the same compatibility boundary to array, boolean, numeric, and string comparator implementations.
Covered merge, duplicate handling, mismatch reporting, masking, caching, aggregation, and window-expression paths.
Added regression coverage proving that Spark Connect expressions can be constructed without an active local SparkContext.
Published the patch, validation record, and discussion through pull request #548 for upstream review.
Workflow
Technical validation
Observable engineering evidence. Discipline: PUBLIC DESIGN INFLUENCE
Public pull request
#548 · closed, not merged
Maintainer statement
Some design incorporated
Focused tests
34 passed
End-to-end paths
8 passed
Comparator families
4 covered
Spark runtimes
Classic + Connect
Public evidence
Outcome
A DataComPy maintainer publicly confirmed that some of the contribution’s design was incorporated into a separate implementation branch
Spark Classic and Spark Connect compatibility was expressed through one shared runtime-dispatch boundary
Array, boolean, numeric, and string comparator paths were updated consistently
34 focused comparator/helper tests and 8 end-to-end SparkSQLCompare tests were reported passing
Spark Connect regression validation demonstrated expression construction without an active local SparkContext
The public record clearly shows the PR was closed without merge, preserving an accurate evidence boundary
Technologies
Next engineering system
VERCEL AI SDK · OPEN SOURCE
Have an ambitious AI system to build?
I work across AI architecture, product engineering, private inference, automation, SaaS infrastructure, and production hardening.