SuperAPI AI 工具集

building-syncs

数据与分析

查看项目

更新于 10-21 14:46

技能介绍

用途

Sync(Celigo Data Ingestion)用于将源应用中的多张表或对象复制到数据仓库。它把源连接与目标(仓库连接加数据库和 schema)配对,数据集决定复制哪些表或对象、哪些列以及每张表的加载方式。首次运行从 historicDateTime 回填历史数据,后续运行为增量。运行按 cron 计划或按需触发,每次运行生成只读的 sync job,包含按表拆分的子任务、运行错误以及 schema 漂移事件。

Sync 不是 Flow:它没有步骤、映射、钩子、过滤器或路由器,属于独立的集成类型,其运行和错误通过 sync jobs 读取,而非 flow jobs 或 flow errors。

主要能力

  • 从源应用复制多张表或对象到数据仓库,支持历史回填与增量更新。
  • 数据集支持 append、replace、merge 三种加载模式;merge 需启用主键列。
  • 支持列级配置:启用、掩码(mask)、主键、transformMode(preserve、flatten、normalize)及嵌套字段子项。
  • 支持 schema 漂移策略:对新增表、新增列、删除、缩减、扩展等变化按策略自动处理或忽略。
  • 运行可整体执行、按数据集范围执行,或执行 resync 丢弃增量检查点并重新加载全部数据。
  • 提供 sync jobs、运行错误、Schema Drift 与 Data Catalog 事件等只读诊断信息。

使用方式

可通过 celigo CLI(celigo syncs、celigo datasets、celigo sync-jobs)、REST API 或 Celigo UI 构建与操作。已部署的 Celigo MCP 服务器没有 sync、dataset 或 sync-job 工具,因此需使用 CLI、REST API 或 UI。

构建流程:

  1. 确认是 sync 并读取许可证的 di 块(enabled 必须为 true;无 volume pack 时,已有启用 sync 的环境不能再启用新的)。
  2. 查找或创建 sync 集成:集成需以 syncs: true 创建,该标志在创建时固定,更新时会被忽略;一个集成内所有 sync 必须加载到同一目标应用类型。
  3. 配置源:源连接通过 catalog 提供表,或通过 export-backed 数据集(isExport: true,externalId 设为导出的 _id)提供数据。
  4. 配置目标:目标块包含 _connectionId、database、schema 及可选 tablePrefix,需一次性完整提交。
  5. 配置数据集:通过一次批量 PUT 数组写入,带 externalId 的项创建,带 _id 的项更新;一项失败会导致整批失败。
  6. 启用:需要源、完整目标、historicDateTime 以及许可证检查。
  7. 运行:需要已保存的目标、已启用、无排队或运行中的任务。
  8. 删除:需先禁用(disabled: true)。

适用场景

  • 将某应用的许多表或对象复制到数据仓库,并需要回填与增量更新。
  • 将一次导出的记录落入仓库表,途中无需映射或钩子(使用 export-backed 数据集)。
  • 需要按计划或按需批量加载,而非事件驱动或实时。

限制

  • Sync 的目标始终是数据仓库;支持的仓库来自 destinations 列表(当前为 snowflake、bigquery、mssql、nsaw)。
  • 不支持应用间记录移动、反向 ETL、逐记录重塑/映射/过滤/分支、实时事件或 CDC;这些应使用 Flow。
  • 一个集成只能有一种仓库类型;一个数据库与 schema 组合只能支撑一个 sync,重复目标会被拒绝。
  • 数据集没有删除操作,只能设 enable: false。
  • 保存时不校验源端,externalId 或列名需从 catalog 和列读取中获取。
  • 运行错误不可重试或解决,需修复原因后重新运行。
  • 许可证在启用时检查,而非创建时;用量按每月、每 sync、每环境统计已加载记录数。
  • 部分事实(如具体价格、收费细节)暂未提供。