Java validateArgAndGetPB处的Hbase countRow空指针异常

Java validateArgAndGetPB处的Hbase countRow空指针异常,java,hadoop,nullpointerexception,hbase,bigdata,Java,Hadoop,Nullpointerexception,Hbase,Bigdata,你好,我在Hbase工作。 我想计算表中的行数,所以我使用了AggregationClient.rowCount() 但我遇到了空点异常 java.lang.NullPointerException 位于org.apache.hadoop.hbase.client.coprocessor.AggregationClient.validateArgAndGetPB(AggregationClient.java:804) 位于org.apache.hadoop.hbase.client.coproc

你好,我在Hbase工作。 我想计算表中的行数,所以我使用了AggregationClient.rowCount()

但我遇到了空点异常

java.lang.NullPointerException 位于org.apache.hadoop.hbase.client.coprocessor.AggregationClient.validateArgAndGetPB(AggregationClient.java:804) 位于org.apache.hadoop.hbase.client.coprocessor.AggregationClient.rowCount(AggregationClient.java:306) 位于com.naver.hbase.Main.countRows(Main.java:131) 位于com.naver.hbase.Main.Main(Main.java:58)


如何解决它?

行计数方法需要3个参数

long rowCount(final Table table, final ColumnInterpreter<R, S, P, Q, T> ci, final Scan scan) throws Throwable {

您正在传递
ci=null
,问题就在那里

我最近遇到了同样的问题,通过为rowCount提供ColumnTranslator解决了这个问题。以下是代码:

ColumnInterpreter ci = new LongColumnInterpreter();
long  rowCount = aggregationClient.rowCount(htable,  ci, scan);

你也可以添加aggregationClient代码吗?我用的是Hbase aggregationClient classI,我不知道该用什么来表示这个参数。你能解释一下我应该放什么吗?我是按照这个密码写的
final AggregateRequest requestArg = validateArgAndGetPB(scan, ci, false);
ColumnInterpreter ci = new LongColumnInterpreter();
long  rowCount = aggregationClient.rowCount(htable,  ci, scan);