Java validateArgAndGetPB处的Hbase countRow空指针异常
你好,我在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)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
如何解决它?行计数方法需要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);