我希望将来自融合表的数据与集成在对象类型中的数据进行比较;当用户能够在对象资源管理器中更新和创建数据时,我需要与写回数据集的数据进行比较。
写回数据集不能是输出为相关支持数据集的转换中的输入:它会引发循环依赖错误。
因此,我尝试从上下文中读取写回数据集,使用如下所示:
@transform(
my_fusion=Input("fusion_dataset_path"),
my_output=Output("backing_dataset_path")
)
def my_compute_function(my_input, my_output, ctx):
my_writeback = ctx._foundry.input("write_back_dataset_path", branch="master")
my_df = ... # All controls come here
my_output.write_dataframe(my_df) 问题是,由于一个错误,它没有被接受:
ValueError:无法使用路径write_back_dataset_path查找资源
我不明白为什么在这种情况下它会失败,而我已经在其他转换中使用了这种语法。
提前谢谢你的帮助。
发布于 2022-03-28 08:40:54
经过几次搜索和尝试,我得出的结论是,这是不可能的。
将数据集包含在转换中有两种方法:要么将其声明为输入或输出,要么将其作为上下文的一部分打开。这两种选择都不允许:
我终于找到了解决我的问题的方法:验证过程运行了两次:第一次它导致了用户看不到的“技术”数据集,在这里应用了所有的更新。然后第二次构建用户看到的输出数据集。他对其应用更改,并在第一个上复制它们,以允许第二个验证过程再次运行并验证所编辑的数据。所有这些都是基于用户界面的动作类型和工作室。
https://stackoverflow.com/questions/71432125
复制相似问题