public static Configuration initConf(Configuration conf, String date) throws IOException { Scan scan = new Scan(); scan.setCaching(300); scan.setMaxVersions(); scan.addFamily(HTableConstant.IPJ_STATICS_INDEX_IMEI_FAMILY); scan.addColumn(HTableConstant.IPJ_STATICS_INDEX_IMEI_FAMILY, HTableConstant.IPJ_STATICS_INDEX_VERSION_QUALIFIER); scan.addColumn(HTableConstant.IPJ_STATICS_INDEX_IMEI_FAMILY, HTableConstant.IPJ_STATICS_INDEX_TIME_QUALIFIER); scan.addColumn(HTableConstant.IPJ_STATICS_INDEX_IMEI_FAMILY, HTableConstant.IPJ_STATICS_INDEX_DATE_QUALIFIER); FilterList list = new FilterList(); HBaseManager.addTimeStampExcludeFilter(list, HTableConstant.IPJ_STATICS_INDEX_IMEI_FAMILY, HTableConstant.IPJ_STATICS_INDEX_DATE_QUALIFIER, Bytes.toBytes(date)); scan.setFilter(list); conf.set("date", date); conf.set(TableInputFormat.INPUT_TABLE, HTableConstant.ACCESS_INDEX_TABLE_NAME); conf.set(TableInputFormat.SCAN, StatUtils.convertScanToString(scan)); return conf; }
使用上面的方法进行过滤(addTimeStampExcludeFilter)的话,map中获取app_id
和imei的方法:
protected void map(ImmutableBytesWritable key, Result value, Context context) throws IOException, InterruptedException { String keyStr = Bytes.toString(key.get()); String appIdStr = keyStr.substring(2, 4); byte[] app_id = Bytes.toBytes(appIdStr); byte[] imei = keyStr.substring(4).getBytes(); // if version = 2 if (value.raw().length == 2) { byte[] version = value.getValue( HTableConstant.IPJ_STATICS_INDEX_IMEI_FAMILY, HTableConstant.IPJ_STATICS_INDEX_VERSION_QUALIFIER); byte[] time = value.getValue( HTableConstant.IPJ_STATICS_INDEX_IMEI_FAMILY, HTableConstant.IPJ_STATICS_INDEX_TIME_QUALIFIER); if (version != null) { outkey.set(app_id, 0, app_id.length, version, imei, time); context.write(outkey, ONE); } } }
value.raw().length的值:
1.当job中过滤一行时,那么 value.raw().length = 1 表示新增UV
value.raw().length > 1 表示活跃UV
2.当job中过滤两行时,那么(上述代码情况)
value.raw().length = 2 表示新增UV
value.raw().length > 2 表示活跃UV
相关推荐
hbase官网下载地址(官网下载太慢): https://downloads.apache.org/hbase/ 国内镜像hbase-2.4.16: https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.4.16/hbase-2.4.16-bin.tar.gz
通过阅读源码,开发者可以更深入地理解HBase的工作原理,优化应用程序性能,解决遇到的问题,或者为HBase贡献新的功能和改进。此外,还可以对比不同版本的源码,了解HBase的发展历程和技术演进。
搭建pinpoint需要的hbase初始化脚本hbase-create.hbase
【标题】"zookeeper+hadoop+hbase.rar" 提供了一个集成的大数据处理环境,其中包含了三个关键组件:Zookeeper、Hadoop和HBase。这些组件在大数据生态系统中扮演着重要角色,尤其对于分布式存储和计算。 【Zookeeper...
4. http://www.apache.org/dyn/closer.cgi/hbase/ 5. http://hbase.apache.org/docs/current/source-repository.html 6. http://hbase.apache.org/docs/current/issue-tracking.html 7. ...
本文将HBase-2.2.1安装在Hadoop-3.1.2上,关于Hadoop-3.1.2的安装,请参见《基于zookeeper-3.5.5安装hadoop-3.1.2》一文。安装环境为64位CentOS-Linux 7.2版本。 本文将在HBase官方提供的quickstart.html文件的指导...
echo "export HBASE_HOME=/home/demo/hbase/hbase-1.2.2" >> /etc/profile echo "export PATH=$PATH:$HBASE_HOME/bin" >> /etc/profile source /etc/profile 配置hbase-env.sh文件 现在,我们需要配置hbase-env....
本节我们将深入探讨HBase中的过滤器机制,这是优化数据查询性能的关键技术。 HBase过滤器允许我们在读取数据时对结果进行筛选,减少不必要的I/O操作,从而提高效率。它们是通过实现`Filter`接口来定义的,并在扫描...
7. **性能优化**:HBase提供了多种优化策略,如表分区、布隆过滤器、压缩等,可以根据实际场景调整以提升性能。 8. **安全性**:HBase支持Kerberos认证,可以实现安全的集群环境。同时,可以利用Hadoop的权限管理来...
批量执行hbase shell 命令 #!/bin/bash source /etc/profile exec $HBASE_HOME/bin/hbase shell <<EOF truncate 'tracker_total_apk_fact_zyt' major_compact('t_abc') disable 't_abc' drop 't_abc' create...
Java SpringBoot 连接 Hbase Demo 创建表 插入数据 列族 列 查询:全表、数据过滤 删除数据 删除表 Hbase 集群搭建:https://blog.csdn.net/weixin_42176639/article/details/131796472
过滤器可以根据列族、列、版本等更多的条件来对数据进行过滤,基于 HBase 本身提供的三维有序(行键,列,版本有序),这些过滤器可以高效地完成查询过滤的任务,带有过滤器条件的 RPC 查询请求会把过滤器分发到各个...
配置hive-0.9.0和hbase-0.94.1结合使用,部分内容如下: 1.拷贝hbase-0.94.1.jar和zookeeper-3.4.3.jar到hive/lib下。 注意:如hive/lib下已经存在这两个文件的其他版本,建议删除后使用hbase下的相关版本。 //...
可以从HBase的官方网站(http://hadoop.apache.org/hbase/)下载。这里使用的是HBase-0.20.4版本。 三、安装HBase 1. 解压下载的压缩包。 2. 在conf/hbase-env.sh文件中添加配置项,例如export JAVA_HOME=/...
由于网上下的不支持最新的hadoop,hbase 版本自己稍微修改了下,支持最新版本HBase的图形化管理工具,目前修改改为hadoop-2.7.1版本,hbase-1.1.2版本,依赖...hbase配置直接在hbase.xml中配置即可,如有问题欢迎留言。
Hbase过滤器详解,基础篇
运行HBase服务端 "/mnt/hgfs/yyx/hbase-0.98.18-hadoop1/bin/start-hbase.sh"(此目录实际会有变化) 根据实际测试情况,调整参数,运行项目即可 Web方式 Myeclipse导入webApp项目 运行Hive服务端 "/mnt/hgfs/yyx/...
wget http://mirror.bit.edu.cn/apache/hbase/stable/hbase-2.2.3-bin.tar.gz 解压压缩包 tar -zxvf hbase-2.2.3-bin.tar.gz 修改/opt/hbase-2.2.3/conf/hbse-env.sh文件 第一步 设置javahome export JAVA_HOME=/...