
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-09-21 · 当前星标 ★ 3656
技术标签
使用教程
环境要求
- Java 11(Deequ 2.1.0 及以后版本要求;2.0.x 版本要求 Java 8)
- Apache Spark(需选择与 Deequ 构件后缀匹配的版本,如 Spark 3.5.x)
- 构建工具:Maven 或 sbt
- Scala 2.12(较新 Spark 版本使用;Spark 2.2.x/2.3.x 使用 Scala 2.11)
安装与启动步骤
-
1确认 Spark 版本
先确认你的应用使用的 Apache Spark 版本,再据此挑选后缀匹配的 Deequ 构件,版本不匹配会导致运行失败。
-
2选择 Deequ 版本
从 Maven 中央仓库的 deequ 可用版本列表中,选择与 Spark 版本后缀一致的最新 Deequ 2.x 发布版。
-
3添加 Maven 依赖
在 Maven 项目的 pom.xml 中加入 deequ 依赖,artifactId 为 deequ,version 后缀需与 Spark 版本对应。
<dependency> <groupId>com.amazon.deequ</groupId> <artifactId>deequ</artifactId> <version>2.0.21-spark-3.5</version> </dependency> -
4或添加 sbt 依赖
如果使用 sbt 项目,在 build.sbt 中用 libraryDependencies 声明同版本依赖,效果与 Maven 一致。
libraryDependencies += "com.amazon.deequ" % "deequ" % "2.0.21-spark-3.5" -
5在 Spark 作业中调用
重新加载依赖后,在基于 Spark 的 Scala 项目中导入 com.amazon.deequ 相关类,即可定义数据质量约束并执行校验。
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
groupId | 是 | Maven 坐标组织名,固定为 com.amazon.deequ | com.amazon.deequ |
artifactId | 是 | Maven 坐标构件名,固定为 deequ | deequ |
version | 是 | Deequ 版本,后缀必须与所用 Spark 版本匹配 | 2.0.21-spark-3.5 |
如何确认成功
项目能成功解析 com.amazon.deequ:deequ 依赖并编译,运行 Spark 作业时可正常导入 Deequ 类,无版本冲突报错。
常见问题
Q:应该选哪个 Deequ 版本?
A:版本后缀必须与应用的 Spark 版本一致,例如 Spark 3.1.x 用 -spark-3.1、Spark 3.5.x 用 -spark-3.5;Spark 3.0.x 及更早需用 Deequ 1.x。
Q:Java 版本有什么要求?
A:Deequ 2.1.0 及以后版本要求 Java 11,较早的 2.0.x 版本要求 Java 8,选错会无法运行。
Q:Scala 版本怎么选?
A:Spark 2.2.x 和 2.3.x 的 Deequ 发布版使用 Scala 2.11,后续支持的 Spark 版本使用 Scala 2.12。
Q:Python 用户怎么用?
A:可以使用 PyDeequ,它是 Deequ 的 Python 接口,在 GitHub、readthedocs 和 PyPI 上均可获取。
注意事项
- 不要臆造依赖版本,务必到 Maven 中央仓库 deequ 的 available versions 页面挑选与 Spark 匹配的最新发布版。
- Spark 3.0 的支持维护在 legacy-spark-3.0 分支。
- Deequ 构建在 Apache Spark 之上,属于库/依赖,不是独立可执行服务,需集成进你的 Spark 项目使用。
核心亮点
- 约束即代码,可像单元测试一样在 CI/调度中自动执行并失败告警
- 基于 Spark 分布式计算,支持全量扫描而非抽样,适合 TB 级数据
- 内置异常检测,可对比历史指标发现数据分布漂移,而非只看固定阈值
不足之处
- 强依赖 Spark 与 Scala 生态,非 Spark 技术栈团队接入成本高
- 约束与指标配置偏代码化,缺少开箱即用的可视化界面,运维门槛较高
适用场景
- ETL/ELT 管道入仓前的数据质量门禁
- 数据仓库表的主键唯一性、非空与取值域巡检
- 机器学习特征表的分布漂移监控与告警
替代项目
Great Expectations、Soda Core
上一篇:freebucks-proxy
下一篇:devito
同类项目推荐
sagemaker-genai-hosting-examples
开源
照着 Notebook 跑通大模型托管与推理
comfyui-api
开源
把 ComfyUI 封装成高并发 API,同步异步都能拿结果
A simple API server to make ComfyUI easy to scale horizontally. Get outputs directly···
VectorCode
开源
给代码建索引,让 LLM 更懂你的仓库
A code repository indexing tool to supercharge your LLM experience.
mosec
开源
动态批处理+流水线,榨干GPU,提升模型服务吞吐量
A high-performance ML model serving framework, offers dynamic batching and CPU/GPU p···
rainbond
开源
一键把 AI 项目跑在 Kubernetes 上,自动运维不折腾
Rainbond is an open-source container platform that requires no Kubernetes expertise.···
lupine
开源
让无GPU的电脑用上远程显卡,跑AI应用像本地一样
LUPINE is a GPU over IP bridge allowing GPUs on remote machines to be attached to CP···
velobase-harness
开源
把 AI 原型一键变成能收费的 SaaS
All AI developers deserve to get paid. Turn your AI prototype into a paid SaaS with···
split-lang
开源
一句话拆开混合语言,让 NLP 更精准
✨ Split text by languages (e.g. 你喜欢看アニメ吗 -> 你喜欢看 | アニメ | 吗) for NLP···
VidCom2
开源
给视频大模型视觉 token 瘦身,推理更快还不掉点
[EMNLP 2025 Main] Video Compression Commander: Plug-and-Play Inference Acceleration ···