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数据库相关推荐

  1. java连接Hbase数据库

    java连接Hbase数据库 如果是是连接机群上的Hbase服务,需要提前将相关的几个xml文件存放在本地的编程目录下,否则开发端无法获取机群信息及授权: hdfs-site.xml core-sit ...

  2. Java 访问Hbase数据库

    须知 Hbase数据最终是在hdfs上的,具体来说应该是在hdfs上一个叫做/hbase的目录下.具体结构如下: 所以java访问Hbase其实就是访问hdfs,所以环境搭建跟hadoop开发环境使用 ...

  3. Java连接HBASE数据库,创建一个表,删除一张表,修改表,输出插入,修改,数据删除,数据获取,显示表信息,过滤查询,分页查询,地理hash

    准备工作 1.创建Java的Maven项目 创建好的目录结构如下: 另外注意junit的版本,最好不要太高,最开始笔者使用的junit4.12的,发现运行的时候会报错.最后把Junit的版本改成4.7 ...

  4. HBaseAPI——IDEA操作HBase数据库HBase与Hive的集成

    目录 一.IDEA操作HBase数据库 (一)添加依赖 (二)配置log4j (三)IDEA连接HBase并插入数据 1.代码实现 2.查看命名空间的表 (四)java操作HBase数据库--单元测试 ...

  5. 6 HBase java API访问HBase数据库

    HBase java API访问HBase数据库 package com.hunan.hbase_options;import org.apache.hadoop.conf.Configuration ...

  6. Hbase数据库完全分布式搭建以及java中操作Hbase

    文章目录 1.基础的环境准备 2.完全分布式 Fully-distributed 2.1 配置文件hase-env.sh 2.2 hbase-site.xml 2.3 配置regionservers ...

  7. 小记--------hbase数据库java API 常用方法及案例

     HBaseAdmin类:管理hbase数据库的表信息,'创建表.删除表.列出表选项.使表有效/无效.添加或删除列簇': Eg: //使用工厂模式创建connection val conn: Con ...

  8. 大数据-NoSQL数据库-HBase操作框架:Phoenix【Java写的基于JDBC API的操作HBase数据库的SQL引擎框架;低延迟、事务性、可使用sql语句、提供JDBC接口】

    一.Phoenix概述 1.Phoenix 定义 Phoenix 最早是 saleforce 的一个开源项目,后来成为 Apache 的顶级项目. Phoenix 构建在 HBase 之上的开源 SQ ...

  9. HBase安装配置以及Java操作hbase

    2019独角兽企业重金招聘Python工程师标准>>> Apache HBase Apache HBase™是Hadoop数据库,是一个分布式,可扩展的大数据存储. 当您需要对大数据 ...

最新文章

  1. APP专项测试关注点介绍
  2. 485不用双绞线可以吗_加装迎宾踏板可以吗?检车时用不用拆啊?
  3. OpenCV基本线性变换轨迹栏的实例(附完整代码)
  4. Java List.size()方法:返回列表中元素的个数(亲测)
  5. ubuntu16.04安装vim报错 vim : Depends: vim-common (= 2:7.4.052-1ubuntu3.1) but 2:7.4.1689-3ubuntu1.3
  6. postgresql表和列注释(描述)
  7. 130242014022 蓝宏铮 第2次实验
  8. UVA12511 - Virus(DP+最长公共上升子序列)
  9. 对unidbgrid的单元格操作
  10. 怎么把mysql 查询数据_如何使用查询字符串值从数据库中查询数据
  11. 懒人版黑苹果mbr安装_黑苹果系统懒人版镜像|黑苹果超级镜像懒人版 OS X EI Capitan10.12.6 变色龙引导黑苹果cdr_ - 极光站...
  12. 在不同场景里,用户使用手机时的认知水平和操作绩效
  13. idea显示Multiple Spring Boot run configurations were detected. Services allows to manage multiple run
  14. SFDC数据导出的几种方式
  15. 团队任务3每日立会(2018-10-23)
  16. 前端vue从后台取到数据(数组对象)后遍历给对象添加属性,修改这个属性为什么没有用?
  17. Day836.ReadWriteLock -Java 并发编程实战
  18. 基于盲盒商城的飞机大战游戏
  19. 异地备份工具_5个有用的Amazon S3备份工具
  20. 6.配置dovecot

热门文章

  1. 计算机类学术论文格式,学术论文格式要求-北京交通大学.doc
  2. PTA第一章作业1--数据结构基本概念 顺序表基本操作
  3. 压力测试衡量CPU的三个指标
  4. 从0开始学习python1:成功解决python中pyinstaller库的一些问题
  5. 2019给自己立个小目标
  6. 思科模拟器CIsco Packet Tracer路由器综合路由配置
  7. bootstrap-toastr 消息通知插件
  8. Python实现超市购物的源码(有注释,适合学习)
  9. 人工智能英文原版PDF教材1.03G资源包Artificial Intelligence
  10. 数值分析1_拉格朗日插值法牛顿插值法