gradle引入依赖:
repositories {
maven{ url 'https://repository.cloudera.com/artifactory/cloudera-repos/'}
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
}
ext {
hbaseVersion = "1.2.0-cdh5.16.2" //hbase版本号
}
dependencies {
implementation "org.apache.hbase:hbase-client:$hbaseVersion"
implementation "org.apache.hbase:hbase-server:$hbaseVersion"
}
获取表
public static Table getTable(String name) throws IOException {
Configuration configuration = HBaseConfiguration.create();
Connection connection = ConnectionFactory.createConnection(configuration);
TableName tablename = TableName.valueOf(name);
Table table = connection.getTable(tablename);
return table;
}
插入数据:
public static void insertData(Table table) throws IOException {
Put put = new Put("1001".getBytes());
put.addColumn("info".getBytes(), "name".getBytes(), "fanghailiang".getBytes());
put.addColumn("info".getBytes(), "age".getBytes(), "27".getBytes());
put.addColumn("info".getBytes(), "sex".getBytes(), "mail".getBytes());
table.put(put);
put = new Put("1002".getBytes());
put.addColumn("info".getBytes(), "name".getBytes(), "sunyu".getBytes());
put.addColumn("info".getBytes(), "age".getBytes(), "26".getBytes());
put.addColumn("info".getBytes(), "sex".getBytes(), "femail".getBytes());
table.put(put);
put = new Put("1003".getBytes());
put.addColumn("info".getBytes(), "name".getBytes(), "fangfang".getBytes());
put.addColumn("info".getBytes(), "age".getBytes(), "26".getBytes());
put.addColumn("info".getBytes(), "sex".getBytes(), "femail".getBytes());
table.put(put);
}
遍历数据
public static void scanData(Table table) throws IOException {
Scan scan = new Scan();
ResultScanner resutScanner = table.getScanner(scan);
for(Result result: resutScanner){
String id = Bytes.toString(result.getRow());
String name = Bytes.toString(result.getValue("info".getBytes(), "name".getBytes()));
System.out.println("id=" + id + ",name=" + name);
}
}