HBase之API简单操作.docx

上传人:b****4 文档编号:5983767 上传时间:2023-05-09 格式:DOCX 页数:16 大小:18.12KB
下载 相关 举报
HBase之API简单操作.docx_第1页
第1页 / 共16页
HBase之API简单操作.docx_第2页
第2页 / 共16页
HBase之API简单操作.docx_第3页
第3页 / 共16页
HBase之API简单操作.docx_第4页
第4页 / 共16页
HBase之API简单操作.docx_第5页
第5页 / 共16页
HBase之API简单操作.docx_第6页
第6页 / 共16页
HBase之API简单操作.docx_第7页
第7页 / 共16页
HBase之API简单操作.docx_第8页
第8页 / 共16页
HBase之API简单操作.docx_第9页
第9页 / 共16页
HBase之API简单操作.docx_第10页
第10页 / 共16页
HBase之API简单操作.docx_第11页
第11页 / 共16页
HBase之API简单操作.docx_第12页
第12页 / 共16页
HBase之API简单操作.docx_第13页
第13页 / 共16页
HBase之API简单操作.docx_第14页
第14页 / 共16页
HBase之API简单操作.docx_第15页
第15页 / 共16页
HBase之API简单操作.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

HBase之API简单操作.docx

《HBase之API简单操作.docx》由会员分享,可在线阅读,更多相关《HBase之API简单操作.docx(16页珍藏版)》请在冰点文库上搜索。

HBase之API简单操作.docx

HBase之API简单操作

HBase之API简单操作

HBase版本:

Hadoop-2.2.0与Hbase-0.96.0

