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)
{
}
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);
}
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);
}
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);
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();
}
}
PS:使用maven导入源码真的很爽,,,,根本停不下来…