本页内容

增量数据加载

Process Intelligence Process Intelligence 流程智能席位及以上等级可使用此功能。只有此等级或更高等级的席位可以使用。 比较方案 需使用流程智能席位或更高级别席位

什么是增量数据加载?

增量数据加载(也称差量加载)允许您将新行追加到现有数据表,而不替换原有数据。当事件日志数据随时间增长时,您可以使用此功能更新流程挖掘分析,而无需重新上传整个数据集。

常见场景包括:

  • 每日或每周导出数据:有新数据时,追加交易、订单或案例。
  • 持续监控流程:定期添加新数据,让仪表板保持最新。
  • 事件日志不断增长:逐步添加来自ERP系统、CRM工具或其他来源的新事件。
ProcessMind数据集替换数据上传区域

info

差量文件必须与原始上传文件具有相同的列结构(列名称和顺序)。差量文件中的额外列会被忽略;缺少的列将填入空值。

要求

  • 数据表必须已通过初始上传加载数据。
  • 差量文件必须与原始上传文件采用相同格式:
    • CSV文件需要使用CSV差量文件。
    • Parquet文件需要使用Parquet差量文件。
    • ORC文件需要使用ORC差量文件。
    • JSONL文件需要使用JSONL差量文件。
  • 不支持通过差量上传Excel(XLSX/XLS/XLSB)和XES文件,请先将其转换为CSV。
  • 差量文件中的列名称应与原始上传文件一致。
  • 差量文件可以使用gzip压缩(.gz),但内部格式必须与原始上传文件一致。

info

有关所有支持的文件格式,请参阅支持的数据格式页面。

上传增量数据

通过API上传

使用ProcessMind API以编程方式上传差量文件。有关接口详情,请参阅API参考:数据页面。

操作步骤如下:

  1. 获取差量文件的预签名上传URL:

    GET /v1/tenant/{tenantId}/datatables/{dataTableId}/uploads/presigned-url
        ?delta=true&filename=delta.csv&filesize=1024&filelastmodified=1704067200000
  2. 使用预签名URL上传差量文件:

    curl -X PUT --upload-file "delta.csv" \
        -H "Content-Type: text/csv" \
        "{PreSignedUploadUrl}"

上传完成后,ProcessMind会自动处理差量数据,并将其与原始数据合并。您可以轮询GET /datatables/{dataTableId},直到hasDataLoaded变为true,以确认处理已完成。

通过界面上传

您也可以在ProcessMind应用中,通过数据集的常规选项卡启动增量数据加载:

  1. 切换追加开关,将上传区域从替换数据切换为追加数据。
  2. 将新文件拖入追加数据区域(或点击区域浏览并选择文件)。

ProcessMind会将文件作为差量数据上传,并与现有数据一起处理。差量上传需要明确选择,系统不会从普通的替换数据上传中自动识别差量文件。

查看上传分段

一次或多次增量上传后,数据表的上传历史记录中会包含uploadParts数组,用于记录每个文件:

{
	"uploadHistory": {
		"uploadParts": [
			{
				"key": "datatable/123/2.csv",
				"fileName": "orders-january.csv",
				"fileSize": 524288,
				"uploadedAt": "2024-01-15T10:00:00Z"
			},
			{
				"key": "datatable/123/3.csv",
				"fileName": "orders-february.csv",
				"fileSize": 419430,
				"uploadedAt": "2024-02-15T10:00:00Z"
			}
		]
	}
}

最佳实践

  • 所有文件使用一致的列名称,避免数据对齐问题。
  • 尽可能按时间顺序上传,使上传历史与数据时间线相符。
  • 控制差量文件大小:分批上传适量数据;大量过小的文件可能拖慢处理速度。
  • 每次上传差量数据后检查行数,确认数据已正确加载。

warning

增量上传只会追加数据,不会更新或替换现有行。如果需要修正之前上传的数据,请重新上传整个数据集。

架构不匹配时的处理方式

ProcessMind不会强制要求各上传分段使用严格一致的架构。这意味着:

  • 额外列会在处理差量文件时被忽略:系统只使用原始上传架构中已有的列。
  • 缺少的列在差量数据行中对应字段的值为空或为null。
  • 不同的列名称会被视为完全不同的列:差量数据行中预期列的值将为null。

为获得最佳结果,请确保所有差量文件与原始上传文件具有相同的列结构。

info

对于CSV和JSONL格式,系统会在内部将所有值读取为字符串,因此不会出现类型不匹配错误。对于Parquet和ORC格式,系统会保留文件架构中的列数据类型。无论使用哪种格式,如果某列需要数值数据,但上传了不兼容的值,后续分析或模拟可能会产生意外结果。