Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在apachecrunch中,如何确定PCollection或PTable中是否包含任何元素?如果是,有多少?_Java_Hadoop_Collections_Mapreduce_Apache Crunch - Fatal编程技术网

Java 在apachecrunch中,如何确定PCollection或PTable中是否包含任何元素?如果是,有多少?

Java 在apachecrunch中,如何确定PCollection或PTable中是否包含任何元素?如果是,有多少?,java,hadoop,collections,mapreduce,apache-crunch,Java,Hadoop,Collections,Mapreduce,Apache Crunch,我试图设置一个断点,并在watch窗口中执行以下操作:check.getSize(),它应该返回字节大小。和.materialize()查看是否可以查看java对象 .getSize()确实显示了一个大于0的数字,但我怀疑这是否应该是PTable包含元素的指示符。.materialize()没有显示任何指示元素存在的内容 提前感谢。不要依赖PCollection.size()方法来检查集合是否为空,而应该使用PCollection.length(),这正是您需要的。而不是依赖PCollectio

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

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


提前感谢。

不要依赖
PCollection.size()
方法来检查集合是否为空,而应该使用
PCollection.length()
,这正是您需要的。

而不是依赖
PCollection.size()
方法来检查集合是否为空,您应该使用
PCollection.length()
,这正是您所需要的。

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

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

我现在偶然发现了同样的问题。.length调用.在后台具体化吗?这是一种对资源敏感的方法吗?重要的是,它似乎并没有像它应该的那样工作。{code}LOGGER.info(“大小:{}”,personRecordTable.length());{code}给我{code}大小:PTables.values{code}我现在偶然发现了同样的问题。.length调用.在后台具体化吗?这是一种对资源敏感的方法吗?重要的是,它似乎并没有像它应该的那样工作。{code}LOGGER.info(“大小:{}”,personRecordTable.length());{code}给我{code}大小:PTables.values{code}