1.Deequ简介
Deequ是AWS实验室开发的一款开源数据质量监控工具,它构建在Apache Spark之上,主要用于大规模数据集的质量验证。Deequ允许用户定义"数据质量约束",并自动计算指标来验证这些约束是否得到满足,从而帮助数据工程师和分析师确保其数据的正确性和完整性。
在数据从数据源抽取、转换并加载到数据仓库的ETL过程中,Deequ可以嵌入其中,对每一步的数据进行质量检查。例如,在数据抽取后检查数据的完整性,在转换过程中检查数据的一致性和准确性,确保只有符合质量要求的数据才能进入数据仓库,避免错误数据对后续数据分析和决策的影响。
2.探查字段
Spark流水线数据探查组件采用Deequ实现,可将任意节点输出的DataFrame数据集进行数据探查,字段如下:
| 字段名 | 含义 | 类型 | 备注 |
|---|---|---|---|
| columnName | 分析的列名 | StringType | 所有类型字段 |
| completeness | 该列的完整性,取值范围在 0 到 1 之间,1 代表无缺失值。 | DoubleType | 所有类型字段 |
| approximateNumDistinctValues | 该列不同值的近似数量 | LongType | 所有类型字段 |
| dataType | 该列的数据类型 | StringType | 所有类型字段 |
| typeCounts | 键为数据类型名称,值为该类型在列中出现的次数。 | MapType(StringType, LongType) | 所有类型字段 |
| minimum | 该列的最大值 | DoubleType | 整形类型字段 |
| maximum | 该列的最小值 | DoubleType | 整形类型字段 |
| mean | 该列的平均值 | DoubleType | 整形类型字段 |
| sum | 该列所有值的总和 | DoubleType | 整形类型字段 |
| stdDev | 该列的标准差 | DoubleType | 整形类型字段 |
| approxPercentiles | 该列的近似分位数 | StringType | 整形类型字段 |
| minLength | 字符串列中最短字符串的长度 | IntegerType | 字符类型字段 |
| maxLength | 字符串列中最长字符串的长度 | IntegerType | 字符类型字段 |
3. 集成演示
3.1 创建任务
入口:通过顶部菜单栏选择 任务开发,或通过快捷入口 快速创建任务。
任务类型:选择
SparkPipeline。
3.2 配置任务
点击任务名称,进入任务详情页。任务节点如下
使用MockData节点生成100条测试数据
使用DataProfiling探索数据
最后通过TableShow对探索结果可视化展示

3.3 运行任务
点击 运行 按钮启动任务


🔗 平台体验地址:DataStudio (http://1.94.182.15:8090)