Java与Hbase数据库
Hbase
HBase是一个分布式的、面向列的开源数据库,可伸缩的分布式存储系统。
Hbase在Hadoop架构中的位置如下图所示:
在Hadoop体系中,HBase位于结构化存储层,HBase利用Hadoop MapReduce来处理HBase中的海量数据。利用Zookeeper作为相同服务,Zookeeper为HBase提供了稳定服务和failover机制。
Hadoop HDFS为HBase提供了高可靠性的底层存储支持。
Java程序操作Hbase数据库
首先Java程序操作数据库需要在项目中导入Hbase与hadoop 相关的Jar包。并且配置winutils.exe
的环境变量路径。
winutils.exe
的环境变量配置如下(winutils.exe位于hadoop/bin/winutils.exe
):
Maven工程中添加相关依赖:
(如果不能成功加载,请手动相关jar包放入maven本地仓库)
使用Java与HBase集群交互时,需要创建一个HTable实例,使用该实例提供的相关方法进行插入/删除/查询操作。
那么如何创建一个HTable实例呢?
1、先要创建一个Configuration对象(该对象)
Configuration conf = HBaseConfiguration.create();
Conf.set(“hbase.zookeeper.property.clientPort”,”2181”);
2、利用conf对象得到HConnection对象
conn = HConnectionManager.getConnection(conf);
3、利用conn对象得到HTable对象
HTable table = conn.getTable(tableName);
注意:
HConnection实际上去连接的并不是HBase集群本身,而是维护其关键数据信息的Zookeeper(简称ZK)集群
HTable的父类HTableInterface是非线程安全的,而且创建该HtableInterface的过程是轻量级的,只要保证我们用的是一个Configuration对象是同一个,那么HConnection也是同一个,使用同一个Confuguration的HTable都会共用一个HConnection。这样我们就可以利用单例模式获得全局唯一的实例Configuration和HConnection对象,然后以多线程的形式创建HTable对象,这样就实现了HBase连接池。
查询操作:
//创建一个空的Scan实例Scan scan= new Scan();2、//在行上获取遍历器ResultScanner rs= table.getScanner(scan);3、//打印行的值for (Result r: rs) {System.out.println(r);}
向指定表中插入数据:
Table table = connection.getTable(TableName.valueOf(tableName.getBytes()));Put put = new Put(rowkey.getBytes()); put.addColumn(family.getBytes(),qualifier.getBytes(), value.toString().getBytes()); table.put(put);
代码未完待续。。。
Java与Hbase数据库相关推荐
- java连接Hbase数据库
java连接Hbase数据库 如果是是连接机群上的Hbase服务,需要提前将相关的几个xml文件存放在本地的编程目录下,否则开发端无法获取机群信息及授权: hdfs-site.xml core-sit ...
- Java 访问Hbase数据库
须知 Hbase数据最终是在hdfs上的,具体来说应该是在hdfs上一个叫做/hbase的目录下.具体结构如下: 所以java访问Hbase其实就是访问hdfs,所以环境搭建跟hadoop开发环境使用 ...
- Java连接HBASE数据库,创建一个表,删除一张表,修改表,输出插入,修改,数据删除,数据获取,显示表信息,过滤查询,分页查询,地理hash
准备工作 1.创建Java的Maven项目 创建好的目录结构如下: 另外注意junit的版本,最好不要太高,最开始笔者使用的junit4.12的,发现运行的时候会报错.最后把Junit的版本改成4.7 ...
- HBaseAPI——IDEA操作HBase数据库HBase与Hive的集成
目录 一.IDEA操作HBase数据库 (一)添加依赖 (二)配置log4j (三)IDEA连接HBase并插入数据 1.代码实现 2.查看命名空间的表 (四)java操作HBase数据库--单元测试 ...
- 6 HBase java API访问HBase数据库
HBase java API访问HBase数据库 package com.hunan.hbase_options;import org.apache.hadoop.conf.Configuration ...
- Hbase数据库完全分布式搭建以及java中操作Hbase
文章目录 1.基础的环境准备 2.完全分布式 Fully-distributed 2.1 配置文件hase-env.sh 2.2 hbase-site.xml 2.3 配置regionservers ...
- 小记--------hbase数据库java API 常用方法及案例
HBaseAdmin类:管理hbase数据库的表信息,'创建表.删除表.列出表选项.使表有效/无效.添加或删除列簇': Eg: //使用工厂模式创建connection val conn: Con ...
- 大数据-NoSQL数据库-HBase操作框架:Phoenix【Java写的基于JDBC API的操作HBase数据库的SQL引擎框架;低延迟、事务性、可使用sql语句、提供JDBC接口】
一.Phoenix概述 1.Phoenix 定义 Phoenix 最早是 saleforce 的一个开源项目,后来成为 Apache 的顶级项目. Phoenix 构建在 HBase 之上的开源 SQ ...
- HBase安装配置以及Java操作hbase
2019独角兽企业重金招聘Python工程师标准>>> Apache HBase Apache HBase™是Hadoop数据库,是一个分布式,可扩展的大数据存储. 当您需要对大数据 ...
最新文章
- APP专项测试关注点介绍
- 485不用双绞线可以吗_加装迎宾踏板可以吗?检车时用不用拆啊?
- OpenCV基本线性变换轨迹栏的实例(附完整代码)
- Java List.size()方法:返回列表中元素的个数(亲测)
- ubuntu16.04安装vim报错 vim : Depends: vim-common (= 2:7.4.052-1ubuntu3.1) but 2:7.4.1689-3ubuntu1.3
- postgresql表和列注释(描述)
- 130242014022 蓝宏铮 第2次实验
- UVA12511 - Virus(DP+最长公共上升子序列)
- 对unidbgrid的单元格操作
- 怎么把mysql 查询数据_如何使用查询字符串值从数据库中查询数据
- 懒人版黑苹果mbr安装_黑苹果系统懒人版镜像|黑苹果超级镜像懒人版 OS X EI Capitan10.12.6 变色龙引导黑苹果cdr_ - 极光站...
- 在不同场景里,用户使用手机时的认知水平和操作绩效
- idea显示Multiple Spring Boot run configurations were detected. Services allows to manage multiple run
- SFDC数据导出的几种方式
- 团队任务3每日立会(2018-10-23)
- 前端vue从后台取到数据(数组对象)后遍历给对象添加属性,修改这个属性为什么没有用?
- Day836.ReadWriteLock -Java 并发编程实战
- 基于盲盒商城的飞机大战游戏
- 异地备份工具_5个有用的Amazon S3备份工具
- 6.配置dovecot
热门文章
- 计算机类学术论文格式,学术论文格式要求-北京交通大学.doc
- PTA第一章作业1--数据结构基本概念 顺序表基本操作
- 压力测试衡量CPU的三个指标
- 从0开始学习python1:成功解决python中pyinstaller库的一些问题
- 2019给自己立个小目标
- 思科模拟器CIsco Packet Tracer路由器综合路由配置
- bootstrap-toastr 消息通知插件
- Python实现超市购物的源码(有注释,适合学习)
- 人工智能英文原版PDF教材1.03G资源包Artificial Intelligence
- 数值分析1_拉格朗日插值法牛顿插值法