导出零行数据时,有没有办法阻止 Azure ML 抛出错误?
Is there a way to stop Azure ML throwing an error when exporting zero lines of data?
我目前正在开发一个 Azure ML 管道,作为其输出之一,它正在维护一个 SQL table 来保存输入其中的所有独特项目。没有办法提前知道输入管道的数据是新的唯一项目还是以前项目的重复,因此在更新它维护的 table 之前,它会提取已经在 table 中的数据并且掉落任何已经出现的新物品。
但是,由于这个原因,在某些情况下,这种自引用会导致找到零个新项目,因此没有任何内容可以导出到 SQL table。发生这种情况时,Azure ML 会抛出错误,因为要导出的数据行为零,这被视为错误。然而,就我而言,这是预期的行为,因此绝对没问题。
我有什么办法可以抑制这个错误,这样当它有零行数据要导出时,它就跳过导出模块并继续前进吗?
听起来好像您正在努力编排数据管道,因为编排在两个地方进行。我的建议是要么将更多的编排转移到 Azure ML 中,要么使两者之间的分离更大。一种方法是定期导出要用作训练的 table 的 blob。然后,您可以使用逻辑应用程序在非空 blob 到达位置时触发管道
此问题已通过更新 Azure 机器学习得到解决;您现在可以 运行 将标志设置为“失败步骤继续”的管道,这意味着失败数据导出后的步骤将继续到 运行。
这确实意味着您需要将管道设计为能够处理其下游模块中的上游故障;这必须非常小心地完成。
我目前正在开发一个 Azure ML 管道,作为其输出之一,它正在维护一个 SQL table 来保存输入其中的所有独特项目。没有办法提前知道输入管道的数据是新的唯一项目还是以前项目的重复,因此在更新它维护的 table 之前,它会提取已经在 table 中的数据并且掉落任何已经出现的新物品。
但是,由于这个原因,在某些情况下,这种自引用会导致找到零个新项目,因此没有任何内容可以导出到 SQL table。发生这种情况时,Azure ML 会抛出错误,因为要导出的数据行为零,这被视为错误。然而,就我而言,这是预期的行为,因此绝对没问题。
我有什么办法可以抑制这个错误,这样当它有零行数据要导出时,它就跳过导出模块并继续前进吗?
听起来好像您正在努力编排数据管道,因为编排在两个地方进行。我的建议是要么将更多的编排转移到 Azure ML 中,要么使两者之间的分离更大。一种方法是定期导出要用作训练的 table 的 blob。然后,您可以使用逻辑应用程序在非空 blob 到达位置时触发管道
此问题已通过更新 Azure 机器学习得到解决;您现在可以 运行 将标志设置为“失败步骤继续”的管道,这意味着失败数据导出后的步骤将继续到 运行。
这确实意味着您需要将管道设计为能够处理其下游模块中的上游故障;这必须非常小心地完成。