HBase操作注意事项


1.HBase如果加了列限定,如果该列不存在时返回的结果为empty. 看下面的代码: 这里加入了列限定,也就是只返回列族info下面的name字段。但是如果name字段根本不存在,返回的Result在调用
result.isEmpty()时则返回为true,也就是说就算其他字段存在,也什么都没返回来,包括rowkey也没有返回来。当然,如果是限定多
个列,只要一个列存在就可以正常返回。所以需要注意。2.HBase在scan时指定的StartRow里面不能加“-” 看下面的代码:我的本意是查询rowkey以 3136947- 开头的行,但是因为我的里面有一个-(“杠”),所以什么都没返回,去掉-后正常。这说明这里是不能使用-,-也并不是转义字符,转义后也还是scan不出来的。不知道其他字符是不是也不行,没有测试。 所以需要注意。

3.HBase在scan时过滤掉指定列不存在的记录如果想返回某个字段必须存在的行,不存在该字段的记录过滤掉不返回,方法如下:注意:如果是判断某个列是否存在,必须在addColumn里面加上该列,也就是必须返回的字段里面必须包含该列,否则也不会返回,因为在处理的时候是调用addColumn然后才会调用过滤器。这里的过滤器里面指定该列的字段值必须不等于0(当然,如果你的name里有等于0的当然不能使用0),并且设置setFilterIfMissing为true,也就是设置为如果该列不存在就过滤掉这条数据,默认为false。4.利用MapRe免费云主机域名duce导出hbase数据如果hbase作为数据的输出,job设置如下:在initTableMapperJob里面设置的map必须继承org.apache.hadoop.hbase.mapreduce.TableMapper,并且最后两个设置的参数是自己定义的map的输出时的key和value的类型。5.利用mapReduce插入数据到HBase如果hbase作为数据的输入。代码如下:这里map的输出必须是key为ImmutableBytesWritable,value为 Put

相关推荐: PostgreSQL中Old Master节点分析

本篇内容介绍了“PostgreSQL中Old Master节点分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就免费云主机域名让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!基于streaming repli…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/20 20:01
下一篇 01/20 20:11