hbase基本操作

public class Demo {
	private Configuration conf;
	private Connection conn;

	@Before
	public void prepare() throws Exception {
		conf = HBaseConfiguration.create();
		conf.set("hbase.zookeeper.quorum", "m6,m7,m8");
		conn = ConnectionFactory.createConnection(conf);
	}

	/**
	 *  创建表
	 */
	@Test
	public void createTable() throws Exception {
		Admin admin  = conn.getAdmin();
		TableName tableName = TableName.valueOf("t_person");
		HTableDescriptor hTableDescriptor = new HTableDescriptor(tableName);
		// 添加列簇
		HColumnDescriptor baseInfo = new HColumnDescriptor("base_info");
		hTableDescriptor.addFamily(baseInfo);
		admin.createTable(hTableDescriptor);
		admin.close();
		conn.close();
	}

	/**
	 * 删除表
	 * @throws Exception
	 */
	@Test
	public void dropTable() throws Exception {
		Admin admin  = conn.getAdmin();
		admin.disableTable(TableName.valueOf("t_person"));
		admin.deleteTable(TableName.valueOf("t_person"));
		admin.close();
	}

	/**
	 * 插入数据
	 * @throws Exception
	 */
	@Test
	public void put() throws Exception {
		TableName tableName = TableName.valueOf("t_person");
		// HTablePool pool = new HTablePool(conf, 10);
		// HTable table = (HTable) pool.getTable("t_person");
		Table table = conn.getTable(tableName);
		// rowkey 行健
		Put put = new Put(Bytes.toBytes("p_0001"));
		put.addColumn(Bytes.toBytes("base_info"), Bytes.toBytes("name"), Bytes.toBytes("zhangsan"));
		put.addColumn(Bytes.toBytes("base_info"), Bytes.toBytes("age"), Bytes.toBytes(18));
		table.put(put);
		table.close();
	}

	/**
	 * 获取数据
	 * @throws IOException
	 */
	@Test
	public void get() throws IOException {
		TableName tableName = TableName.valueOf("t_person");
		Table table = conn.getTable(tableName);
		Get get = new Get(Bytes.toBytes("p_0001"));
		Result result = table.get(get);
		for (Cell cell : result.listCells()) {

			System.out.println(Bytes.toString(CellUtil.cloneFamily(cell)));
			System.out.println(Bytes.toString(CellUtil.cloneQualifier(cell)));
			System.out.println(Bytes.toInt(CellUtil.cloneValue(cell)));
		}
	}

	@Test
	public void scan() throws IOException {
		TableName tableName = TableName.valueOf("t_person");
		Table table = conn.getTable(tableName);
		Scan scan = new Scan();
		// 根据Qualifier的开头字符进行过滤
		ColumnPrefixFilter filter = new ColumnPrefixFilter(Bytes.toBytes("z"));
		scan.setFilter(filter);
		ResultScanner scanner = table.getScanner(scan);
		for (Result result : scanner) {
			for (Cell cell : result.listCells()) {
				System.out.println(Bytes.toString(CellUtil.cloneFamily(cell)));
				System.out.println(Bytes.toString(CellUtil.cloneQualifier(cell)));
			}
		}
	}
}

  

时间: 2024-11-03 16:10:34

hbase基本操作的相关文章

HBase 基本操作

1.1 连接HBase 使用hbase shell命令来连接正在运行的Hbase实例,该命令位于HBase安装包下的bin/目录.HBase Shell提示符以>符号结束. $ ./bin/hbase shell hbase(main):001:0> 1.2 显示HBase Shell 帮助文档 输入help并按Enter键,可以显示HBase Shell的基本使用信息,和我们接下来会列举的一些命令类似.需要注意的是,表名,行,列都必须包含在引号内. 1.3 退出HBase Shell 使用q

熟悉HBase基本操作

