@guandata/guanetl 0.1.24 → 0.1.25
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.
- package/CHANGELOG.md +6 -0
- package/README.md +8 -2
- package/binaries/guanetl-darwin-arm64 +0 -0
- package/binaries/guanetl-darwin-x64 +0 -0
- package/binaries/guanetl-linux-arm64 +0 -0
- package/binaries/guanetl-linux-x64 +0 -0
- package/binaries/guanetl-win32-x64.exe +0 -0
- package/package.json +1 -1
- package/skills/guanetl/SKILL.md +1 -1
- package/skills/guanetl/references/ETL_AI_DEVELOP.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## @guandata/guanetl 0.1.25 - 2026-08-04
|
|
4
|
+
|
|
5
|
+
- ETL 已在运行时可直接跟踪当前任务,无需管理员级全局任务权限。
|
|
6
|
+
- 执行完成后会核验新增输出字段是否已完成物化、注册并可查询,避免任务成功但字段不可用。
|
|
7
|
+
- 预览输出会明确区分 CLI 展示行数与后端样本或数据集总量,减少对数据规模的误判。
|
|
8
|
+
|
|
3
9
|
## @guandata/guanetl 0.1.24 - 2026-07-29
|
|
4
10
|
|
|
5
11
|
- ETL 预览支持一次选择多个节点,并按批次并行执行,复杂流程的检查效率更高。
|
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@ guanetl save --dir <work_dir>
|
|
|
32
32
|
|
|
33
33
|
`create` 只申请 `dataFlowId` 并初始化本地工作区,首次 `save` 成功后才形成可被服务端 `get/edit/move` 查询和操作的完整 ETL。首次 `save` 时若服务端尚无 edit 基线,CLI 会输出 `信息 [save.first_save_fallback]` 并使用本地 base,这是正常路径。`警告 [save.edit_fallback]` 则表示其他 edit 读取故障后发生了兼容回退,需要检查网络、权限和本地基线。
|
|
34
34
|
|
|
35
|
-
> **触发成功 ≠ ETL 执行成功**:`run` 返回"执行已触发"仅表示后端接受了请求。使用 `run --wait` 等待终态,FAILED 时会展示真实错误消息;如果同一 ETL 已被级联触发并正在运行,`run --wait`
|
|
35
|
+
> **触发成功 ≠ ETL 执行成功**:`run` 返回"执行已触发"仅表示后端接受了请求。使用 `run --wait` 等待终态,FAILED 时会展示真实错误消息;如果同一 ETL 已被级联触发并正在运行,`run --wait` 会通过当前 ETL 的最近执行信息恢复 taskId 并等待,不需要查询管理员级全局运行任务列表。触发前会检查直接上游数据集状态和服务端 JOIN 键类型;发现风险时先告警但继续执行,可分别用 `--skip-upstream-check`、`--skip-join-type-check` 跳过检查。
|
|
36
36
|
> `run --run-upstream` 会包含目标 ETL 本身,并对计划内每个 ETL 等待终态;任一上游执行失败时会停止后续节点。
|
|
37
37
|
|
|
38
38
|
新建 ETL 时注意目录树不同:`create --parent-dir` 使用 ETL 目录树 id,输出数据集目录使用 DATA_SET 目录树 id。可用 `guancli etl tree` / `guancli ds tree` 分别查询,或用 `guanetl mkdir-pair` 成对创建。`guancli workflow tree` 是工作流/经典数据流目录树,不能作为智能 ETL 的 `create --parent-dir`。
|
|
@@ -51,6 +51,12 @@ guanetl install-skill
|
|
|
51
51
|
|
|
52
52
|
## 版本更新
|
|
53
53
|
|
|
54
|
+
### @guandata/guanetl 0.1.25
|
|
55
|
+
|
|
56
|
+
- ETL 已在运行时可直接跟踪当前任务,无需管理员级全局任务权限。
|
|
57
|
+
- 执行完成后会核验新增输出字段是否已完成物化、注册并可查询,避免任务成功但字段不可用。
|
|
58
|
+
- 预览输出会明确区分 CLI 展示行数与后端样本或数据集总量,减少对数据规模的误判。
|
|
59
|
+
|
|
54
60
|
### @guandata/guanetl 0.1.24
|
|
55
61
|
|
|
56
62
|
- ETL 预览支持一次选择多个节点,并按批次并行执行,复杂流程的检查效率更高。
|
|
@@ -83,7 +89,7 @@ guanetl install-skill
|
|
|
83
89
|
|
|
84
90
|
- 新增 `move` 命令,支持将一个或多个智能 ETL 移动到指定 ETL 目录,并在接口异常时读回确认移动结果。
|
|
85
91
|
- `run` 新增 `--run-upstream` 与配套 `--dry-run`,支持递归解析智能 ETL 上游链路、按拓扑顺序执行并等待每个节点完成。
|
|
86
|
-
- `run --wait` 遇到同一 ETL 已在运行的 40001
|
|
92
|
+
- `run --wait` 遇到同一 ETL 已在运行的 40001 响应时,会从当前 ETL 的最近执行信息恢复 taskId 并等待其完成,不依赖管理员级全局运行任务接口。
|
|
87
93
|
- `export` 静态检查新增 JOIN 键类型不一致 warning,提示 STRING/LONG 等隐式 coercion 风险。
|
|
88
94
|
|
|
89
95
|
### @guandata/guanetl 0.1.18
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
package/skills/guanetl/SKILL.md
CHANGED
|
@@ -155,7 +155,7 @@ guanetl run <etl_id> --wait # 可选:保存后触发执行并等待
|
|
|
155
155
|
|
|
156
156
|
如果 `save` 在 direct-save 前提示输出数据集绑定风险,按提示处理,不要手动删除或重命名旧输出数据集。跨目录、重名歧义、删除旧输出或无法唯一匹配时,CLI 不会猜测并默认停止保存。修复优先级:重新 `edit` 到新目录、同步 `outputDsName`、确认输出目录;确实要替换已绑定输出时,设置新的节点 id、`outputDsName` 或 `parentDirId`,并显式加 `--allow-output-replacement`。该选项只放行保存,不会迁移任何下游 dsId 引用。
|
|
157
157
|
|
|
158
|
-
|
|
158
|
+
只追加输出列只是在输出绑定层面的安全例外:新增列、不改名、不删已有列、不改已有列类型,并保持输出名称和目录时,可以原地 `save`,保存前仍需 `preview` 目标输出确认结果;这**不代表**旧 DATAFLOW 数据集已注册该字段。`run --wait` 对本轮新增且透传到输出的 `BasicCalculator` 字段,会逐个输出等待其自身的 `lastExecution.endTime` 与 `datasourceModifyTime` 推进,并同时检查数据集 metadata 和实际 preview 返回字段。任一目标输出仍在产出,或字段没有注册/不可查询,命令会以错误结束;可用 `--timeout` 延长这段校验时间。改列名、删列、改类型、换输入数据集或重接输出链路仍按下游 schema 风险处理;输出节点 id 变化仅在唯一匹配时自动协调。
|
|
159
159
|
|
|
160
160
|
保存前优先执行 `save --dry-run` 查看影响报告;`--format json` 可用于自动化检查。dry-run 不调用 direct-save,若报告出现阻断风险,先修 `etl/` 后重新 `export -> preview -> save --dry-run`。
|
|
161
161
|
如果报告出现“输出字段风险”,表示同一输出数据集中的同名字段发生类型或来源变化,服务端可能重建该列 fdId;保存前先用 `guands dataset cards <输出dsId>` 看下游卡片,保存执行后再按列名核对并重绑页面卡片 fdId。
|
|
@@ -357,7 +357,7 @@ func DefineETL() []Node {
|
|
|
357
357
|
当本地输出节点 id 被重新生成,但 `outputDsName + parentDirId` 与一个服务端已绑定输出唯一匹配时,`save` 会在请求副本中自动恢复原节点 id 和 dsId,并在影响报告中输出 `save.output_binding_reconciled`。源 `_exported.json` 不会被改写。跨目录、双方重名歧义、删除旧输出或无法唯一匹配时不会自动协调。
|
|
358
358
|
|
|
359
359
|
- 再次修改已保存 ETL,优先重新执行 `guanetl edit <etl_id> --dir <新目录>`,不要长期复用旧工作目录。
|
|
360
|
-
- 只追加输出列时,可以原地 `save`:新增列,不改名、不删已有列、不改已有列类型,并保持原 `OUTPUT_DATASET` 节点 id 和 `outputDsName
|
|
360
|
+
- 只追加输出列时,可以原地 `save`:新增列,不改名、不删已有列、不改已有列类型,并保持原 `OUTPUT_DATASET` 节点 id 和 `outputDsName`;但这只保证输出身份稳定,不保证旧 DATAFLOW 数据集的字段目录已同步。对新增并透传到输出的 `BasicCalculator` 字段,必须执行 `guanetl run <etlId> --wait`:命令会按输出数据集独立等待本轮物化,并同时验证 metadata 与实际 preview 返回字段;任一目标输出尚未完成或字段缺失都会报错。
|
|
361
361
|
- 修改已有输出 schema 时,保持原 `OUTPUT_DATASET` 节点 id;改列名、删列、改已有列类型、换输入数据集或重接输出链路都可能影响下游绑定,保存前必须重新 `preview` 并评估下游。
|
|
362
362
|
- 如果用 `guands dataset rename` 改过 ETL 输出数据集名称,必须同步 `etl.go` 中 `BasicOutputDataset(..., outputDsName, ...)` 或 `BasicOutputDatasetInDir(..., outputDsName, ...)` 的名称。
|
|
363
363
|
- 不要为了绕过同名错误手动删除旧输出数据集;旧输出通常仍被 ETL 依赖。
|