基本操作
hbase shell
hbase shell
> status
> version
> list
> create 'member', 'id', 'address', 'info'
> describe 'member'
> exists 'member'
> is_enabled 'member'
> is_disabled 'member'
> disable 'member'
> alter 'member', {NAME => 'id', METHOD => 'delete'}
> enable 'member'
> put 'member', 'xiaoming', 'info:age', '24'
> put 'member', 'xiaoming', 'info:birthday', '1994-11-22'
> put 'member', 'xiaoming', 'info:company', 'alibaba'
> put 'member', 'xiaoming', 'address:contry', 'china'
> put 'member', 'xiaoming', 'address:province', 'beijing'
> put 'member', 'xiaoming', 'address:city', 'beijing'
> get 'member', 'xiaoming'
> get 'member', 'xiaoming', 'info'
> get 'member', 'xiaoming', 'info:age'
> get 'member', 'xiaoming', {COLUMN => 'info:age', TIMESTAMP => 1514207050000}
> scan 'member'
> delete 'member', 'xiaoming', 'info:age'
> deleteall 'member', 'xiaoming'
> count 'member'
> truncate 'member'
> quit
hbase程序
# pom.xml
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.7.2</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>1.2.7</version>
</dependency>
# ConnectionHbase.java
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.*;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;
import java.io.IOException;
import java.util.Optional;
public class ConnectionHbase {
public void connection() throws IOException {
Configuration configuration = HBaseConfiguration.create();
configuration.set("hbase.zookeeper.quorum",
"192.168.219.53,192.168.219.54,192.168.219.55");
configuration.set("hbase.rootdir",
"hdfs://192.168.219.52:9000/hbase");
Connection connection = ConnectionFactory.createConnection(configuration);
Admin admin = connection.getAdmin();
String tableName = "student";
delete(admin, tableName);
create(admin, tableName, "address", "info");
put(connection, tableName, "xiaoming", "info", "age", "24");
put(connection, tableName, "xiaoming", "address", "city", "beijing");
put(connection, tableName, "lihua", "address", "contry", "china");
put(connection, tableName, "lihua", "info", "company", "alibaba");
get(connection, tableName, "lihua");
getAll(connection, tableName);
admin.close();
connection.close();
}
private void create(Admin admin, String tableName, String... columns)
throws IOException {
TableName table = TableName.valueOf(tableName);
if (!admin.tableExists(table)) {
HTableDescriptor tableDescriptor = new HTableDescriptor(table);
for (String columnFamily : columns) {
tableDescriptor.addFamily(new HColumnDescriptor(columnFamily));
}
admin.createTable(tableDescriptor);
}
}
private void delete(Admin admin, String tableName) throws IOException {
TableName table = TableName.valueOf(tableName);
if (admin.tableExists(table)) {
admin.disableTable(table);
admin.deleteTable(table);
}
}
private void put(Connection connection,
String tableName,
String rowKey,
String family,
String qualifier,
String value) throws IOException {
Table table = connection.getTable(TableName.valueOf(tableName));
Put put = new Put(Bytes.toBytes(rowKey));
put.addColumn(Bytes.toBytes(family),
Bytes.toBytes(qualifier), Bytes.toBytes(value));
table.put(put);
table.close();
}
private void get(Connection connection, String tableName, String row)
throws IOException {
Table table = connection.getTable(TableName.valueOf(tableName));
Get get = new Get(Bytes.toBytes(row));
Result result = table.get(get);
System.out.println(String.valueOf(result));
}
private void getAll(Connection connection, String tableName)
throws IOException {
Table table = connection.getTable(TableName.valueOf(tableName));
ResultScanner scanner = table.getScanner(new Scan());
for (Result result : scanner) {
System.out.println(String.valueOf(result));
}
}
}
java -cp hadoop.jar com.icebreakerzr.boot.Application
网友评论