《educoder平台使用Java操作HBase》由会员分享,可在线阅读,更多相关《educoder平台使用Java操作HBase(9页珍藏版)》请在金锄头文库上搜索。
1、1创建表package step1;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.HColumnDescriptor;import org.apache.hadoop.hbase.HTableDescriptor;import org.apache.hadoop.hbase.TableName;import org.apache.hadoo
2、p.hbase.client.Admin;import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;import org.apache.hadoop.hbase.client.Connection;import org.apache.hadoop.hbase.client.ConnectionFactory;import org.apache.hadoop.hbase.client.Get;imp
3、ort org.apache.hadoop.hbase.client.Put;import org.apache.hadoop.hbase.client.Result;import org.apache.hadoop.hbase.client.ResultScanner;import org.apache.hadoop.hbase.client.Scan;import org.apache.hadoop.hbase.client.Table;import org.apache.hadoop.hbase.client.TableDescriptor;import org.apache.hadoo
4、p.hbase.client.TableDescriptorBuilder;import org.apache.hadoop.hbase.util.Bytes;/* * HBase 1.0 version of ExampleClient that uses code Connection, * code Admin and code Table. */public class Task public void createTable()throws Exception /* Begin */ Configuration config = HBaseConfiguration.create()
5、; Connection connection = ConnectionFactory.createConnection(config); try / Create table Admin admin = connection.getAdmin(); try TableName tableName = TableName.valueOf(dept); / 新API构建表 / TableDescriptor对象通过TableDescriptorBuilder构建; TableDescriptorBuilder tableDescriptor = TableDescriptorBuilder.ne
6、wBuilder(tableName); ColumnFamilyDescriptor family = ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes(data).build();/ 构建列族对象 tableDescriptor.setColumnFamily(family); / 设置列族 admin.createTable(tableDescriptor.build(); / 创建表 TableName emp = TableName.valueOf(emp); / 新API构建表 / TableDescriptor对象通过T
7、ableDescriptorBuilder构建; TableDescriptorBuilder empDescriptor = TableDescriptorBuilder.newBuilder(emp); ColumnFamilyDescriptor empfamily = ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes(emp).build();/ 构建列族对象 empDescriptor.setColumnFamily(empfamily); / 设置列族 admin.createTable(empDescriptor.bui
8、ld(); / 创建表 finally admin.close(); finally connection.close(); /* End */ 命令行:start-dfs.sh(Hadoop启动)回车start-hbase.sh(hbase启动)测评2添加数据package step2;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.HCo
9、lumnDescriptor;import org.apache.hadoop.hbase.HTableDescriptor;import org.apache.hadoop.hbase.TableName;import org.apache.hadoop.hbase.client.Admin;import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;import org.apache.hadoo
10、p.hbase.client.Connection;import org.apache.hadoop.hbase.client.ConnectionFactory;import org.apache.hadoop.hbase.client.Get;import org.apache.hadoop.hbase.client.Put;import org.apache.hadoop.hbase.client.Result;import org.apache.hadoop.hbase.client.ResultScanner;import org.apache.hadoop.hbase.client
11、.Scan;import org.apache.hadoop.hbase.client.Table;import org.apache.hadoop.hbase.client.TableDescriptor;import org.apache.hadoop.hbase.client.TableDescriptorBuilder;import org.apache.hadoop.hbase.util.Bytes;public class Task public void insertInfo()throws Exception /* Begin */ Configuration config =
12、 HBaseConfiguration.create(); Connection connection = ConnectionFactory.createConnection(config); Admin admin = connection.getAdmin(); TableName tableName = TableName.valueOf(tb_step2); TableDescriptorBuilder tableDescriptor = TableDescriptorBuilder.newBuilder(tableName); ColumnFamilyDescriptor fami
13、ly = ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes(data).build();/ 构建列族对象 tableDescriptor.setColumnFamily(family); / 设置列族 admin.createTable(tableDescriptor.build(); / 创建表 /添加数据 byte row1 = Bytes.toBytes(row1); Put put1 = new Put(row1); byte columnFamily1 = Bytes.toBytes(data); /列 byte qualifier1 = Bytes.toBytes(String.valueOf(1); /列族修饰词 byte value1 = Bytes.toBytes(张三丰); /值 put1.addColumn(columnFamily1, qualifier1, value1); byte row2 = Bytes.toBytes(row2); Put put2 = new Put(row2); byte columnFa