生产情况
生产情况介绍
汽车故障码明细数据量大(PB级),明细数据存储在hbase中,早期产品的需求主要是根据tuid查询某天某车某控制器的故障情况,所以rowkey的设计规则是:tuid+日期+控制器+故障码编号+时间戳,这样,相安无事。现在需求是,查指定TUID的某段时间的明细数据,时间跨度不超过7天,查询条件时间精确到秒,接口返回时间不超过1秒。
方案设计
初始方案是,由于无法保障数据在同一个resion中,所以不能用Hbase原生的PageFilter进行过滤scan,考虑构建FilterList, 采用startRow和endRow方式过滤,scan出起始时间当天到截止时间当天的所有的数据,再进行过滤即可,但是该方案有个非常耗时的操作,不是扫描,是扫描后数据的提取
scan.setFilter(filterList);
List<byte[]> list = new <