设为首页 加入收藏

TOP

Java读写HBase简单例子
2019-01-07 13:46:42 】 浏览:84
Tags:Java 读写 HBase 简单 例子
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hxg117/article/details/84105817

几个概念:

  • 表 Table。 表由行和列组成。
  • 行 Row。每行都由 Row Key 来标识。
  • 列族 ColumnFamily。表由列族组成。
  • 列限定符 Qualifier。也就是列,每个列族由多个列组成。列可以动态创建
  • 单元格。通过行,列族和列限定符定位一个单元格
  • 时间戳 。每个单元格都有多个版本。

创建表的时候需要指定表的名字,以及所有的列族。
插入数据到HBase时,需要指定表,行键,列族,列限定符,以及单元格的数据。
查找时,需要指定表和行键,也可以指定列族和列限定符。

下载并启动HBase,然后运行下面代码。

public static void main(String[] args) throws Exception {
	Configuration conf = HBaseConfiguration.create();		
	Connection cn = ConnectionFactory.createConnection(conf);
	Admin admin = cn.getAdmin();

	String columnFamily= "score";
	String columnQualifier = "math";
	String row = "Andy";
	
	//Create
	TableName tableName = TableName.valueOf("test_table");
	ColumnFamilyDescriptor family = ColumnFamilyDescriptorBuilder.of(columnFamily);
	TableDescriptor desc = TableDescriptorBuilder.newBuilder(tableName).setColumnFamily(family).build();
	admin.createTable(desc);
	System.out.println("Create done");
	
	//Insert
	Table table = cn.getTable(tableName);
	Put put = new Put(row.getBytes());
	put.addColumn(columnFamily.getBytes(), columnQualifier.getBytes(), "100".getBytes());
	table.put(put);
	table.close();
	System.out.println("Insert done");
	
	//Get
	table = cn.getTable(tableName);
	Get get = new Get(row.getBytes());
	get.addColumn(columnFamily.getBytes(), columnQualifier.getBytes());
	Result result = table.get(get);
	table.close();
	System.out.println("Get result: " + new String(result.getValue(columnFamily.getBytes(), columnQualifier.getBytes())));
	
	//Delete table
	admin.disableTable(tableName);
	admin.deleteTable(tableName);
	System.out.println("Delete table");
}
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇hbase完全分布式安装与配置 下一篇Spark 操作Hbase 对表的操作:..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目