Skip to content

Commit

Permalink
[Feature][Docs] Add engine docs (#15)
Browse files Browse the repository at this point in the history
  • Loading branch information
zixi0825 authored Sep 30, 2023
1 parent 8038f36 commit d1ce239
Show file tree
Hide file tree
Showing 11 changed files with 133 additions and 27 deletions.
4 changes: 0 additions & 4 deletions docs/04-features/03-engine/01-engine-intro.md

This file was deleted.

2 changes: 1 addition & 1 deletion docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ const config = {
onBrokenMarkdownLinks: 'warn',
favicon: 'image/favicon.ico',
i18n: {
defaultLocale: "en",
defaultLocale: "zh-CN",
locales: ["en", "zh-CN"],
localeConfigs: {
en: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,40 +6,40 @@ title: '快速上手'
## 创建数据源

点击`创建数据源`按钮,输入数据源的名称,然后选择数据源类型。以`mysql`为例,输入`mysql`的连接信息,点击`测试连接`按钮。如果成功,请单击`保存`
![alert_add_setting.png](/doc/image/create_datasource.png)
![create_datasource](/doc/image/create_datasource.png)

## 查看数据源信息

点击已创建好的数据源,进入数据源详情页面
![alert_add_setting.png](/doc/image/database_page.png)
![database_page](/doc/image/database_page.png)

## 选择列
例如,点击表`dv_catalog_entity_instance``properties`列,进入列的详情页面
![alert_add_setting.png](/doc/image/column_page.png)
![column_page](/doc/image/column_page.png)

## 添加规则
点击 `添加规则` 按钮, 选择`空值检查`规则, 选择 `固定值` 期望值类型、输入期望值 `10` , 选择 `实际值` 检查公式 、`>` 比较符并输入阈值 `10`, 这样选择的意思就是当实际值 > 10 ,那么检查结果为成功,否则是失败。配置完成以后可以直接`保存`进行保存或者点击`保存并运行`来执行检查作业。
![alert_add_setting.png](/doc/image/create_metric.png)
![create_metric](/doc/image/create_metric.png)


返回到列的详情页面,你可以看到你刚刚所创建的规则作业列表。你可以在这里看到这个检查作业的运行趋势图。
![alert_add_setting.png](/doc/image/metric_list.png)
![metric_list](/doc/image/metric_list.png)

## 查看规则作业的信息
点击规则名则可以进入到规则作业的详情页面。
![alert_add_setting.png](/doc/image/metric_dashboard.png)
![metric_dashboard](/doc/image/metric_dashboard.png)

点击 `运行结果` 页面, 你可以看到执行历史列表。
![alert_add_setting.png](/doc/image/metric_runs.png)
![metric_runs](/doc/image/metric_runs.png)

点击`日志`按钮,你可以看到规则执行的日志信息。
![alert_add_setting.png](/doc/image/metric_job_log.png)
![metric_job_log](/doc/image/metric_job_log.png)

点击`检查结果`按钮,你可以看到规则执行的检查结果。
![alert_add_setting.png](/doc/image/metric_execute_result.png)
![metric_execute_result](/doc/image/metric_execute_result.png)

点击`错误数据`按钮,你可以看到规则执行的错误数据。
![alert_add_setting.png](/doc/image/error_data.png)
![error_data](/doc/image/error_data.png)



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,86 @@
id: 'multi-table-accuracy'
title: '跨表准确性'
---

## 概念解释
跨表准确性是用于检查源表与目标表指定字段的数据差异,举个例子

表:test1

| C1| C2 |
|:---:|:---:|
|a|1|
|b|2|

表:test2

| C21| C22 |
|:---:|:---:|
|a|1|
|b|3|

如果对比c1和c21中的数据,则表test1和test2完全一致。 如果对比c2和c22则表test1和表test2中的数据则存在不一致了。

## 实现原理

通过 【源表 LEFT JOIN 目标表 on 源表.列1 = 目标表.列21 where 源表.列1 不等于 NULL 且 目标表.列21 等于 NULL】 SQL 语句来筛选出源表中存在的数据而目标表中不存在的数据.

## 使用方法
- 点击创建规则作业,选择数据比对作业
- 进入作业页面选择 跨表准确性 规则
- 进行源表和目标表的配置信息,选择要检查的字段

![两表值比对规则](/doc/image/metric_multi_table_accuracy.png)

## 参数介绍
### Options

| name | type | required | default value |
|:--------------------------------------------------------------:|:------:|:----------:|:-------------:|
| [database](#database-string) | string | yes | - |
| [table](#table-string) | string | yes | - |
| [database2](#database2-string) | string | yes | - |
| [table2](#table2-string) | string | yes | - |
| [mappingColumns](#expected_execute_sql-string) | string | yes | - |


#### database [string]
源表数据库名
#### table [string]
源表数据库中的表名
#### database2 [string]
目标表数据库名
#### table2 [string]
目标表数据库中的表名
#### mappingColumns [string]
要进行检查的字段,column 为 源表的字段,column2 为目标表的字段,格式如下:
```
[{\"column\":\"job_execution_id\",\"operator\":\"=\",\"column2\":\"job_execution_id\"}]
```

### 配置文件例子
```
{
"metricType": "multi_table_value_comparison",
"metricParameter": {
"database": "datavines",
"table": "dv_actual_values",
"database2": "datavines",
"table2": "dv_actual_values1",
"mappingColumns": "[{\"column\":\"job_execution_id\",\"operator\":\"=\",\"column2\":\"job_execution_id\"}"
}
}
```

### 注意事项

- 如果你进行检查的源表和目标表都在同一个数据库实例中,那么可以使用 `Local` 引擎来执行,如果源表和目标表在不同的数据库实例中,那么只能使用 `Spark` 引擎。

## 使用案例

### 场景
...
### 思路
...
### 步骤
...

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
id: 'local-engine'
title: 'Local 引擎'
---

## 原理解释

`Local` 引擎是通过 `Jdbc` 的方式连接数据源,执行根据数据质量检查规则生成的 `SQL` 语句,得到相应的错误数据视图、实际值和期望值,最后将实际值和期望值写到 `Datavines` 系统的执行结果表以及将错误数据视图中的数据写到错误数据存储引擎。

## 使用方法

`Local` 引擎的使用非常简单,创建数据质量检查作业时默认使用的是 `Local` 引擎,无需做任何额外的配置,保存好配置执行即可,需要关注一下注意事项。

## 注意事项

- 用于创建数据源的用户需要有创建视图和删除视图的权限,如果你想要将错误数据写入到检查的数据源中某个库中,那么你的用户需要有创建表的权限。

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
id: 'spark-engine'
title: 'Spark 引擎'
---

## 原理解释

`Spark` 引擎是基于 `Spark` 开发的数据质量检查作业执行引擎,SparkDataVinesBootstrap 是应用的执行入。`Datavines` 会根据用户所配置各种信息构造成配置文件并传入到 `SparkDataVinesBootstrap`中,`SparkDataVinesBootstrap` 会解析配置文件并选择不同的 `source``transform``sink` 插件来执行连接数据源、质量检查语句和将执行结果写入到相应的存储引擎中的操作。

## 使用方法

在数据质量检查作业和数据比对作业中的引擎配置中选择 `Spark` 引擎,填好各种 `Spark` 相关的基础配置信息
![数据质量检查规则引擎配置](/doc/image/metric_job_engine.png)

## 注意事项
- 如果想要使用 `Spark` 引擎,那么需要把 `Datavines` 部署在能执行 `spark-submit` 的服务器上
- 需要配置可以执行 `spark-submit` 的服务器用户 和 环境配置
- 服务器用户指的是 `root``hadoop``ods`等等这些服务器创建的用户
- 环境配置指的是 在服务器上 export 的各种配置
```
export SPARK_HOME2=/usr/hdp/2.6.3.0-235/spark-2.4.8-bin-hadoop2.7
```
![数据质量检查规则环境配置](/doc/image/metric_job_env.png)

This file was deleted.

Binary file added static/doc/image/metric_job_engine.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/doc/image/metric_job_env.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit d1ce239

Please sign in to comment.