package sl;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellUtil;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.NamespaceDescriptor;
import org.apache.hadoop.hbase.NamespaceDescriptor.Builder;
import org.apache.hadoop.hbase.TableDescriptors;
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.client.Delete;
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.Scan;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.util.Bytes;
public class TheApi_Hbase
{
public static void main(String[] args)
{
}
//创建namespace
public void addNamespace() throws IOException
{
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "node1:2181,node2:2181,node3:2181");
Connection conn = ConnectionFactory.createConnection(conf);
Admin admin = conn.getAdmin();
Builder builder = NamespaceDescriptor.create("SpaceName");
NamespaceDescriptor namespaceDescriptor = builder.build();
admin.createNamespace(namespaceDescriptor);
admin.close();
conn.close();
}
//查看所有表
public void lookAllTab() throws IOException
{
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "node1:2181,node2:2181,node3:2181");
Connection conn = ConnectionFactory.createConnection(conf);
Admin admin = conn.getAdmin();
TableName[] listTableNames = admin.listTableNames();
for (TableName tableName : listTableNames)
{
System.out.println(tableName.toString());
}
admin.close();
conn.close();
}
//删除命名空间
public void delNameSpace() throws IOException
{
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "node1:2181,node2:2181,node3:2181");
Connection conn = ConnectionFactory.createConnection(conf);
Admin admin = conn.getAdmin();
admin.deleteNamespace("nameSpace");
admin.close();
conn.close();
}
//创建表
public void createTable() throws IOException
{
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "node1:2181,node2:2181,node3:2181");
Connection conn = ConnectionFactory.createConnection(conf);
Admin admin = conn.getAdmin();
HTableDescriptor tableDescriptor = new HTableDescriptor(TableName.valueOf("TabName"));
HColumnDescriptor hColumnDescriptor = new HColumnDescriptor(Bytes.toBytes("cfName"));
HColumnDescriptor hColumnDescriptor2 = new HColumnDescriptor(Bytes.toBytes("cfName2"));
tableDescriptor.addFamily(hColumnDescriptor);
tableDescriptor.addFamily(hColumnDescriptor2);
admin.createTable(tableDescriptor);
admin.close();
conn.close();
}
//删除表
public void delTable() throws IOException
{
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "node1:2181,node2:2181,node3:2181");
Connection conn = ConnectionFactory.createConnection(conf);
Admin admin = conn.getAdmin();
admin.disableTable(TableName.valueOf("tabName"));
admin.deleteTable(TableName.valueOf("tabName"));
admin.close();
conn.close();
}
//增加列族
public void addFamily() throws IOException
{
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "node1:2181,node2:2181,node3:2181");
Connection conn = ConnectionFactory.createConnection(conf);
HTableDescriptor tableDescriptor = new HTableDescriptor(TableName.valueOf("tabName"));
HColumnDescriptor hColumnDescriptor = new HColumnDescriptor(Bytes.toBytes("cfName"));
tableDescriptor.modifyFamily(hColumnDescriptor);
conn.close();
}
//增加数据
public void addData() throws IOException
{
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "node1:2181,node2:2181,node3:2181");
Connection conn = ConnectionFactory.createConnection(conf);
Table table = conn.getTable(TableName.valueOf("tabName"));
Put put = new Put(Bytes.toBytes("rowKey"));
put.addColumn(Bytes.toBytes("family"), Bytes.toBytes("qualifier"), Bytes.toBytes("value"));
table.put(put);//或者循环创建多个put,直接table添加put集合
}
//删除数据
public void delData() throws IOException
{
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "node1:2181,node2:2181,node3:2181");
Connection conn = ConnectionFactory.createConnection(conf);
Table table = conn.getTable(TableName.valueOf("tabName"));
Delete delete = new Delete("rk".getBytes());
table.delete(delete);//或者删除一个delete对象组成的集合
}
//获取数据
public void getData() throws IOException
{
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "node1:2181,node2:2181,node3:2181");
Connection conn = ConnectionFactory.createConnection(conf);
Table table = conn.getTable(TableName.valueOf("tabName"));
Get get = new Get("rk".getBytes());
Result result = table.get(get);//一行数据就是一个result
List<Cell> cells = result.listCells();
for (Cell cell : cells)
{
String rk = CellUtil.cloneRow(cell).toString();
}
}
//扫描获取数据
public void getDatas() throws IOException
{
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "node1:2181,node2:2181,node3:2181");
Connection conn = ConnectionFactory.createConnection(conf);
Table table = conn.getTable(TableName.valueOf("tabName"));
Scan scan = new Scan("startRow".getBytes(), "stopRow".getBytes());
ResultScanner scanner = table.getScanner(scan);//获得扫描结果的对象
Iterator<Result> iterator = scanner.iterator();//获取迭代器
while(iterator.hasNext())
{
Result result = iterator.next();
List<Cell> cells = result.listCells();
if(cells.size()!=0 && cells!= null)
{
for (Cell cell : cells)
{
String rk = CellUtil.cloneRow(cell).toString();
System.out.println(rk);
}
}
}
table.close();
conn.close();
}
//拆分表
public void splitTable() throws IOException
{
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "node1:2181,node2:2181,node3:2181");
Connection conn = ConnectionFactory.createConnection(conf);
Admin admin = conn.getAdmin();
admin.split(TableName.valueOf("tableName"));
admin.close();
conn.close();
}
}
Hbase的常用Api使用操作
猜你喜欢
转载自blog.csdn.net/xydxsl/article/details/88757427
今日推荐
周排行