本人新手,工作仅一年,如果所发内容有误还请路过的朋友指正,现在这里谢过
刚刚使用HBase一个月,本来用的hbase0.90.4,其对应的Java API中关于插入数据有void org.apache.hadoop.hbase.client.HTableInterface.put(List<Put> puts)这样一个方法,用于插入多列(Column Qualifier)数据,之前看过的一个文档说的是当关闭HTableInterface(当时的实现类是HTable)这个的时候,也就是调用HTable.close()方法后。如果之前将自动提交设为false(HTable.setAutoFlush(false)),在调用HTable.close()方法之后会自动提交。这个说明在0.90.4上面没什么问题。
后面领导说正式环境用一个新点的版本,就换成了0.94.8,相应的hadoop1.1.2,zookeeper3.4.5,这时候就出现了一个问题。在使用HTable.put(put)(插入单列数据)的时候没问题,因为没有设置AutoFlush为false,但在HTable.put(putList)插入多列的时候,数据库中没有相应数据,而且也没报错,以为有一些版本兼容性问题将jar包什么的换一遍,jdk,tomcat...最后增加了一句HTable.flushCommits();解决了这个问题,就是手动提交。不同的版本用起来还是有蛮多不同的,需要多加小心。
分享到:
相关推荐
在本文档中,我们将深入探讨如何使用Java API与HBase数据库进行交互,特别是关于如何创建表、修改表结构以及批量插入数据。HBase是Apache的一个分布式、可扩展的大数据存储系统,它基于谷歌的Bigtable设计,适用于...
2. **列导向**:与传统的关系型数据库不同,HBase以列族为单位存储数据,这使得数据读取更加高效,尤其适合大数据分析场景。 3. **实时读写**:HBase支持实时的数据读写操作,适合在线服务和大数据实时处理。 4. **...
假设有一个不知道是干什么表:) 表里需要存入人员和其相对应的部门信息 HBaseAdmin admin = new HBaseAdmin(configuration); List<Put> putuser = new ArrayList<Put>();
3. 成本问题:商业数据库的维护成本昂贵,而分布式数据库如HBase能够以更低的成本管理大规模数据。 HBase与关系数据库的对比: 1. 关系数据库(RDBMS)基于ACID原则,具有超强的一致性,但以牺牲水平可扩展性为代价。...
在本文档中,专家悠你123深入探讨了HBase在时序数据库中的应用,以下是从文档标题、描述和部分内容中提取的详细知识点。 HBase是一种分布式、可扩展的存储系统,它基于Google的Bigtable模型,专为Hadoop设计,提供...
在完成集群搭建后,接下来就是利用Kettle将MySQL中的数据转换并导入到HBase中。这一步骤主要包括以下几个方面: 1. **建立连接**:使用Kettle建立与MySQL数据库的连接,并确保连接正确无误。 2. **数据抽取**:设计...
数据库高级技术专家 悠你在2017杭州云栖大会中做了题为《HBase在时间序列数据库中的应用》的分享,就时序数据和时序数据库介绍,HiTSDB针对时序场景的优化,HBase作为底层存储的优势做了深入的分析。
同样地,为“lisi”插入数据。 ### 4. 查询数据 查询HBase中的数据通常使用`get`命令。例如,查询“zhangsan”的地址: ```shell get 'student', 'zhangsan', 'info:address' ``` 查询“lisi”的“Hadoop”成绩: ...
在大数据领域,HBase作为一款分布式列式数据库,因其高并发、低延迟和大规模存储的特点,被广泛应用在实时数据处理和分析中。然而,对于非技术人员来说,直接操作HBase命令行进行数据管理可能会显得较为复杂。因此,...
8. **操作HBase**:在HBase Shell中,你可以创建表、插入数据、查询数据、删除表等。例如: ```bash hbase(main):001:0> create 'my_table', 'cf1' hbase(main):002:0> put 'my_table', 'row1', 'cf1:col1', '...
基于HBase的分布式空间数据库技术是针对大型地理信息系统(GIS)中海量空间数据存储与高效查询的问题提出的一种解决方案。随着地理信息系统技术的迅速发展,数据的时间和空间精度不断提高,同时,GIS系统面临着数据...
而HBase作为Hadoop集群的数据库同样在很多场景中大显身手。同样Hadoop集群的稳定性需要得到实时的监控。存储资源、计算资源、网络资源等发生阻塞或者错误需要及时告知集群管理员。本文实现了基于HBase的网站告警系统...
本篇文章将详细介绍如何将关系型数据库的数据导入到Hbase中,包括离线和实时两种方式。 1. 离线数据导入: 离线数据导入通常在系统低峰期进行,适用于大量数据迁移。常见的工具包括Apache Nifi、Sqoop和Hadoop ...
在Java编程环境中,HBase是一种分布式、高性能的NoSQL数据库,常用于大数据处理。本示例代码主要展示了如何使用Java API连接HBase数据库,并执行基本的CRUD(创建、读取、更新、删除)操作,同时也包括了批量操作的...
5. **HBase Java API编程**:掌握如何使用Java编程接口与HBase交互,包括创建表、插入数据、查询数据等操作。 6. **Eclipse开发工具使用**:熟悉Eclipse环境下的Java项目配置和调试,以便编写和测试HBase的Java程序...
- Put:Put操作用于向HBase中插入或更新数据。如果指定的行键已存在,之前的值会被新值覆盖。 - Delete:Delete操作用于删除HBase中的数据,可以指定删除某行的全部数据,也可以指定删除某行的某列的数据。 7. 高级...
- **数据处理框架**:如同Bigtable依赖于MapReduce进行大数据处理,HBase也采用Hadoop MapReduce来处理存储在HBase中的海量数据。 - **协同服务**:Bigtable使用Chubby作为协调服务,而HBase则采用了Zookeeper来实现...
在Phoenix的帮助下,你可以创建表、插入数据、更新和删除数据,以及执行复杂的查询。 在建表时,你需要定义列族(Column Families),这是Hbase存储数据的基本单元,类似于关系数据库中的表格。每个列族可以包含多...
4. 使用HBase shell或API创建表,定义列族,插入数据,并进行查询操作。 5. 监控和维护:使用HBase自带的Web UI监控集群状态,调整HBase配置以优化性能。 在搭建HBase分布式数据库系统时,需要注意集群中的...
2. **稀疏性**:HBase支持稀疏数据集,即不是所有的行都需要有相同的列。这种特性非常适合于大数据应用,因为实际应用中数据往往具有高度的不规则性。 3. **动态列**:HBase允许用户在不需要重建表的情况下添加新的...