@clickzetta/cz-cli-darwin-arm64 0.3.17 → 0.3.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/bin/cz-cli +0 -0
  2. package/bin/skills/clickzetta-access-control/SKILL.md +243 -0
  3. package/bin/skills/clickzetta-access-control/eval_cases.jsonl +3 -0
  4. package/bin/skills/clickzetta-access-control/references/dynamic-masking.md +86 -0
  5. package/bin/skills/clickzetta-access-control/references/grant-revoke.md +103 -0
  6. package/bin/skills/clickzetta-access-control/references/role-management.md +66 -0
  7. package/bin/skills/clickzetta-access-control/references/user-management.md +61 -0
  8. package/bin/skills/clickzetta-ai-vector-search/SKILL.md +160 -0
  9. package/bin/skills/clickzetta-ai-vector-search/eval_cases.jsonl +4 -0
  10. package/bin/skills/clickzetta-ai-vector-search/references/vector-search.md +155 -0
  11. package/bin/skills/clickzetta-batch-sync-pipeline/SKILL.md +386 -0
  12. package/bin/skills/clickzetta-cdc-sync-pipeline/SKILL.md +548 -0
  13. package/bin/skills/clickzetta-data-ingest-pipeline/SKILL.md +220 -0
  14. package/bin/skills/clickzetta-data-ingest-pipeline/eval_cases.jsonl +5 -0
  15. package/bin/skills/clickzetta-data-retention/SKILL.md +160 -0
  16. package/bin/skills/clickzetta-data-retention/eval_cases.jsonl +5 -0
  17. package/bin/skills/clickzetta-data-retention/references/lifecycle-reference.md +175 -0
  18. package/bin/skills/clickzetta-dw-modeling/SKILL.md +259 -0
  19. package/bin/skills/clickzetta-dw-modeling/eval_cases.jsonl +4 -0
  20. package/bin/skills/clickzetta-dw-modeling/references/modeling-patterns.md +100 -0
  21. package/bin/skills/clickzetta-dynamic-table/SKILL.md +112 -0
  22. package/bin/skills/clickzetta-dynamic-table/best-practices/dimension-table-join-guide.md +257 -0
  23. package/bin/skills/clickzetta-dynamic-table/best-practices/medallion-and-stream-patterns.md +124 -0
  24. package/bin/skills/clickzetta-dynamic-table/best-practices/non-partitioned-merge-into-warning.md +96 -0
  25. package/bin/skills/clickzetta-dynamic-table/best-practices/performance-optimization.md +109 -0
  26. package/bin/skills/clickzetta-external-function/SKILL.md +203 -0
  27. package/bin/skills/clickzetta-external-function/eval_cases.jsonl +4 -0
  28. package/bin/skills/clickzetta-external-function/references/external-function-ddl.md +171 -0
  29. package/bin/skills/clickzetta-file-import-pipeline/SKILL.md +156 -0
  30. package/bin/skills/clickzetta-index-manager/SKILL.md +140 -0
  31. package/bin/skills/clickzetta-index-manager/eval_cases.jsonl +5 -0
  32. package/bin/skills/clickzetta-index-manager/references/bloomfilter-index.md +67 -0
  33. package/bin/skills/clickzetta-index-manager/references/index-management.md +73 -0
  34. package/bin/skills/clickzetta-index-manager/references/inverted-index.md +80 -0
  35. package/bin/skills/clickzetta-index-manager/references/vector-index.md +81 -0
  36. package/bin/skills/clickzetta-kafka-ingest-pipeline/SKILL.md +751 -0
  37. package/bin/skills/clickzetta-kafka-ingest-pipeline/eval_cases.jsonl +5 -0
  38. package/bin/skills/clickzetta-kafka-ingest-pipeline/references/kafka-pipe-syntax.md +324 -0
  39. package/bin/skills/clickzetta-monitoring/SKILL.md +199 -0
  40. package/bin/skills/clickzetta-monitoring/eval_cases.jsonl +5 -0
  41. package/bin/skills/clickzetta-monitoring/references/job-history-analysis.md +97 -0
  42. package/bin/skills/clickzetta-monitoring/references/show-jobs.md +48 -0
  43. package/bin/skills/clickzetta-oss-ingest-pipeline/SKILL.md +537 -0
  44. package/bin/skills/clickzetta-query-optimizer/SKILL.md +156 -0
  45. package/bin/skills/clickzetta-query-optimizer/eval_cases.jsonl +5 -0
  46. package/bin/skills/clickzetta-query-optimizer/references/explain.md +56 -0
  47. package/bin/skills/clickzetta-query-optimizer/references/hints-and-sortkey.md +78 -0
  48. package/bin/skills/clickzetta-query-optimizer/references/optimize.md +65 -0
  49. package/bin/skills/clickzetta-query-optimizer/references/result-cache.md +49 -0
  50. package/bin/skills/clickzetta-query-optimizer/references/show-jobs.md +42 -0
  51. package/bin/skills/clickzetta-realtime-sync-pipeline/SKILL.md +276 -0
  52. package/bin/skills/clickzetta-sql-pipeline-manager/SKILL.md +379 -0
  53. package/bin/skills/clickzetta-sql-pipeline-manager/evals/evals.json +166 -0
  54. package/bin/skills/clickzetta-sql-pipeline-manager/references/dynamic-table.md +185 -0
  55. package/bin/skills/clickzetta-sql-pipeline-manager/references/materialized-view.md +129 -0
  56. package/bin/skills/clickzetta-sql-pipeline-manager/references/pipe.md +222 -0
  57. package/bin/skills/clickzetta-sql-pipeline-manager/references/table-stream.md +125 -0
  58. package/bin/skills/clickzetta-table-stream-pipeline/SKILL.md +206 -0
  59. package/bin/skills/clickzetta-vcluster-manager/SKILL.md +212 -0
  60. package/bin/skills/clickzetta-vcluster-manager/references/vc-cache.md +54 -0
  61. package/bin/skills/clickzetta-vcluster-manager/references/vcluster-ddl.md +150 -0
  62. package/bin/skills/clickzetta-volume-manager/SKILL.md +292 -0
  63. package/bin/skills/clickzetta-volume-manager/references/volume-ddl.md +199 -0
  64. package/bin/skills/cz-cli/SKILL.md +1 -1
  65. package/bin/skills/cz-cli-inner/SKILL.md +8 -0
  66. package/package.json +1 -1
  67. /package/bin/skills/{dt-creator → clickzetta-dynamic-table/dt-creator}/SKILL.md +0 -0
  68. /package/bin/skills/{dt-creator → clickzetta-dynamic-table/dt-creator}/references/dt-declaration-strategy.md +0 -0
  69. /package/bin/skills/{dt-creator → clickzetta-dynamic-table/dt-creator}/references/incremental-config-reference.md +0 -0
  70. /package/bin/skills/{dt-creator → clickzetta-dynamic-table/dt-creator}/references/refresh-history-guide.md +0 -0
  71. /package/bin/skills/{dt-creator → clickzetta-dynamic-table/dt-creator}/references/sql-limitations.md +0 -0
  72. /package/bin/skills/{dynamic-table-alter → clickzetta-dynamic-table/dynamic-table-alter}/SKILL.md +0 -0
