AggregationClient.rowCount正常,但sum返回null

默默的伟哥 2014-05-12 02:50:02
为什么 AggregationClient.rowCount() 正常,但是 sum 的结果则是null 呢?

java代码:
		final Scan scan = query.getScan(appName, key1, key2, key3, start, stop, hostName);

scan.addColumn(TspHbaseStatics.MONITLOG_FAMILY, TspHbaseStatics.MONITLOG_Q_V1);

AggregationClient ac = new AggregationClient(dao.getConfiguration());

LongColumnInterpreter ci = new LongColumnInterpreter();

final Long v1 = ac.sum(TableName.valueOf("MonitorLog201405"), ci, scan);
// final Long v1 = ac.rowCount(TableName.valueOf("MonitorLog201405"), ci, scan);



hbase-site.xml 配置:
<property>
<name>hbase.coprocessor.user.region.classes</name>
<value>org.apache.hadoop.hbase.coprocessor.AggregateImplementation</value>
</property>
...全文
1055 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
少主无翼 2014-11-20
  • 打赏
  • 举报
回复
Sum不出数据显然是被你的过滤器全部过滤掉了。 只在一个RS中执行,有几种情况: 1)你只在一个RS上配置协处理器 2)只有一个RS上有你想要的数据
TODAYISMONEY 2014-11-19
  • 打赏
  • 举报
回复
要是使用DoubleColumnInterpreter还要转化成double型吗,若是怎么转化?
TODAYISMONEY 2014-11-19
  • 打赏
  • 举报
回复
转化成Long型在转化成bytes和直接转化成bytes的区别是什么
无边的绿波 2014-08-13
  • 打赏
  • 举报
回复
问题,我已经解决了,在将数据入库的时候请将数字转换成long型然后再转换成bytes数组,即可进行上述统计!
  • 打赏
  • 举报
回复
ac.sum(TableName.valueOf("MonitorLog201405"), ci, scan); 这里的ci应该是DoubleColumnInterpreter而非LongColumnInterpreter
无边的绿波 2014-08-13
  • 打赏
  • 举报
回复
我也遇到这个问题了,请问楼主,你解决了吗?
默默的伟哥 2014-05-14
  • 打赏
  • 举报
回复
昨天看了下日志,只有一个 regionserver 上有执行日志,另外两台却没有输出任何信息,奇怪! rowCount 虽然正常,但是结果不对,情况也如同上面,也只有一台regionserver 执行正常! 有大神能指导下吗?

20,808

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