官方文档: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操作的更多相关文章

  1. java操作Hbase实例

    所用HBase版本为1.1.2,hadoop版本为2.4 /* * 创建一个students表,并进行相关操作 */ import java.io.IOException; import java.u ...

  2. Hadoop学习(6)-HBASE的安装和命令行操作和java操作

    使用HABSE之前,要先安装一个zookeeper 我以前写的有https://www.cnblogs.com/wpbing/p/11309761.html 先简单介绍一下HBASE HBASE是一个 ...

  3. 【hbase】——Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询

    1.搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar.hbase-0.90.4-tes ...

  4. (转)Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询

    1.搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar.hbase-0.90.4-tes ...

  5. Hbase深入学习(六) Java操作HBase

    Hbase深入学习(六) ―― Java操作HBase 本文讲述如何用hbase shell命令和hbase java api对hbase服务器进行操作. 先看以下读取一行记录hbase是如何进行工作 ...

  6. Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询

    1.搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar.hbase-0.90.4-tes ...

  7. Java操作hbase总结

    用过以后,总得写个总结,不然,就忘喽. 一.寻找操作的jar包. java操作hbase,首先要考虑到使用hbase的jar包. 因为咱装的是CDH5,比较方便,使用SecureCRT工具,远程连接到 ...

  8. 【Hbase三】Java,python操作Hbase

    Java,python操作Hbase 操作Hbase python操作Hbase 安装Thrift之前所需准备 安装Thrift 产生针对Python的Hbase的API 启动Thrift服务 执行p ...

  9. HBase的java操作,最新API。(查询指定行、列、插入数据等)

    关于HBase环境搭建和HBase的原理架构,请见笔者相关博客. 1.HBase对java有着较优秀的支持,本文将介绍如何使用java操作Hbase. 首先是pom依赖: <dependency ...

随机推荐

  1. PHP CURL库学习

    基本请求步骤 : // . 初始化 $ch = curl_init(); // . 设置选项,包括URL curl_setopt($ch, CURLOPT_URL, "http://www. ...

  2. p2p项目工具类

    1.用于存放当前用户的上下文UserContext package com.xmg.p2p.base.util; import javax.servlet.http.HttpSession; impo ...

  3. CentOS7系列--1.4CentOS7服务

    CentOS7服务管理 1. 查看服务 1.1. 查看所有运行的服务 [root@centos7 ~]# systemctl -t service UNIT LOAD ACTIVE SUB DESCR ...

  4. FineReport中如何自定义登录界面

    在登录平台时,不希望使用FR默认的内置登录界面,想通过自定义登录界面实现登录操作,内置登录界面如下图: 登录界面,获取到用户名和密码的值,发送到报表系统,报表服务带着这两个参数访问认证地址进行认证. ...

  5. C语言各类型大小,结构体大小 sizeof(struct A)

    C语言类型大小总览 编译器pack指令 #pragma pack(n)——定义n字节对齐 C++固有类型的对齐取编译器对齐与自身大小中较小的一个 32位C++默认8字节对齐.gcc编译器默认4字节对齐 ...

  6. String path = request.getContextPath

    <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+ ...

  7. VIM 乱码终极解决

    原文链接:http://blog.163.com/mageng11@126/blog/static/1408083742012128105645169/ 关于vim乱码,这篇文章讲的很详细,mark一 ...

  8. 在 Azure 中的 Linux 虚拟机上使用 SSL 证书保护 Web 服务器

    若要保护 Web 服务器,可以使用安全套接字层 (SSL) 证书来加密 Web 流量. 这些 SSL 证书可存储在 Azure Key Vault 中,并可安全部署到 Azure 中的 Linux 虚 ...

  9. ARDUINO 积木式编辑器整理

    原文地址:https://blog.everlearn.tw/arduino/arduino-%E7%A9%8D%E6%9C%A8%E5%BC%8F%E7%B7%A8%E8%BC%AF%E5%99%A ...

  10. procexp

    https://www.cnblogs.com/iTBear/articles/2789151.html