@@ -0,0 +1,386 @@
1
+ ---
2
+ name: clickzetta-batch-sync-pipeline
3
+ description: |
4
+ 创建和管理 ClickZetta Lakehouse 离线同步(批量同步)任务,支持单表离线同步和多表离线同步两种模式。
5
+ 单表模式适合简单的源→目标表同步;多表模式支持整库镜像、多表镜像、多表合并三种同步方式。
6
+ 当用户说"离线同步"、"批量同步"、"batch sync"、"数据库同步到 Lakehouse"、"整库迁移"、
7
+ "多表同步"、"定期同步"、"周期性数据同步"、"分库分表合并"、"离线数据迁移"时触发。
8
+ 包含单表/多表离线同步任务创建、数据源配置、字段映射、同步规则、调度部署、任务运维等
9
+ ClickZetta Studio 特有逻辑。
10
+ Keywords: batch sync, offline sync, full load, mirror, multi-table sync
11
+ ---
12
+
13
+ # 离线同步(批量同步)Pipeline 工作流
14
+
15
+ ## 适用场景
16
+
17
+ - 将外部数据库(MySQL / PostgreSQL / SQL Server 等)的数据定期同步到 Lakehouse
18
+ - 单表离线同步:简单的源表 → 目标表周期性同步
19
+ - 多表离线同步:整库迁移、多表批量同步、分库分表合并
20
+ - 数据时效性要求不高,按天/小时等周期批量更新
21
+ - 需要通过 Studio 调度系统进行周期性自动执行
22
+ - 关键词:离线同步、批量同步、整库迁移、多表同步、定期同步、batch sync
23
+
24
+ ## 前置依赖
25
+
26
+ - ClickZetta Lakehouse Studio 账户,具备创建同步任务、目标表的权限
27
+ - 源端数据源已在 Studio 中配置(具备 SELECT 权限)
28
+ - 目标端 Lakehouse 数据源可用(具备 CREATE、INSERT 权限)
29
+ - **执行环境(满足其一即可,优先使用 cz-cli)**:
30
+ - **cz-cli 路径**:已安装 cz-cli(`pip install cz-cli`),并完成 `cz-cli configure` 配置;cz-cli 内置 Studio MCP 工具,可完全替代 MCP 路径
31
+ - **MCP 路径**:clickzetta-studio-mcp 工具可用(`create_task`、`save_integration_task`、`save_task_configuration`、`publish_task`、`list_data_sources` 等)
32
+
33
+ ## 环境探测(执行前必读)
34
+
35
+ 在开始任何操作前,先判断当前执行环境:
36
+
37
+ **第一步:检测 cz-cli 是否可用**
38
+ ```bash
39
+ cz-cli --version
40
+ ```
41
+ - 若命令存在 → **走 cz-cli 路径**(见本文档末尾"cz-cli 替代路径"章节)
42
+ - 若命令不存在 → 继续检测 MCP
43
+
44
+ **第二步:检测 MCP 是否可用(仅在 cz-cli 不可用时)**
45
+
46
+ 尝试调用 `list_data_sources` 工具。
47
+ - 若工具存在于 tool list → **走 MCP 路径**(本文档默认路径)
48
+ - 若工具不存在 → 停止执行,提示用户:
49
+ > "当前环境既无 cz-cli 也无 MCP 工具,请安装其中之一后重试。
50
+ > cz-cli 安装:`pip install cz-cli`,然后运行 `cz-cli configure`
51
+ > MCP 安装:参考 clickzetta-studio-mcp 配置文档"
52
+
53
+ ## 模式选择指引
54
+
55
+ | 维度 | 单表离线同步 | 多表离线同步 |
56
+ |------|------------|------------|
57
+ | 任务类型 ID | `10`(离线同步) | `291`(多表离线同步) |
58
+ | 同步粒度 | 单张源表 → 单张目标表 | 整库 / 多表 → 多张目标表 |
59
+ | 适用场景 | 简单同步、精细控制单表 | 整库迁移、批量同步、分库分表合并 |
60
+ | 字段映射 | 手动拖拽调整 | 自动识别 + 批量配置 |
61
+ | Schema Evolution | 不支持 | 支持(新增字段自动适配) |
62
+ | 自动建表 | 需手动创建目标表或快速创建 | 目标表不存在时自动创建 |
63
+ | 写入模式 | 由数据源决定 | overwrite / upsert 可选 |
64
+
65
+ ## 多表离线同步支持的数据源
66
+
67
+ **来源端**:MySQL、PostgreSQL、SQL Server、Aurora MySQL、Aurora PostgreSQL、PolarDB MySQL、PolarDB PostgreSQL
68
+
69
+ **目标端**:Lakehouse
70
+
71
+ ## 工作流
72
+
73
+ ### 模式 A:单表离线同步
74
+
75
+ #### 步骤 1:查找可用数据源
76
+
77
+ ```
78
+ 使用 list_data_sources 查看已配置的数据源列表。
79
+ 如需按类型过滤,指定 ds_type 参数(5=MySQL, 7=PostgreSQL, 8=SQL Server)。
80
+ 记录源端 datasource_name 和目标端 datasource_name。
81
+ ```
82
+
83
+ #### 步骤 2:创建离线同步任务
84
+
85
+ ```
86
+ 使用 create_task 创建任务:
87
+ - task_type: 10(离线同步)
88
+ - task_name: 自定义任务名称
89
+ - data_folder_id: 目标文件夹 ID(可通过 list_folders 获取)
90
+ ```
91
+
92
+ #### 步骤 3:配置同步内容
93
+
94
+ ```
95
+ 使用 save_integration_task 配置同步:
96
+ - task_id: 步骤 2 返回的任务 ID
97
+ - source_datasource_name: 源端数据源名称
98
+ - source_schema: 源端数据库/Schema
99
+ - source_table: 源端表名
100
+ - source_ds_type: 源端类型(5=MySQL, 7=PostgreSQL, 8=SQL Server 等)
101
+ - sink_datasource_name: 目标 Lakehouse 数据源名称
102
+ - sink_schema: 目标 Schema(默认 public)
103
+ - sink_table: 目标表名(可选,默认与源表同名)
104
+ - sink_ds_type: 1(Lakehouse)
105
+ ```
106
+
107
+ > **说明**:系统会自动获取源表和目标表的元数据,生成字段映射。如目标表不存在,会自动创建。
108
+
109
+ #### 步骤 4:配置调度并部署
110
+
111
+ ```
112
+ 使用 save_task_configuration 配置调度:
113
+ - task_id: 任务 ID
114
+ - cron_express: Cron 表达式(如 '0 0 2 * * ? *' 表示每天凌晨 2 点)
115
+ - schedule_start_time: 调度开始时间(如 '02:00')
116
+
117
+ 注意:离线同步任务(task_type=10)需要 Sync VCluster。
118
+ 工具会自动检查并分配可用的 Sync VCluster。如无可用 Sync VCluster,需先创建。
119
+ ```
120
+
121
+ #### 步骤 5:提交任务
122
+
123
+ ```
124
+ 使用 publish_task 提交任务到调度系统:
125
+ - task_id: 任务 ID
126
+ - task_version: 当前版本号(通过 get_task_detail 获取)
127
+ ```
128
+
129
+ #### 步骤 6:验证与监控
130
+
131
+ ```
132
+ 使用 get_task_detail 查看任务详情和状态。
133
+ 使用 list_task_run 查看任务执行记录。
134
+ 如执行失败,使用 list_executions + get_execution_log 查看日志排查问题。
135
+ ```
136
+
137
+ ---
138
+
139
+ ### 模式 B:多表离线同步
140
+
141
+ #### 三种同步方式
142
+
143
+ | 方式 | 说明 | 适用场景 |
144
+ |------|------|---------|
145
+ | 整库镜像 | 同步源端整个数据库的所有表 | 整库迁移 |
146
+ | 多表镜像 | 选择多张表分别同步,保持表结构独立 | 按需选择部分表 |
147
+ | 多表合并 | 多个源表合并到一张或多张目标表 | 分库分表合并 |
148
+
149
+ #### 步骤 1:创建多表离线同步任务
150
+
151
+ ```
152
+ 使用 create_task 创建任务:
153
+ - task_type: 291(多表离线同步)
154
+ - task_name: 自定义任务名称
155
+ - data_folder_id: 目标文件夹 ID
156
+ ```
157
+
158
+ #### 步骤 2:在 Studio UI 中配置同步
159
+
160
+ > **重要**:多表离线同步的详细配置(来源数据选择、目标设置、映射关系、同步规则等)
161
+ > 目前需要在 Studio Web UI 中完成。create_task 返回的 studio_url 可直接打开配置页面。
162
+
163
+ 配置要点:
164
+
165
+ **来源数据配置**
166
+ - 选择源端数据源类型和数据源连接
167
+ - 根据同步方式选择:整库 / 勾选多表 / 配置合并规则
168
+
169
+ **目标设置**
170
+ - 选择目标 Lakehouse 数据源和 workspace
171
+ - 配置命名空间规则:镜像来源 / 指定选择 / 自定义(支持 `{SOURCE_DATABASE}` 变量)
172
+ - 配置目标表命名规则:镜像来源 / 自定义(支持 `{SOURCE_DATABASE}`、`{SOURCE_SCHEMA}`、`{SOURCE_TABLE}` 变量)
173
+ - 可选:配置分区(分区字段 + 分区值表达式)
174
+
175
+ **同步规则**
176
+ - Schema Evolution:源端删除字段 → 写入 Null;源端新增字段 → 自动适配;源端删除表 → 忽略
177
+ - 分组策略:智能分组(自动)或 静态分组(指定单组表数量,默认 4)
178
+ - 并发控制:单分组源端最大连接数(默认 4)、并发执行分组数(默认 2)
179
+ - 写入模式:非主键表 → overwrite;主键表 → overwrite 或 upsert
180
+
181
+ #### 步骤 3:调试运行
182
+
183
+ 在 Studio UI 中点击「运行」按钮进行调试,验证数据源连接和配置是否正确。
184
+ 在「运行历史」中查看运行详情。
185
+
186
+ #### 步骤 4:配置调度
187
+
188
+ ```
189
+ 使用 save_task_configuration 配置调度:
190
+ - task_id: 任务 ID
191
+ - cron_express: Cron 表达式
192
+ - schedule_start_time: 调度开始时间
193
+
194
+ 同样需要 Sync VCluster(task_type=291 属于离线同步类型)。
195
+ ```
196
+
197
+ #### 步骤 5:提交任务
198
+
199
+ ```
200
+ 使用 publish_task 提交任务:
201
+ - task_id: 任务 ID
202
+ - task_version: 当前版本号
203
+ ```
204
+
205
+ #### 步骤 6:任务运维
206
+
207
+ ```
208
+ 多表离线同步任务在「任务运维」→「周期任务」中管理。
209
+
210
+ 查看任务详情:get_task_detail
211
+ 查看执行记录:list_task_run
212
+ 查看执行日志:list_executions + get_execution_log
213
+
214
+ Studio UI 中可查看:
215
+ - 任务详情 Tab:上下游 DAG、配置信息
216
+ - 任务实例 Tab:实例列表、每张表的读取/写入行数和同步速率
217
+ - 同步对象 Tab:所有源表和目标表的映射关系
218
+ - 操作日志 Tab:运维操作审计
219
+ ```
220
+
221
+ ---
222
+
223
+ ## 任务运维操作
224
+
225
+ ### 常用操作
226
+
227
+ | 操作 | 说明 |
228
+ |------|------|
229
+ | 暂停/恢复 | 暂停或恢复周期调度 |
230
+ | 下线 | 停止任务并从调度系统移除,回退到未提交状态 |
231
+ | 下线(含下游) | 将当前任务及下游任务一并下线(有下游依赖时不允许单独下线) |
232
+ | 补数据 | 对历史周期进行数据补录 |
233
+ | 编辑 | 跳转到开发界面修改配置 |
234
+
235
+ ### 实例操作(多表离线同步)
236
+
237
+ | 操作 | 说明 |
238
+ |------|------|
239
+ | 重跑(全部对象) | 重新同步所有表 |
240
+ | 重跑(仅失败对象) | 只重跑同步失败的表 |
241
+ | 置成功/置失败 | 手动设置实例最终状态 |
242
+ | 取消运行 | 强制终止正在运行的实例 |
243
+ | 单表重新同步 | 在同步对象 Tab 中对单张表重新同步 |
244
+ | 单表强制停止 | 终止单张表的同步 |
245
+
246
+ ---
247
+
248
+ ## 示例
249
+
250
+ ### 示例 1:MySQL 单表每日同步
251
+
252
+ 用户说:"把 MySQL 的 orders 表每天凌晨 2 点同步到 Lakehouse"
253
+
254
+ 操作:
255
+ 1. `list_data_sources` 找到 MySQL 数据源名称(如 `mysql_prod`)和 Lakehouse 数据源名称
256
+ 2. `create_task(task_type=10, task_name="sync_orders_daily")`
257
+ 3. `save_integration_task(source_datasource_name="mysql_prod", source_table="orders", sink_schema="public", sink_table="orders")`
258
+ 4. `save_task_configuration(cron_express="0 0 2 * * ? *", schedule_start_time="02:00")`
259
+ 5. `publish_task(task_id=..., task_version=...)`
260
+
261
+ ### 示例 2:MySQL 整库迁移到 Lakehouse
262
+
263
+ 用户说:"把 MySQL 的 ecommerce 数据库整库同步到 Lakehouse"
264
+
265
+ 操作:
266
+ 1. `create_task(task_type=291, task_name="sync_ecommerce_db")` → 获取 studio_url
267
+ 2. 在 Studio UI 中:选择整库镜像 → 选择 ecommerce 数据库 → 配置目标 workspace → 写入模式选 upsert(主键表)
268
+ 3. 点击「运行」调试验证
269
+ 4. `save_task_configuration(cron_express="0 0 1 * * ? *")` 配置每日凌晨 1 点调度
270
+ 5. `publish_task(...)` 提交
271
+
272
+ ## 故障排除
273
+
274
+ | 问题 | 排查方向 |
275
+ |------|---------|
276
+ | 任务创建失败 | 检查是否有可用的 Sync VCluster(`LH_show_object_list` 查看 VCLUSTERS) |
277
+ | 源端连接失败 | 检查数据源配置中的连接信息、网络可达性、账号权限 |
278
+ | 字段映射失败 | 检查源表和目标表的字段类型兼容性 |
279
+ | 同步速度慢 | 调整并发数(最大 10)和同步速率;检查源端数据库负载 |
280
+ | Schema Evolution 失败 | 不支持修改主键字段;字段类型仅支持同类型扩展(int8→int16→int32→int64);不支持跨类型转换 |
281
+ | 多表同步部分表失败 | 在实例详情的「同步对象」Tab 查看各表状态;可对失败表单独重跑 |
282
+ | upsert 模式数据不一致 | 确认目标表有正确的主键定义;检查源端数据是否有主键冲突 |
283
+
284
+ ## 注意事项
285
+
286
+ ### 权限要求
287
+
288
+ - 源端:数据源配置的账号需具备 SELECT 权限(读取元数据和表数据)
289
+ - 目标端:任务负责人需具备 CREATE 和 INSERT 权限
290
+
291
+ ### 性能考虑
292
+
293
+ - 合理配置并发度,避免对源端数据库造成过大压力
294
+ - 首次执行需初始化所有同步对象,可能耗时较长
295
+ - 单个多表同步任务的表数量控制在合理范围,过多表影响执行效率
296
+ - 选择源端数据库压力较小的时间窗口执行调度
297
+
298
+ ### 数据一致性
299
+
300
+ - overwrite 模式:每次执行完全刷新目标表数据
301
+ - upsert 模式:基于主键进行增量更新
302
+ - 两次同步间隔期间的数据变化会在下次同步时体现
303
+
304
+ ### Schema Evolution 限制(多表离线同步)
305
+
306
+ - 不支持修改主键字段(Lakehouse 主键表限制)
307
+ - 字段类型修改仅支持同类型扩展(int8 → int16 → int32 → int64)
308
+ - 不支持跨类型转换(如 int → double)
309
+ - 建议在源端 Schema 相对稳定时启用
310
+
311
+ ### Sync VCluster 要求
312
+
313
+ - 离线同步任务(task_type=10 和 291)必须使用 Sync VCluster
314
+ - 创建/调度任务前需确认有可用的 Sync VCluster
315
+ - 可通过 `LH_show_object_list`(object_type='VCLUSTERS')查看,筛选 vcluster_type 包含 SYNC 的集群
316
+
317
+ ---
318
+
319
+ ## cz-cli 替代路径
320
+
321
+ > 仅在 cz-cli 可用且 MCP 不可用时使用本节。步骤编号与上方 MCP 路径对应。
322
+ > cz-cli 内置完整的 Studio MCP 工具,通过 `cz-cli agent run` 可完成所有 Studio 任务操作。
323
+
324
+ ### 模式 A:单表离线同步(cz-cli 版)
325
+
326
+ ```bash
327
+ # 步骤 1-5 合并:让 agent 完成完整的单表离线同步任务创建
328
+ cz-cli agent run "创建离线同步任务,将 MySQL 数据源 <source_ds_name> 中 <schema>.<table> 表同步到 Lakehouse public schema,任务名 sync_<table>,每天凌晨 2 点执行,任务放在默认文件夹下,创建完成后发布" \
329
+ --format a2a --dangerously-skip-permissions
330
+ ```
331
+
332
+ 对于需要精细控制的场景,可拆分步骤:
333
+
334
+ ```bash
335
+ # 步骤 1:查找数据源
336
+ cz-cli agent run "列出所有已配置的数据源,包括 MySQL 类型(ds_type=5)的" \
337
+ --format a2a --dangerously-skip-permissions
338
+
339
+ # 步骤 2:创建任务
340
+ cz-cli agent run "创建离线同步任务(task_type=10),任务名 sync_<table>,放在默认文件夹下" \
341
+ --format a2a --dangerously-skip-permissions
342
+
343
+ # 步骤 3:配置同步内容
344
+ cz-cli agent run "配置刚创建的离线同步任务:源端数据源 <source_ds_name>,schema <db>,表 <table>,目标 Lakehouse public.<table>" \
345
+ --format a2a --dangerously-skip-permissions
346
+
347
+ # 步骤 4:配置调度并发布
348
+ cz-cli agent run "给任务 sync_<table> 配置每天凌晨 2 点执行的调度(cron: 0 0 2 * * ? *),然后发布任务" \
349
+ --format a2a --dangerously-skip-permissions
350
+ ```
351
+
352
+ ---
353
+
354
+ ### 模式 B:多表离线同步(cz-cli 版)
355
+
356
+ > 多表离线同步(task_type=291)的详细配置需要在 Studio UI 中完成。cz-cli agent 可完成任务创建和调度配置,详细映射配置需通过 studio_url 在 UI 中操作。
357
+
358
+ ```bash
359
+ # 步骤 1:创建多表离线同步任务
360
+ cz-cli agent run "创建多表离线同步任务(task_type=291),任务名 sync_<database>_db,放在默认文件夹下,返回 studio_url" \
361
+ --format a2a --dangerously-skip-permissions
362
+
363
+ # 步骤 4(UI 配置完成后):配置调度
364
+ cz-cli agent run "给任务 sync_<database>_db 配置每天凌晨 1 点执行的调度(cron: 0 0 1 * * ? *)" \
365
+ --format a2a --dangerously-skip-permissions
366
+
367
+ # 步骤 5:发布任务
368
+ cz-cli agent run "发布任务 sync_<database>_db" \
369
+ --format a2a --dangerously-skip-permissions
370
+ ```
371
+
372
+ > **注意**:多表离线同步的来源数据选择、目标设置、字段映射等详细配置需要在 Studio UI 中完成(通过 studio_url 打开)。
373
+
374
+ ---
375
+
376
+ ### 任务运维(cz-cli 版)
377
+
378
+ ```bash
379
+ # 查看任务状态
380
+ cz-cli agent run "查看离线同步任务 sync_<table> 的详情和最近执行记录" \
381
+ --format a2a --dangerously-skip-permissions
382
+
383
+ # 查看执行日志(失败时)
384
+ cz-cli agent run "查看任务 sync_<table> 最近一次失败的执行日志,找出失败原因" \
385
+ --format a2a --dangerously-skip-permissions
386
+ ```