publicabstractclassAbstrUtils{

protectedstaticLoggerlogger=Logger.getLogger(AbstrUtils.class);

protectedstaticConfigurationconfiguration=null;

/**初始化配置**/

static{

System.setProperty("hadoop.home.dir","D:

/develop/data/hadoop/hadoop-2.2.0");

System.setProperty("HADOOP_MAPRED_HOME","D:

/develop/data/hadoop/hadoop-2.2.0");

System.setProperty("SQOOP_CONF_DIR","D:

/develop/data/sqoop/sqoop-1.4.4-hadoop-2.0.4");

configuration=newConfiguration();

/**与hbase/conf/hbase-site.xml中hbase.master配置的值相同*/

configuration.set("hbase.master","192.168.10.10:

60000");

/**与hbase/conf/hbase-site.xml中hbase.zookeeper.quorum配置的值相同*/

configuration.set("hbase.zookeeper.quorum","192.168.10.10");

/**与hbase/conf/hbase-site.xml中hbase.zookeeper.property.clientPort配置的值相同*/

configuration.set("hbase.zookeeper.property.clientPort","2181");

//configuration=HBaseConfiguration.create(configuration);

}

}

publicclassHBaseUtilsextendsAbstrUtils{

privatestaticHBaseAdminadmin=null;

privatestaticHTablePooltablePool=null;

static{

try{

admin=newHBaseAdmin(configuration);

tablePool=newHTablePool(configuration,10);

tablePool.close();

}catch(IOExceptione){

logger.info(e.getMessage(),e);

}

}

/**创建一张表*/

publicstaticvoidcreatTable(StringtableName,String[]familys){

try{

if(admin.tableExists(tableName)){

logger.info("table"+tableName+"alreadyexists!

");

}else{

HTableDescriptortableDesc=newHTableDescriptor(TableName.valueOf(tableName));

for(inti=0;i

tableDesc.addFamily(newHColumnDescriptor(familys[i]));

}

admin.createTable(tableDesc);

logger.info("createtable"+tableName+"success.");

}

}catch(Exceptione){

logger.info(e.getMessage(),e);

}

}

/**删除表*/

publicstaticvoiddeleteTable(StringtableName){

try{

admin.disableTable(tableName);

admin.deleteTable(tableName);

logger.info("deletetable"+tableName+"success.");

}catch(Exceptione){

logger.info(e.getMessage(),e);

}

}

/**插入一行记录*/

@SuppressWarnings("resource")

publicstaticvoidputRecord(StringtableName,StringrowKey,Stringfamily,Stringqualifier,Stringvalue){

try{

HTabletable=newHTable(configuration,tableName);

Putput=newPut(Bytes.toBytes(rowKey));

put.add(Bytes.toBytes(family),Bytes.toBytes(qualifier),Bytes.toBytes(value));

table.put(put);

logger.info("insertrecored"+rowKey+"totable"+tableName+"success.");

}catch(IOExceptione){

logger.info(e.getMessage(),e);

}

}

/**批量插入记录*/

publicstaticvoidputRecords(StringtableName,Listputs){

HTabletable=null;

try{

table=newHTable(configuration,tableName);

table.put(puts);

}catch(IOExceptione){

logger.info(e.getMessage(),e);

try{

table.flushCommits();

}catch(Exceptione1){

logger.info(e1.getMessage(),e1);

}

}

}

/**删除一行记录*/

@SuppressWarnings("resource")

publicstaticvoiddeleteRecord(StringtableName,String...rowKeys){

try{

HTabletable=newHTable(configuration,tableName);

Listlist=newArrayList();

Deletedelete=null;

for(StringrowKey:

rowKeys){

delete=newDelete(rowKey.getBytes());

list.add(delete);

}

if(list.size()>0){

table.delete(list);

}

logger.info("deleterecoreds"+rowKeys+"success.");

}catch(IOExceptione){

logger.info(e.getMessage(),e);

}

}

/**查找一行记录*/

@SuppressWarnings({"resource"})

publicstaticResultgetRecord(StringtableName,StringrowKey){

try{

HTabletable=newHTable(configuration,tableName);

Getget=newGet(rowKey.getBytes());

get.setMaxVersions();

returntable.get(get);

}catch(IOExceptione){

logger.info(e.getMessage(),e);

}

returnnull;

}

/**查找所有记录*/

@SuppressWarnings({"resource"})

publicstaticResultScannergetRecords(StringtableName){

try{

HTabletable=newHTable(configuration,tableName);

returntable.getScanner(newScan());

}catch(IOExceptione){

logger.info(e.getMessage(),e);

}

returnnull;

}

publicstaticvoidprintRecord(Resultresult){

for(Cellcell:

result.rawCells()){

logger.info("cellrow:

"+newString(cell.getRowArray()));

logger.info("cellfamily:

"+newString(cell.getFamilyArray()));

logger.info("cellqualifier:

"+newString(cell.getQualifierArray()));

logger.info("cellvalue:

"+newString(cell.getValueArray()));

logger.info("celltimestamp:

"+cell.getTimestamp());

}

/**之前版本*/

/**

for(KeyValuekv:

rs.raw()){

System.out.print(newString(kv.getRow())+"");

System.out.print(newString(kv.getFamily())+":

");

System.out.print(newString(kv.getQualifier())+"");

System.out.print(kv.getTimestamp()+"");

System.out.println(newString(kv.getValue()));

}

*/

}

publicstaticvoidprintRecords(ResultScannerresultScanner){

for(Resultresult:

resultScanner){

printRecord(result);

}

}

}

 

版本:

Hadoop-2.7.2与Hbase-1.2.3

 

publicclassHBaseUtilsextendsAbstrUtils{

privatestaticHBaseAdminadmin=null;

privatestaticConnectionconnection=null;

static{

try{

ExecutorServicepool=Executors.newCachedThreadPool();

connection=ConnectionFactory.createConnection(configuration,pool);

admin=(HBaseAdmin)connection.getAdmin();

}catch(IOExceptione){

LOG.error(e.getMessage(),e);

}

}

/**创建一张表*/

publicstaticvoidcreatTable(StringtableName,String[]familys){

try{

if(admin.tableExists(tableName)){

LOG.info("table"+tableName+"alreadyexists!

");

}else{

HTableDescriptortableDesc=newHTableDescriptor(TableName.valueOf(tableName));

for(inti=0;i

tableDesc.addFamily(newHColumnDescriptor(familys[i]));

}

admin.createTable(tableDesc);

LOG.info("createtable"+tableName+"success.");

}

}catch(Exceptione){

LOG.error(e.getMessage(),e);

}

}

/**表注册Coprocessor*/

publicstaticvoidaddTableCoprocessor(StringtableName,StringcoprocessorClassName){

try{

admin.disableTable(tableName);

HTableDescriptorhtd=admin.getTableDescriptor(Bytes.toBytes(tableName));

htd.addCoprocessor(coprocessorClassName);

admin.modifyTable(Bytes.toBytes(tableName),htd);

admin.enableTable(tableName);

}catch(IOExceptione){

LOG.error(e.getMessage(),e);

}

}

/**统计表行数*/

publicstaticlongrowCount(StringtableName){

longrowCount=0;

try{

HTabletable=(HTable)connection.getTable(TableName.valueOf(tableName));

Scanscan=newScan();

//scan.setFilter(newKeyOnlyFilter());

scan.setFilter(newFirstKeyOnlyFilter());

ResultScannerresultScanner=table.getScanner(scan);

for(Resultresult:

resultScanner){

rowCount+=result.size();

}

}catch(IOExceptione){

LOG.error(e.getMessage(),e);

}

returnrowCount;

}

/**插入一行记录*/

publicstaticvoidinsertRecord(StringtableName,StringrowKey,Stringfamily,Stringqualifier,Stringvalue){

try{

HTabletable=(HTable)connection.getTable(TableName.valueOf(tableName));

Putput=newPut(Bytes.toBytes(rowKey));

put.addColumn(Bytes.toBytes(family),Bytes.toBytes(qualifier),Bytes.toBytes(value));

table.put(put);

LOG.info("insertrecored"+rowKey+"totable"+tableName+"success.");

}catch(IOExceptione){

LOG.info(e.getMessage(),e);

}

}

/**批量插入记录*/

publicstaticvoidinsertRecords(StringtableName,Listputs){

HTabletable=null;

try{

table=(HTable)connection.getTable(TableName.valueOf(tableName));

table.put(puts);

}catch(IOExceptione){

LOG.info(e.getMessage(),e);

try{

table.flushCommits();

}catch(Exceptione1){

LOG.info(e1.getMessage(),e1);

}

}

}

/**删除一行记录*/

publicstaticvoiddeleteRecord(StringtableName,String...rowKeys){

try{

HTabletable=(HTable)connection.getTable(TableName.valueOf(tableName));

Listlist=newArrayList();

Deletedelete=null;

for(StringrowKey:

rowKeys){

delete=newDelete(rowKey.getBytes());

list.add(delete);

}

if(list.size()>0){

table.delete(list);

}

LOG.info("deleterecoreds"+rowKeys+"success.");

}catch(IOExceptione){

LOG.error(e.getMessage(),e);

}

}

/**删除一个列族*/

publicstaticvoiddeleteFamily(StringtableName,StringcolumnName){

try{

admin.deleteColumn(tableName,columnName);

}catch(Exceptione){

LOG.error(e.getMessage(),e);

}

}

/**删除表*/

publicstaticvoiddeleteTable(StringtableName){

try{

admin.disableTable(tableName);

admin.deleteTable(tableName);

LOG.info("deletetable"+tableName+"success.");

}catch(Exceptione){

LOG.error(e.getMessage(),e);

}

}

/**查找一行记录*/

publicstaticResultgetRecord(StringtableName,StringrowKey){

try{

HTabletable=(HTable)connection.getTable(TableName.valueOf(tableName));

Getget=newGet(rowKey.getBytes());

get.setMaxVersions();

returntable.get(get);

}catch(IOExceptione){

LOG.error(e.getMessage(),e);

}

returnnull;

}

/**查找所有记录*/

publicstaticResultScannergetRecords(StringtableName){

returngetRecords(tableName,null,null,null,null,null);

}

/**查找所有记录*/

publicstaticResultScannergetRecords(StringtableName,Stringfamily){

returngetRecords(tableName,family,null,null,null,null);

}

/**查找所有记录*/

publicstatic

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2