赞
踩
目录
start-dfs.sh
start-hbase.sh
hadoop fs -ls /hbase
在HBase中创建表dept,emp,列都为:data
Configuration config = HBaseConfiguration.create();
//使用create()静态方法就可以得到Configuration对象
Connection connection = ConnectionFactory.createConnection(config);
//config为前文的配置对象
Admin admin = connection.getAdmin(); //使用连接对象获取Admin对象
TableName tableName1 = TableName.valueOf("dept"); //定义表名
TableName tableName2 = TableName.valueOf("emp");
HTableDescriptor htd1 = new HTableDescriptor(tableName1); //定义表对象
HTableDescriptor htd2 = new HTableDescriptor(tableName2);
HColumnDescriptor hcd1 = new HColumnDescriptor("data"); //定义列族对象
HColumnDescriptor hcd2 = new HColumnDescriptor("data");
htd.addFamily(hcd1); //添加
htd.addFamily(hcd2);
admin.createTable(htd1);//创建表
admin.createTable(htd2);
start-dfs.sh
start-hbase.sh
hadoop fs -ls /hbase
stop-dfs.sh
stop-hbase.sh
在HBase中创建表tb_step2,列簇都为:data,添加数据:
行号分别为:row1,row2;
列名分别为:1,2;
值分别为:张三丰,张无忌。
- //创建表
-
- Configuration config = HBaseConfiguration.create();
-
- Connection connection = ConnectionFactory.createConnection(config);
-
- Admin admin = connection.getAdmin(); //使用连接对象获取Admin对象
-
-
-
- TableName tableName = TableName.valueOf("tb_step2"); //定义表名
-
- HTableDescriptor htd = new HTableDescriptor(tableName); //定义表对象
-
- HColumnDescriptor hcd = new HColumnDescriptor("data"); //定义列族对象
-
- htd.addFamily(hcd); //添加
-
- admin.createTable(htd);//创建表

- //添加数据:
-
- Table table = connection.getTable(tableName);//获取Table对象
-
- try {
-
- byte[] row1=Bytes.toBytes("row1");
-
- byte[] row2=Bytes.toBytes("row2");
-
- Put put1=new Put(row1);
-
- Put put2=new Put(row2);
-
- byte[] columnFamily=Bytes.toBytes("data");
-
- byte[] qualifier1=Bytes.toBytes(String.valueOf(1));
-
- byte[] qualifier2=Bytes.toBytes(String.valueOf(2));
-
- byte[] value1=Bytes.toBytes("张三丰");
-
- byte[] value2=Bytes.toBytes("张无忌");
-
- put1.addColumn(columnFamily, qualifier1, value1);;
-
- put2.addColumn(columnFamily,qualifier2,value2);
-
- table.put(put1);
-
- table.put(put2);
-
- } finally {
-
- //使用完了要释放资源
-
- table.close();
-
- }

- start-dfs.sh
-
- start-hbase.sh
-
- hadoop fs -ls /hbase
输出t_step3表中行号为row1,列族为data:1的值(以utf-8编码),
输出table_step3表中所有行的行名称(因为直接输出scannerResult会带有时间戳,所以输出行名方便测评)。
- Configuration config = HBaseConfiguration.create();
-
- Connection connection = ConnectionFactory.createConnection(config);
-
- Admin admin = connection.getAdmin();
-
- TableName tableName = TableName.valueOf("t_step3");
-
- Table table = connection.getTable(tableName);
#获取指定行的数据
- //获取数据
-
- Get get = new Get(Bytes.toBytes("row1")); //定义get对象
-
- Result result = table.get(get); //通过table对象获取数据
-
- System.out.println("Result: " + result);
-
- byte[] valueBytes = result.getValue(Bytes.toBytes("data"), Bytes.toBytes("1"));
-
- String valueStr = new String(valueBytes,"utf-8");
-
- System.out.println("value:" + valueStr);
#扫描表中的数据
- Scan scan = new Scan();
-
- ResultScanner scanner = table.getScanner(scan);
-
- try {
-
- for (Result scannerResult: scanner) {
-
- System.out.println("Scan: " + scannerResult);
-
- byte[] row = scannerResult.getRow();
-
- System.out.println("rowName:" + new String(row,"utf-8"));
-
- }
-
- } finally {
-
- scanner.close();
-
- }

- Configuration config = HBaseConfiguration.create();
-
- Connection connection = ConnectionFactory.createConnection(config);
-
- Admin admin = connection.getAdmin();
-
- TableName tableName = TableName.valueOf("t_step4");
-
- admin.disableTable(tableName);
-
- admin.deleteTable(tableName);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。