在Apache Crunch中,如何确定PCollection或PTable中是否包含任何元素?如果是这样多少?

时间:2014-08-25 19:48:29

标签: java hadoop collections mapreduce apache-crunch

我试图设置一个断点并在监视窗口中执行以下操作:检查.getSize(),它应返回以字节为单位的大小。和.materialize()看看我是否可以查看java对象。

.getSize()确实显示一个数字> 0但我怀疑这是否应该是具有元素的PTable的指示符。 .materialize()没有显示任何指示元素存在的内容。

提前致谢。

2 个答案:

答案 0 :(得分:3)

您应该使用PCollection.size(),而不是依靠PCollection.length()方法来检查您的收藏是否为空,而是{{1}},这正是您所需要的。

答案 1 :(得分:1)

我有时会遇到这个问题,而物化的API方法确实没有给出满意的结果。我建议创建一个简单的DoFn,它将此PCollection作为输入并使用记录器来查看它是否包含元素。 而PCollection getSize()方法将有助于了解它有多少元素。