转载请标明出处:http://blackwing.iteye.com/blog/1978501
org.apache.hadoop.io.Text里面的getBytes方法有个小坑。
先看现场:
String s = "91223224-20131120-96413376-150";
Text t = new Text();
t.set(s);
Put put = new Put(t.getBytes());//*1
put.add("kq".getBytes(), "0".getBytes(),"1".getBytes());
List<Put> puts = new ArrayList<Put>();
puts.add(put);
Put put2 = new Put(t.toString().getBytes());//*2
put2.add("kq".getBytes(), "1".getBytes(),"2".getBytes());
puts.add(put2);
try {
table.batch(puts);
table.flushCommits();
table.close();
} catch (Exception e) {
e.printStackTrace();
}
其中标注的地方就是差别所在。如果按照*1方式put到hbase,跟按照*2方式put到hbase得到的数据如下:
91223224-20131120-96413376-150\x00\x00\x00
91223224-20131120-96413376-150
原因是getBytes获得的字节数组长度跟Text.getLength获得的长度不一致,不足的地方Text会自动补全。
String s = "91223224-20131120-96413376-150";
Text t = new Text();
t.set(s);
System.out.println(t.getLength()+" | "+t.getBytes().length);
输出结果是:30 | 33
所以如果要把Text的内容put到hbase,最保险的方式是先转换为String在获得字节数组Text.toString().getBytes()
分享到:
相关推荐
将数据从Hadoop中向HBase载入数据,该过程大致可以分为两步: 一、将Hadoop中普通文本格式的数据转化为可被HBase识别的HFile文件,HFile相当于Oracle中的DBF数据 文件。 二、将HFile载入到HBase中,该过程实际就是...
Hadoop数据迁移--从Hadoop向HBase
在搭建Hadoop HA高可用集群时,需要考虑到Hadoop、Zookeeper和HBase三个组件之间的版本兼容性问题。不同的版本组合可能会出现不兼容问题,因此需要选择合适的版本组合。 四、安装和配置Zookeeper Zookeeper是...
介绍hbase和hadoop数据块损坏如何处理
Hadoop2.6+HA+Zookeeper3.4.6+Hbase1.0.0 集群安装详细步骤
细细品味Hadoop_Hadoop集群(第12期)_HBase应用开发.pdf
hadoop-0.20.205.0和hbase-0.90.5,集群和单机 安装配置
"Hadoop之Hbase从入门到精通" HBase 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用 HBase 技术可在廉价 PC Server 上搭建起大规模结构化存储集群。HBase 是 Google Bigtable 的开源实现,类似 ...
hadoop集群配置流程以及用到的配置文件,hadoop2.8.4、hbase2.1.0、zookeeper3.4.12
hbase-0.90.5.tar.gz与hadoop0.20.2版本匹配,我在我本地虚拟机已经安装成功可以使用。请放心下载!!!
第八章(Hadoop大数据处理实战)HBase实战.pdf第八章(Hadoop大数据处理实战)HBase实战.pdf第八章(Hadoop大数据处理实战)HBase实战.pdf第八章(Hadoop大数据处理实战)HBase实战.pdf第八章(Hadoop大数据处理实战)HBase...
Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。 上图描述了Hadoop EcoSystem中的...
HBase 是一个开源的分布式数据库,基于 Hadoop 和 BigTable,提供了高性能、可扩展的数据存储解决方案。在本文中,我们将学习如何在 CentOS 7 上搭建 Hadoop 环境,并安装配置 HBase 1.3.6。 HBase 介绍 HBase 是...
Hadoop3.1.1集成hbase2.1.1,很详细的介绍了Hadoop3.1.1集成hbase2.1.1的教程,希望对大家有用。
完整版大数据云计算课程 Hadoop数据分析平台系列课程 Hadoop 07 Hbase 共49页.rar
里面包含了所有hbase用到的所有jar包,希望能够帮到正在学习hbase开发的小伙伴
能独立熟练完成Hadoop的安装及熟悉Hadoop的配置与管理 熟练地在Hadoop和操作系统以及关系型数据库之前传递数据 能独立制定数据集成方案 熟练地向Hadoop提交作业以及查询作业运行情况 了解Map-Reduce原理,能书写Map-...
该文档保护了目前比较流行的大数据平台的原理过程梳理。Hadoop,Hive,Hbase,Spark,MapReduce,Storm
hadoop-2.7.2-hbase-jar.tar.gz hadoop-2.7.2-hbase-jar.tar.gz hadoop-2.7.2-hbase-jar.tar.gz
本文将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文件的指导...