HBase的简单java操作
官方文档:http://hbase.apache.org/book.html
java简单操作hbase的表
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.*;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.filter.CompareFilter;
import org.apache.hadoop.hbase.filter.FilterList;
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
import org.junit.Before;
import org.junit.Test; import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random; /**
* Created by Edward on 2016/6/19.
*/
public class TestHbase { public static Configuration conf = null;
public static TableName table = TableName.valueOf("phone");
public static Random random = new Random(); @Before
public void setup()
{
//通过zookeeper集群,访问hbase
conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "node1,node2,node3");
System.out.println("setup");
} @Test
public void createTable() throws IOException {
HBaseAdmin hBaseAdmin = new HBaseAdmin(conf);
if(hBaseAdmin.tableExists(table)) {
hBaseAdmin.disableTable(table);
hBaseAdmin.deleteTable(table);
}
//表
HTableDescriptor hTableDescriptor = new HTableDescriptor(table);
//列族 cf1
HColumnDescriptor hColumnDescriptor = new HColumnDescriptor("cf1");
hColumnDescriptor.setBlockCacheEnabled(true);
hColumnDescriptor.setBlocksize(128000);
hColumnDescriptor.setMaxVersions(10);
//表增加列族
hTableDescriptor.addFamily(hColumnDescriptor);
hBaseAdmin.createTable(hTableDescriptor);
} @Test
/**
* 插入数据
*/
public void insert() throws IOException { //创建htable对象
HTable hTable = new HTable(conf, this.table);
ArrayList<Put> list = new ArrayList<Put>(); for(int i = 0; i<1000; i++)
{
//row_key
Put put = new Put(String.valueOf(i).getBytes());
//column,value
put.add("cf1".getBytes(),"name".getBytes(),"ls".getBytes());
put.add("cf1".getBytes(),"age".getBytes(), String.valueOf(i%100).getBytes());
//把每个put对象放到列表中
list.add(put);
}
//把信息放到表中
hTable.put(list);
} @Test
/**
* 查询
*/
public void search() throws IOException
{ HTable hTable = new HTable(conf, this.table);
// 创建row_key对应的get对象
Get get = new Get("123".getBytes());
// 获取get结果
Result result = hTable.get(get);
//获取 column latest cell
Cell columnLatestCell = result.getColumnLatestCell("cf1".getBytes(), "name".getBytes());
//使用 CellUtil 获取值
byte[] bytes = CellUtil.cloneValue(columnLatestCell);
System.out.println(new String(bytes));
} @Test
/**
* 通过scan方法获取数据
* **/
public void search1() throws IOException
{
HTable hTable = new HTable(conf, this.table);
//设置scan范围
Scan scan = new Scan("400".getBytes(),"450".getBytes());
//通过scan得到result scanner
ResultScanner scanner = hTable.getScanner(scan);
//使用迭代器
Iterator<Result> iterator = scanner.iterator(); while(iterator.hasNext())
{
Result result= iterator.next();
Cell columnLatestCell = result.getColumnLatestCell("cf1".getBytes(), "age".getBytes());
//获取列族中列对应的值
byte[] bytes = CellUtil.cloneValue(columnLatestCell);
//获取row_key
byte[] bytes1 = CellUtil.cloneRow(columnLatestCell);
System.out.println(new String(bytes)+" "+new String(bytes1));
}
}
}
HBase的简单java操作的更多相关文章
- java操作Hbase实例
所用HBase版本为1.1.2,hadoop版本为2.4 /* * 创建一个students表,并进行相关操作 */ import java.io.IOException; import java.u ...
- Hadoop学习(6)-HBASE的安装和命令行操作和java操作
使用HABSE之前,要先安装一个zookeeper 我以前写的有https://www.cnblogs.com/wpbing/p/11309761.html 先简单介绍一下HBASE HBASE是一个 ...
- 【hbase】——Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
1.搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar.hbase-0.90.4-tes ...
- (转)Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
1.搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar.hbase-0.90.4-tes ...
- Hbase深入学习(六) Java操作HBase
Hbase深入学习(六) ―― Java操作HBase 本文讲述如何用hbase shell命令和hbase java api对hbase服务器进行操作. 先看以下读取一行记录hbase是如何进行工作 ...
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
1.搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar.hbase-0.90.4-tes ...
- Java操作hbase总结
用过以后,总得写个总结,不然,就忘喽. 一.寻找操作的jar包. java操作hbase,首先要考虑到使用hbase的jar包. 因为咱装的是CDH5,比较方便,使用SecureCRT工具,远程连接到 ...
- 【Hbase三】Java,python操作Hbase
Java,python操作Hbase 操作Hbase python操作Hbase 安装Thrift之前所需准备 安装Thrift 产生针对Python的Hbase的API 启动Thrift服务 执行p ...
- HBase的java操作,最新API。(查询指定行、列、插入数据等)
关于HBase环境搭建和HBase的原理架构,请见笔者相关博客. 1.HBase对java有着较优秀的支持,本文将介绍如何使用java操作Hbase. 首先是pom依赖: <dependency ...
随机推荐
- 创建vue项目 webpack+vue
# 全局安装 vue-cli $ npm install -g vue-cli # 创建一个基于 "webpack" 模板的新项目 根据提示填写项目信息 && 对项 ...
- ubuntu下使用g++编译时默认支持C++11 配置方法
1.只需要在源文件程序中加上如下一行代码: #pragma GCC diagnostic error "-std=c++11" 此时源文件代码如下: #pragma GCC dia ...
- Scala + Thrift+ Zookeeper+Flume+Kafka配置笔记
1. 开发环境 1.1. 软件包下载 1.1.1. JDK下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downl ...
- RESTful API的十个最佳实践
WebAPI在过去几年里非常的盛行,我们很多以往的技术手段都慢慢的转换为使用WebAPI来开发,因为它的语法简单规范化,以及轻量级等特点,这种方式收到了广泛的推崇. 通常我们使用RESTFul(Rep ...
- maven 生命周期、生命周期阶段、插件、目标
生命周期maven的生命周期是抽象的,它本身不做任何实际的工作.实际的工作都由插件来完成.生命周期好比接口,插件好比实现类.maven 有三个独立的生命周期,clean.default.site. 生 ...
- Acticity的生命周期和启动模式
典型情况下的生命周期 onCreate 表示创建Acticity,在这个方法中可以做一些初始化的操作,如加载界面布局资源,初始化Activity所需的数据 onRestart 表示重新启动Activi ...
- VisualSVN server搭建装配和指定IP或域名
在主机商边绑定A记录即可
- IIS测试环境搭建
1.控制面板->程序->程序和功能->打开或关闭Windows功能->Internet信息服务->Web管理工具,打开如下服务: 2.打开IIS管理器 2.1检查.net ...
- CCSUOJ评测系统
队名: BUGG 团队信息与分工: 开发: 周斌 B20150304221 舒 溢 B20150304209 测试: 许嘉荣 B20150304213 唐 浩 B20150304316 Product ...
- ASP.Net WebAPI的返回值
Asp.Net WebAPI服务函数的返回值主要可以分为void.普通对象.HttpResponseMessag.IHttpActionResult e四种,本文这里简单的介绍一下它们的区别. 一.返 ...