Hbase中Filter的使用
2016-01-07 10:40
344 查看
/** * 组装查询条件成hbase 过滤器 */ public static Filter getOrderQueryFilter(QueryCondition qc) { // MUST_PASS_ALL(条件 AND) MUST_PASS_ONE(条件OR) Filter filter = null; List<Filter> filters = new ArrayList<Filter>(); if (qc != null && qc.getPay_time_start() != null && !qc.getPay_time_start().equals("")) { Filter filter_payTime_start = HBaseUtil.getSingleColumnValueFilter("infor", "pay_time", CompareOp.GREATER_OR_EQUAL, qc.getPay_time_start()); // 订单支付开始时间 filters.add(filter_payTime_start); } if (qc != null && qc.getPay_time_end() != null && !qc.getPay_time_end().equals("")) { Filter filter_payTime_end = HBaseUtil.getSingleColumnValueFilter("infor", "pay_time", CompareOp.LESS_OR_EQUAL, qc.getPay_time_end()); // 订单支付结束时间 filters.add(filter_payTime_end); } if (qc != null && qc.getOrder_belong() != null && !qc.getOrder_belong().equals("")) { Filter filter_order_belong = HBaseUtil.getSingleColumnValueFilter("infor", "order_belong", CompareOp.EQUAL, qc.getOrder_belong()); // 订单归属 filters.add(filter_order_belong); } // 组合订单状态所得到的过滤器[查询多种状态使用] if (qc != null && qc.getOrder_status() != null && !qc.getOrder_status().equals("")) { Filter orderStatusFilter = null; List<Filter> orderStatusFilters = new ArrayList<Filter>(); Filter columnValueFilter; for(String order_status : qc.getOrder_status().split(",")){ columnValueFilter = HBaseUtil.getSingleColumnValueFilter("state", "html_order_status", CompareOp.EQUAL, order_status); orderStatusFilters.add(columnValueFilter); } orderStatusFilter = new FilterList(Operator.MUST_PASS_ONE, orderStatusFilters); filters.add(orderStatusFilter); } //组合供应商名称所得到的过滤器 if (qc != null && qc.getMerchant_name() != null && !qc.getMerchant_name().equals("")) { Filter merchantNameFilter = HBaseUtil.getSingleColumnValueFilter("infor", "merchant_name", CompareOp.EQUAL, qc.getMerchant_name()); filters.add(merchantNameFilter); } //组合仓库代码所得到的过滤器 if (qc != null && qc.getOpencity_sn() != null && !qc.getOpencity_sn().equals("")) { Filter opencitySnFilter = HBaseUtil.getSingleColumnValueFilter("storage", "opencity_sn", CompareOp.EQUAL, qc.getOpencity_sn()); filters.add(opencitySnFilter); } // 总的过滤器 filter = new FilterList(Operator.MUST_PASS_ALL, filters); return filter; }
/** * 组装查询条件成hbase 过滤器 */ public static Filter getOrderQueryFilter(QueryCondition qc) { // MUST_PASS_ALL(条件 AND) MUST_PASS_ONE(条件OR) Filter filter = null; List<Filter> filters = new ArrayList<Filter>(); if (qc != null && qc.getPay_time_start() != null && !qc.getPay_time_start().equals("")) { Filter filter_payTime_start = HBaseUtil.getSingleColumnValueFilter("infor", "pay_time", CompareOp.GREATER_OR_EQUAL, qc.getPay_time_start()); // 订单支付开始时间 filters.add(filter_payTime_start); } if (qc != null && qc.getPay_time_end() != null && !qc.getPay_time_end().equals("")) { Filter filter_payTime_end = HBaseUtil.getSingleColumnValueFilter("infor", "pay_time", CompareOp.LESS_OR_EQUAL, qc.getPay_time_end()); // 订单支付结束时间 filters.add(filter_payTime_end); } if (qc != null && qc.getOrder_belong() != null && !qc.getOrder_belong().equals("")) { Filter filter_order_belong = HBaseUtil.getSingleColumnValueFilter("infor", "order_belong", CompareOp.EQUAL, qc.getOrder_belong()); // 订单归属 filters.add(filter_order_belong); } // 组合订单状态所得到的过滤器[查询多种状态使用] if (qc != null && qc.getOrder_status() != null && !qc.getOrder_status().equals("")) { Filter orderStatusFilter = null; List<Filter> orderStatusFilters = new ArrayList<Filter>(); Filter columnValueFilter; for(String order_status : qc.getOrder_status().split(",")){ columnValueFilter = HBaseUtil.getSingleColumnValueFilter("state", "html_order_status", CompareOp.EQUAL, order_status); orderStatusFilters.add(columnValueFilter); } orderStatusFilter = new FilterList(Operator.MUST_PASS_ONE, orderStatusFilters); filters.add(orderStatusFilter); } //组合供应商名称所得到的过滤器 if (qc != null && qc.getMerchant_name() != null && !qc.getMerchant_name().equals("")) { Filter merchantNameFilter = HBaseUtil.getSingleColumnValueFilter("infor", "merchant_name", CompareOp.EQUAL, qc.getMerchant_name()); filters.add(merchantNameFilter); } //组合仓库代码所得到的过滤器 if (qc != null && qc.getOpencity_sn() != null && !qc.getOpencity_sn().equals("")) { Filter opencitySnFilter = HBaseUtil.getSingleColumnValueFilter("storage", "opencity_sn", CompareOp.EQUAL, qc.getOpencity_sn()); filters.add(opencitySnFilter); } // 总的过滤器 filter = new FilterList(Operator.MUST_PASS_ALL, filters); return filter; }
相关文章推荐
- jQuery plugin items filter
- Facebook's New Real-time Messaging System: HBase to Store 135+ Billion Messages a Month
- Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别
- 康诺云推出三款智能硬件产品,为健康管理业务搭建数据池
- 全国哀悼日网站页面变成灰色的filter方法
- 用css filter做鼠标滑过图片效果
- MySQL中使用innobackupex、xtrabackup进行大数据的备份和还原教程
- ASP 使用Filter函数来检索数组的实现代码
- ASP.NET MVC:Filter和Action的执行介绍
- JSP Filter的应用方法
- PHP中实现Bloom Filter算法
- 基于HBase Thrift接口的一些使用问题及相关注意事项的详解
- Jquery find与filter函数区别 说明
- Event filter with query SELECT * FROM __InstanceModificationEvent WITHIN
- PHP内置过滤器FILTER使用实例
- PHP中filter函数校验数据的方法详解
- php+ajax导入大数据时产生的问题处理
- C# 大数据导出word的假死报错的处理方法
- javascipt:filter过滤介绍及使用
- 浅析AngularJS Filter用法