<dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>2.4.4</version> </dependency> import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.annotations.HBaseField; import org.apache.hadoop.hbase.annotations.HBaseTable; @HBaseTable(name = "my_table", rowKeyDataType = String.class) public class MyDataModel { @HBaseField private String id; @HBaseField(family = "data", qualifier = "name") private String name; @HBaseField(family = "data", qualifier = "age") private int age; public Put getPut() { byte[] rowKey = Bytes.toBytes(id); Put put = new Put(rowKey); put.addColumn(Bytes.toBytes("data"), Bytes.toBytes("name"), Bytes.toBytes(name)); put.addColumn(Bytes.toBytes("data"), Bytes.toBytes("age"), Bytes.toBytes(age)); return put; } } import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.io.compress.Compression.Algorithm; import org.apache.hadoop.hbase.util.Bytes; public class CreateTableExample { private static final String TABLE_NAME = "my_table"; private static final String COLUMN_FAMILY = "data"; public static void main(String[] args) throws Exception { Configuration config = HBaseConfiguration.create(); config.set("hbase.zookeeper.quorum", "localhost"); config.set("hbase.zookeeper.property.clientPort", "2181"); try (Connection connection = ConnectionFactory.createConnection(config); Admin admin = connection.getAdmin()) { TableName tableName = TableName.valueOf(TABLE_NAME); if (admin.tableExists(tableName)) { admin.disableTable(tableName); admin.deleteTable(tableName); } TableDescriptorBuilder tableBuilder = TableDescriptorBuilder.newBuilder(tableName); ColumnFamilyDescriptor familyDescriptor = ColumnFamilyDescriptorBuilder .newBuilder(Bytes.toBytes(COLUMN_FAMILY)) .setMaxVersions(1) .setCompressionType(Algorithm.SNAPPY) .build(); tableBuilder.setColumnFamily(familyDescriptor); admin.createTable(tableBuilder.build()); } } } import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Table; import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.util.Bytes; public class InsertDataExample { private static final String TABLE_NAME = "my_table"; public static void main(String[] args) throws Exception { Configuration config = HBaseConfiguration.create(); config.set("hbase.zookeeper.quorum", "localhost"); config.set("hbase.zookeeper.property.clientPort", "2181"); try (Connection connection = ConnectionFactory.createConnection(config); Table table = connection.getTable(TableName.valueOf(TABLE_NAME))) { MyDataModel dataModel = new MyDataModel(); dataModel.setId("1"); dataModel.setName("John Doe"); dataModel.setAge(30); Put put = dataModel.getPut(); table.put(put); } } } import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.Get; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.Table; import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.util.Bytes; public class GetDataExample { private static final String TABLE_NAME = "my_table"; public static void main(String[] args) throws Exception { Configuration config = HBaseConfiguration.create(); config.set("hbase.zookeeper.quorum", "localhost"); config.set("hbase.zookeeper.property.clientPort", "2181"); try (Connection connection = ConnectionFactory.createConnection(config); Table table = connection.getTable(TableName.valueOf(TABLE_NAME))) { Get get = new Get(Bytes.toBytes("1")); Result result = table.get(get); byte[] nameBytes = result.getValue(Bytes.toBytes("data"), Bytes.toBytes("name")); byte[] ageBytes = result.getValue(Bytes.toBytes("data"), Bytes.toBytes("age")); String name = Bytes.toString(nameBytes); int age = Bytes.toInt(ageBytes); System.out.println("Name: " + name); System.out.println("Age: " + age); } } }


上一篇:
下一篇:
切换中文