1. 采样量
1.1 问题描述
用户常常有以下疑问:
同样的查询条件,节点中预览数据时,数据条数不一致。
在数据库中写 SQL 能预览出数据,但 FineDataLink 中「数据过滤」算子中预览时没有数据。
「数据比对」算子预览结果与实际结果不符,实际数据左右表是相同的,但「数据比对」算子显示新增。
SparkSQL 计算结果只有 5000 条。
1.2 说明
「数据转换」的输入型算子后,接入的算子的预览结果,受输入型算子的「样本设置」功能控制;默认选择前 5000 条数据进行计算,但不会影响任务实际运行结果,详情可参见:定时任务数据量说明

2. 写入量
定时任务运行后,用户往往会有以下疑问:
日志显示写入 170w 条,但目标表里只有 150w 条。
日志中数据读取条数与写入条数相差较大,是什么原因。
定时任务写入到目标表中的数据,不仅受到来源表数据的影响,还与写入方式、主键、脏数据有关。

1)定时任务运行过程中,若产生脏数据,脏数据是无法写入到目标表中的。详情请参见:定时任务脏数据处理说明
2)若未产生脏数据:
详情请参见:不同写入方式效果说明
| 写入方式 | 说明 | 目标表数据 |
|---|---|---|
| 直接将数据写入目标表 | 目标表无物理主键且未配置逻辑主键映射 | 直接将数据写入目标表 目标表新增数据条数=来源表数据条数 |
目标表有物理主键或已配置逻辑主键映射: 1)主键不同的数据行:追加写入 2)主键相同的数据行,提供三种写入策略:
| 目标表新增数据条数<=来源表数据条数 | |
| 清空目标表,再写入数据 | 支持配置主键冲突策略,避免锁表情况,同上 | |
| 基于标识字段,新增/修改/删除数据 | 根据来源表数据,新增/修改/删除目标表数据 | |
