简单hbase java,Hbase 简单java API 操作
package utils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;
import java.io.IOException;
/**
* HBase操作工具类:Java工具类建议采用单例模式封装
*/
public class HBaseUtils {
Admin admin = null;
Configuration configuration = null;
Connection connection = null;
/**
* 私有改造方法
*/
private HBaseUtils(){
configuration = new Configuration();
configuration.set("hbase.zookeeper.quorum", "localhost:2181");
configuration.set("hbase.rootdir", "hdfs://localhost:9000/hbase");
try{
connection = ConnectionFactory.createConnection(configuration);
admin = connection.getAdmin();
}catch (IOException e){
e.printStackTrace();
}
}
private static HBaseUtils instance = null;
public static synchronized HBaseUtils getInstance() {
if(null == instance) {
instance = new HBaseUtils();
}
return instance;
}
/**
* 根据表名获取到Table实例
*/
public Table getTable(String tableName) {
Table table = null;
try {
table = connection.getTable(TableName.valueOf(tableName));
} catch (IOException e) {
e.printStackTrace();
}
return table;
}
/**
* 添加一条记录到HBase表
* @param tableName HBase表名
* @param rowKey HBase表的rowkey
* @param cf HBase表的columnfamily
* @param column HBase表的列
* @param value 写入HBase表的值
*/
public void put(String tableName, String rowKey, String cf, String column, String value){
try {
Table table = connection.getTable(TableName.valueOf(tableName));
Put put = new Put(Bytes.toBytes(rowKey));
put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(column), Bytes.toBytes(value));
table.put(put);
table.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 根据行键rowkey查找数据
* @param tableName 表名
* @param rowKey 行键
* @param colFamily 列族名
* @param col 列名
* @throws IOException
*/
public byte[] getData(String tableName,String rowKey,String colFamily,String col){
byte[] result = null;
try {
Table table = connection.getTable(TableName.valueOf(tableName));
Get get = new Get(rowKey.getBytes());
get.addColumn(colFamily.getBytes(),col.getBytes());
result = table.get(get).value();
return result;
}catch (IOException e) {
e.printStackTrace();
}
return result;
}
public static void main(String[] args) {
//HTable table = HBaseUtils.getInstance().getTable("imooc_course_clickcount");
//System.out.println(table.getName().getNameAsString());
String tableName = "course_clickcount" ;
String rowkey = "20171111_88";
String cf = "info" ;
String column = "click_count";
String value = "2";
HBaseUtils.getInstance().put(tableName, rowkey, cf, column, value);
byte[] result = HBaseUtils.getInstance().getData(tableName, rowkey, cf, column);
System.out.println(new String(result));
}
}
Post Views: 4
简单hbase java,Hbase 简单java API 操作相关推荐
- 二, 大数据基础架构Hadoop-HDFS入门和基本操作(基本组成, Shell操作, API操作, 读写流程) hf
一, HDFS概述 1.1 HDFS的产生背景和定义 随着数据量越来越大,我们需要把文件分布存储到多台计算机上,分布式文件管理系统作为一种管理多台机器上文件的系统应运而生, HDFS是其中的一种. H ...
- HBase 6、用Phoenix Java api操作HBase
开发环境准备:eclipse3.5.jdk1.7.window8.hadoop2.2.0.hbase0.98.0.2.phoenix4.3.0 1.从集群拷贝以下文件:core-site.xml.hb ...
- 使用 Java API 操作 HBase
使用 Java API 操作 HBase 数据库,就类似HBase Shell,本质上一个是Java 代码,一个是Shell 命令.(hadoop 的文件系统莫不如此,可用Java API 的方式操作 ...
- Hbase java API操作(模板代码)
Hbase java API操作 1 创建maven工程 导入jar包 <repositories><repository><id>cloudera</id& ...
- Hbase 完全分布式模式的搭建、命令行操作、Java API操作
追风赶月莫停留,平芜尽处是春山. 文章目录 追风赶月莫停留,平芜尽处是春山. 环境 Hbase 完全分布式模式的搭建 一.下载安装包,解压到合适位置: 二.配置相关的文件: 三.将Hbase复制到其他 ...
- java api操作hbase_通过JavaAPI使用HBase
1.准备工作 (1) 启动zookeeper服务,我的是在本地启动zookeeper /usr/local/zookeeper/bin$ sudo zkServer.sh start (2) 启动HB ...
- Java Api 操作 Hbase
文章目录 1.需求 2.思路 2.1 建立远程Hbase集群连接 -- HbaseInit.java 2.2 创建表结构--CreateTable.java 2.3 插入数据 -- PutRow.ja ...
- Java调用大数据接口,学习Hadoop第二十八课(java通过调用接口来操作HBase)
上节课我们一起简单学习了HBase的一些理论,这节课我们一起学习用java调HBase的接口来操作HBase. 我们首先建一个工程,这里我们还用原始的新建一个lib包.然后我们把下载的hbase-0. ...
- HBase安装配置以及Java操作hbase
2019独角兽企业重金招聘Python工程师标准>>> Apache HBase Apache HBase™是Hadoop数据库,是一个分布式,可扩展的大数据存储. 当您需要对大数据 ...
最新文章
- 2022-2028年中国塑料板的制造行业市场发展模式及竞争格局预测报告
- Navicat控制mysql用户权限
- biti_rainy的面试题
- Country Road Aizu - 2104
- VDI序曲二十七 IE7,IE8,IE9应用程序虚拟化
- 计算机标准化管理制度,计算机中心标准化管理.doc
- C#datagidview创立数据库,实现读写数据视频
- mysql5.0查询表_Mysql5.0查询表结构 | 学步园
- 【云原生之Docker实战】使用docker部署Wiznote私人笔记系统
- xml的三种解析方法
- 未能加载程序集oracle.dataaccess 控制台,未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项.试图加载格式不正确的程序...
- 一花一世界,在微服务中定义边界
- 最简单的python使用ddddocr模块在线识别验证码后登录
- idea之自定义注释模板
- library not found for -lstdc++和dyld: Library not loaded: /usr/lib/swift/libswiftCoreGraphics.dylib解决
- 怎么把游戏隐藏到计算机,怎么将电脑游戏隐藏桌面
- 网络:简述对CT,IT,ICT,OT的认识
- 基于python编写一个名片管理系统
- [质数筛] 质数筛算法详解
- Linux下ion内存,android内存管理-ION/PMEM
热门文章
- windows dos 命令
- 标准模板库(STL)之无序容器列传
- STL 中的容器们(三)
- python从入门到精通 明日科技 电子书-Python从入门到精通(明日科技出版) 源代码+课件+视频 全套...
- python基础-菜鸟世界 -python基础---set
- python可以做什么-学会Python后都能做什么?网友们的回答简直不要太厉害
- python爬虫菜鸟教程-Python 应该怎么学?
- python自动化办公excel-自动化办公:python 操作Excel
- python自动化办公教程-python办公自动化:Excel操作入门
- python画折线图-python绘制简单折线图代码示例