1. 以下关系型数据库中的表和数据,要求将其转换为适合于HBase存储的表并插入数据: 学生表(Student)(不包括最后一列) 学号(S_No) 姓名(S_Name) 性别(S_Sex) 年龄(S_Age) 课程(course) 2015001 Zhangsan male 23   2015003 Mary female 22   2015003 Lisi male 24 数学(Math)85 2. 用Hadoop提供的HBase Shell命令完成相同任务: 列出HBase所有的表的相关信

hBase官方文档以及HBase基础操作封装类

HBase 官方文档 0.97 http://abloz.com/hbase/book.html HBase基本操作 package cn.crxy.spider.utils; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HColum

HBase配置

下载安装包,解压 tar xzf 名 与hadoop一样 先放在 /usr 在解压后的zookeeper文件中的conf目录下面找到zoo_sample.cfg 复制一份,更改为zoo.cfg,修改其中内容,vi  zoo.cfg 添加: 操作步骤 2.1 复制以上文件到/usr/下 2.2 解压后得到目录: /usr/zookeeper-3.3.3 2.3 进入zookeeper-3.3.3目录下,把conf目录下的zoo_sample.cfg 复制成zoo.cfg文件 2.4 打开zoo.c

流动的推荐系统——兴趣Feed技术架构与实现

流动的推荐系统 我们经常谈论的推荐系统(Recommender System),从形式上看是比较"静态"的推荐,通常位于网页主要信息的周边,比如电商网站的"看了又看"."买了又买".这种推荐系统在大多数场景下无法独立撑起一款产品. 依据维基百科Recommender System词条的定义:"推荐系统是信息过滤系统的子类,专门用于预测用户对一个项目偏好或者评分进行预测",则兴趣Feed也是一种推荐系统:它预测用户对社交网络中相

老男孩教育大数据课程体系2折起超值优惠开班

老男孩教育大数据课程体系2折起超值优惠开班 大数据与云计算的未来发展趋势和前景已经极其广阔,未来的互联网就是大数据和云计算的天下,大数据和云计算将成为每一个IT人员必须会的技术了.老男孩教育也顺势而为重金聘请一流核心骨干讲师,打造互联网大数据课程,绝对让同学们心悦诚服,绝对物超所值,让同学在技术道路上捷足先登,做IT技术达人,成为人生赢家.必须要要学大数据的里有见本文结尾. 虽然价格极低,但课程含金量坚决不低于18000的价值! 一.开课信息 1.开课时间:2016年2月23日(如果满30人,1

habase单机版安装及基本功能演示

本文所使用的Linux发行版本为:CentOS Linux release 7.4.1708 (Core) 准备工作 创建用户 useradd -m hadoop passwd hadoop 下载安装包 1.jdk 到官方下载页面http://www.oracle.com/technetwork/java/javase/downloads/index.html,下载jdk,我下载的版本为jdk-8u151-linux-x64.tar.gz. 2.hbase安装包 到hadoop官网下载hadoo

0基础学习大数据你需要了解的学习路线和方向

现在大数据这么火,各行各业想转行大数据,那么问题来了,该往哪方面发展,哪方面最适合自己? 首先从字面来了解一下大数据 大数据 (巨量数据集合(IT行业术语)) 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需要新处理模式才能具有更强的决策力.洞察发现力和流程优化能力的海量.高增长率和多样化的信息资产. 大数据的5V特点(IBM提出):Volume(大量).Velocity(高速).Variety(多样).Value(低价值密度).Veracit

大数据入门学习路线分享,请大家收下

大数据的学习技术点Hadoop核心(1) 分布式存储基石:HDFSHDFS简介 入门演示 构成及工作原理解析:数据块,NameNode, DataNode.数据写入与读取过程.数据复制.HA方案.文件类型. HDFS常用设置 Java API代码演示(2) 分布式计算基础:MapReduceMapReduce简介.编程模型.Java API 介绍.编程案例介绍.MapReduce调优(3) Hadoop集群资源管家:YARNYARN基本架构 资源调度过程 调度算法 YARN上的计算框架离线计算(