HBase源码分析2—client和region定位原理
在上一篇文章HBase源码分析1—初试中简要介绍了HBase的整体组成。从这一篇开始逐渐从源码入手看下HBase内部究竟是如何工作的。
我们主要使用的代码是1.4.0版本的,同样的,Java使用的lib版本也是1.4.0,可以通过maven仓库下载到。
Java操作HBase的例子
假设我们已经创建了一个test表,并且有列族cf1, cf2
1 |
create 'test', {NAME=>'cf1'}, {NAME=>'cf2'} |
我们只进行一个简单的put操作,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
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; public class SimpleExample { public static void main(String[] args) { try { Configuration conf = new Configuration(); // 1.4版本推荐的初始化方式,new HTable方式已被废弃 Connection connection = ConnectionFactory.createConnection(conf); Table table = connection.getTable(TableName.valueOf("test")); byte[] rowKey = Bytes.toBytes("key_yiz96"); byte[] columnFamily = Bytes.toBytes("cf1"); byte[] qualifier = Bytes.toBytes("name"); byte[] value = Bytes.toBytes("YiZheng"); Put put = new Put(rowKey); put.addColumn(columnFamily, qualifier, value); table.put(put); table.close(); } catch (IOException e) { &nbs |