You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

数据流中Derived Column Transformation搭配Cache Sink无法使用如何解决

报错根因分析

报错信息:Function 'outputs' applies to only sink transformation with right saveOrder
这个报错出现在映射数据流场景中,核心原因是outputs()函数的使用场景不符合要求:该函数仅支持在配置了正确saveOrder(保存顺序)的Sink转换中调用,在Derived Column(派生列)等非Sink转换中调用,或者Cached Sink未配置正确的saveOrder参数时都会触发报错。

具体解决步骤
  • 检查派生列转换的表达式:删除你在派生列中错误写入的outputs()相关逻辑,写入Cached Sink前的预处理直接操作当前数据流的字段即可,不需要调用Sink专属函数。
  • 调整数据流节点执行顺序:所有预处理操作(包括派生列、过滤、Join等转换)都需要放在Cached Sink的上游,完成所有数据处理后再接入Cached Sink节点,不要颠倒顺序。
  • 配置Cached Sink的saveOrder参数:打开Cached Sink的设置面板,找到saveOrder配置项,单缓存Sink直接赋值为1即可;如果存在多个Sink,按你需要的执行顺序从小到大设置整数值即可。
  • 若后续节点需要引用Cached Sink的输出:必须在Sink节点之后的转换逻辑中调用,调用格式为你的缓存Sink名称#outputs(),不要在预处理阶段调用。
验证操作

调整完成后先运行数据流的调试模式,分别查看派生列转换的输出、Cached Sink的输出是否符合预期,再执行全量作业确认报错完全消除。

内容的提问来源于stack exchange,提问作者qudsif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 02:48:02