Java PIG-udf中的超时

Java PIG-udf中的超时,java,hadoop,apache-pig,Java,Hadoop,Apache Pig,我想在我的udf函数中引入一个超时。据我所知,注释 监视器显示 将终止exec函数并返回null。然而,由于之前可能有一些成功的处理,我希望它避免扔掉所有的数据。理想情况下,我希望为UDF中的特定代码部分实现超时。你知道怎么做吗 谢谢也许可以看看MonitorUdf的ErrorHandler和TimeoutHadler 从这里 如果需要,还可以通过以下方式实现自定义逻辑以进行错误处理: 创建MonitoredExecutor.ErrorCallback的子类,以及 重写其handleError和

我想在我的udf函数中引入一个超时。据我所知,注释

监视器显示

将终止exec函数并返回null。然而,由于之前可能有一些成功的处理,我希望它避免扔掉所有的数据。理想情况下,我希望为UDF中的特定代码部分实现超时。你知道怎么做吗


谢谢

也许可以看看MonitorUdf的ErrorHandler和TimeoutHadler

从这里

如果需要,还可以通过以下方式实现自定义逻辑以进行错误处理: 创建MonitoredExecutor.ErrorCallback的子类,以及 重写其handleError和/或handleTimeout方法。这两个 方法是静态的,并在EvalFunc实例中传递 这产生了一个异常,以及一个异常,因此您可以使用 UDF中的任何状态,以根据需要处理错误。这个 默认行为是每次出错时递增Hadoop计数器 遇到了。一旦有了ErrorCallback的实现 执行自定义逻辑的,可以在注释中提供:

import org.apache.pig.builtin.MonitoredUDF;
@MonitoredUDF(errorCallback=MySpecialErrorCallback.class)
公共类MyUDF扩展了EvalFunc{
/*实现就在这里*/
}
import org.apache.pig.builtin.MonitoredUDF;

@MonitoredUDF(errorCallback=MySpecialErrorCallback.class)
public class MyUDF extends EvalFunc<Integer> {
  /* implementation goes here */
}