1

我正在从 Pig 脚本调用用 Java 编写的 UDF。

在 UDF 中,如果由于某种原因输入不正确,我将返回null并跳过特定的行/行。

现在有很多原因我可以跳过当前行/行。我目前在我的 UDF 中使用以下日志语句

warn("XML is null, so skipping it", PigWarning.UDF_WARNING_1);
....
warn("Entity is null, so skipping it", PigWarning.UDF_WARNING_5);
.... and so on

完成 Pig 脚本后,这会给我一个综合信息,如下所示

2013-01-21 07:03:42,163 [main] WARN  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - Encountered Warning UDF_WARNING_5 5473 time(s).
2013-01-21 07:03:42,163 [main] WARN  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - Encountered Warning UDF_WARNING_1 1466 time(s).

但现在我想知道每条线路失败的原因,而不仅仅是数字。有没有办法在 Pig 中做到这一点?

4

1 回答 1

0

我发现了一个名为penny的库,它允许我在 Pig 中进行日志记录和过滤。

于 2013-01-29T10:05:02.633 回答