`

HBase常用功能和HBase+MapReduce使用总结

阅读更多

1.HBase如果加了列限定,如果该列不存在时返回的结果为empty.

        看下面的代码:

        

1
2
  Get get = new Get(Bytes.toBytes("100"));
    get.addColumn(Bytes.toBytes("info"), Bytes.toBytes("name"));

这里加入了列限定,也就是只返回列族info下面的name字段。但是如果name字段根本不存在,返回的Result在调用result.isEmpty()时则返回为true,也就是说就算其他字段存在,也什么都没返回来,包括rowkey也没有返回来。当然,如果是限定多个列,只要一个列存在就可以正常返回。所以需要注意。

2.HBase在scan时指定的StartRow里面不能加-

看下面的代码:

 

1
2
3
4
Scan scan = new Scan();
 
 scan.setStartRow(Bytes.toBytes("3136947-"));
 scan.setStopRow(Bytes.toBytes("3136947-" + 1));

我的本意是查询rowkey以 3136947- 开头的行,但是因为我的里面有一个-(“杠”),所以什么都没返回,去掉-后正常。这说明这里是不能使用-,-也并不是转义字符,转义后也还是scan不出来的。不知道其他字符是不是也不行,没有测试。 所以需要注意。

 

3.HBase在scan时过滤掉指定列不存在的记录

如果想返回某个字段必须存在的行,不存在该字段的记录过滤掉不返回,方法如下:

1
2
3
4
5
6
7
8
9
10
11
12
Scan scan = new Scan();
 
        scan.setStartRow(Bytes.toBytes("3136947"));
        scan.setStopRow(Bytes.toBytes("3136947" + 1));
 
        scan.addColumn(Bytes.toBytes("info"),
                Bytes.toBytes("name"));
        SingleColumnValueFilter filter = new SingleColumnValueFilter(Bytes.toBytes("info"),
                Bytes.toBytes("name"),
                CompareFilter.CompareOp.NOT_EQUAL, Bytes.toBytes("0"));
        filter.setFilterIfMissing(true);
        scan.setFilter(filter);

 

 

注意:如果是判断某个列是否存在,必须在addColumn里面加上该列,也就是必须返回的字段里面必须包含该列,否则也不会返回,因为在处理的时候是调用addColumn然后才会调用过滤器。

这里的过滤器里面指定该列的字段值必须不等于0(当然,如果你的name里有等于0的当然不能使用0),并且设置setFilterIfMissing为true,也就是设置为如果该列不存在就过滤掉这条数据,默认为false。

 

 

 

 

 

http://blog.sina.com.cn/s/blog_68674da70102vabb.html

分享到:
评论

相关推荐

    HDFS+MapReduce+Hive+HBase十分钟快速入门.pdf

    HDFS+MapReduce+Hive+HBase十分钟快速入门.pdf

    基于Python+SpringBoot+Vue+HDFS+MapReduce+HBase+Hive+Kafka+Sp.zip

    标题中的“基于Python+SpringBoot+Vue+HDFS+MapReduce+HBase+Hive+Kafka+Spark”提到了一系列技术,它们都是大数据处理、分布式系统和Web开发的重要组件。接下来,我们将深入探讨这些技术及其在实际项目中的应用。 ...

    mapreduce方式入库hbase hive hdfs

    mapreduce方式入库hbase hive hdfs,速度很快,里面详细讲述了代码的编写过程,值得下载

    Hadoop+Spark+Hive+HBase+Oozie+Kafka+Flume+Flink+ES+Redash等详细安装部署

    在大数据领域,构建一个完整的生态系统是至关重要的,其中包括多个组件,如Hadoop、Spark、Hive、HBase、Oozie、Kafka、Flume、Flink、Elasticsearch和Redash。这些组件协同工作,提供了数据存储、处理、调度、流...

    基于javaweb + mapreduce的小型电影推荐系统

    Java Web是开发Web应用程序的标准技术,用于构建服务器端功能和用户界面。推荐系统则是利用用户行为和兴趣模式来预测他们可能喜欢的电影,通常包括矩阵分解、协同过滤等算法。 在实际项目中,数据预处理是一个重要...

    HDFS+MapReduce+Hive+HBase十分钟快速入门

    HDFS+MapReduce+Hive+HBase十分钟快速入门,包括这几个部分的简单使用

    HDFS+MapReduce+Hive+HBase十分钟快速入门.zip_hbase_hdfs_hive_mapReduce

    本资料“HDFS+MapReduce+Hive+HBase十分钟快速入门”旨在帮助初学者迅速理解这些技术的基础概念和应用场景。 **HDFS(Hadoop Distributed File System)**: HDFS是Apache Hadoop项目的核心部分,是一种分布式文件...

    详解Hadoop核心架构HDFS+MapReduce+Hbase+Hive

    通过这一阶段的调研总结,从内部机理的角度详细分析,HDFS、MapReduce、Hbase、Hive是如何运行,以及基于Hadoop数据仓库的构建和分布式数据库内部具体实现。如有不足,后续及时修改。整个Hadoop的体系结构主要是通过...

    《hadoop-HDFS+MapReduce+Hive+Hbase快速入门》

    《hadoop-HDFS+MapReduce+Hive+Hbase快速入门》,一门入门hadoop的经典书籍,相信能够给学习云计算的大家带来帮助。

    安装笔记:hadoop+hbase+sqoop2+phoenix+kerberos

    至于Phoenix,它是SQL查询引擎,直接在HBase之上提供关系型数据库功能,使得通过SQL语句操作HBase变得更加方便。而Sqoop2则是一个数据迁移工具,用于在Hadoop和传统数据库之间导入导出数据。 总的来说,这个安装...

    大数据Hadoop+HBase+Spark+Hive集群搭建教程(七月在线)1

    在构建大数据处理环境时,Hadoop、HBase、Spark和Hive是四个核心组件,它们协同工作以实现高效的数据存储、处理和分析。本教程将详细介绍如何在Ubuntu系统上搭建这些组件的集群。 1. **Hadoop**:Hadoop是Apache...

    HBase MapReduce完整实例

    总结,HBase MapReduce的结合使用,为企业提供了强大的大数据处理能力,既满足了实时性需求,又能够处理海量数据。通过Eclipse工程实例,开发者可以直观地学习和掌握这种结合方式,提升大数据处理的技能。

    HBase MapReduce完整实例.rar

    1. **案例介绍**:详细讲解如何使用HBase和MapReduce进行数据处理,包括设置环境、配置HBase与MapReduce的集成、编写MapReduce程序等步骤。 2. **代码示例**:提供实际的Java代码,演示如何编写Map和Reduce函数来...

    hadoop1.1.2操作例子 包括hbase hive mapreduce相应的jar包

    这些工具是大数据处理生态系统中的核心组件,下面将分别详细介绍它们的功能和用法。 **Hadoop**: Hadoop是Apache基金会的一个项目,它提供了一个分布式文件系统(HDFS)和MapReduce计算模型。HDFS允许数据在多台...

    徐老师大数据培训Hadoop+HBase+ZooKeeper+Spark+Kafka+Scala+Ambari

    它主要由两个部分组成:HDFS(Hadoop Distributed File System)和MapReduce。 - **HDFS**:用于存储大规模数据的分布式文件系统,可以高效地处理PB级别的数据量。 - **MapReduce**:一种编程模型,用于并行处理...

    MapReduce on Hbase

    这些API的文档会详细介绍如何使用各种功能,例如如何连接到HBase集群、如何执行CRUD(创建、读取、更新、删除)操作以及如何实现自定义的过滤器和比较器等。 此外,API文档中也包含了如何设置和配置HBase作业的示例...

    基于MapReduce和HBase的海量网络数据处理.pdf

    基于MapReduce和HBase的海量网络数据处理 大数据时代,网络数据的处理和分析变得越来越重要。传统的网络数据处理模式已经无法满足大数据量的需求,需要寻求更高效的网络数据计算模式和数据存储模式。基于MapReduce...

    spark环境安装(Hadoop HA+Hbase+phoneix+kafka+flume+zookeeper+spark+scala)

    - 关闭防火墙:使用命令`systemctl stop firewalld`关闭防火墙,并使用`systemctl disable firewalld`禁用防火墙启动。 - 设置DNS解析:确保所有服务器之间可以通过名称相互通信。 - 安装必要的工具:例如SSH、SCP等...

Global site tag (gtag.js) - Google Analytics