实验4熟悉常用的HBase操作.pdf
上传人:13****51 上传时间:2024-09-12 格式:PDF 页数:18 大小:3.7MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

实验4熟悉常用的HBase操作.pdf

实验4熟悉常用的HBase操作.pdf

预览

免费试读已结束,剩余 8 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验4熟悉常用的HBase操作姓名:包生友专业年级:软件143学号:20140126991.实验目的1.理解HBase在Hadoop体系结构中的角色;2.熟练使用HBase操作常用的Shell命令;3.熟悉HBase操作常用的JavaAPI。2.实验环境操作系统:LinuxHadoop版本:2.6.0或以上版本HBase版本:1.1.2或以上版本JDK版本:1.6或以上版本JavaIDE:Eclipse3.实验内容和完成情况1.编程实现以下指定功能,并用Hadoop提供的HBaseShell命令完成相同任务:(完整可执行代码见代码/QuestionOne.java)(1)列出HBase所有的表的相关信息,例如表名;Shell:List图1列出HBase所有表的相关信息编程://(1)列出HBase所有的表的相关信息,例如表名、创建时间等publicstaticvoidlistTables()throwsIOException{init();//建立连接HTableDescriptorhTableDescriptors[]=admin.listTables();for(HTableDescriptorhTableDescriptor:hTableDescriptors){表名}close();//关闭连接}(2)在终端打印出指定的表的所有记录数据;Shell:scan's1'图2打印指定表的所有记录数据编程://(2)在终端打印出指定的表的所有记录数据publicstaticvoidgetData(StringtableName)throwsIOException{init();Tabletable=connection.getTable(TableName.valueOf(tableName));Scanscan=newScan();ResultScannerscanner=table.getScanner(scan);for(Resultresult:scanner){printRecoder(result);}close();}//打印一条记录的详情publicstaticvoidprintRecoder(Resultresult)throwsIOException{for(Cellcell:result.rawCells()){行健列簇列值时间戳}}(3)向已经创建好的表添加和删除指定的列族或列;p.s:此题请先在Shell中创建s1作为示例表:create's1','score'a)在s1表,添加数据:Shell:put's1','zhangsan','score:Math','69'图3给s1添加数据编程://向表添加数据publicstaticvoidinsertRow(StringtableName,StringrowKey,StringcolFamily,Stringcol,Stringval)throwsIOException{init();Tabletable=connection.getTable(TableName.valueOf(tableName));Putput=newPut(rowKey.getBytes());put.addColumn(colFamily.getBytes(),col.getBytes(),val.getBytes());table.put(put);table.close();close();}b)在s1表,删除指定的列:Shell:delete's1','zhangsan','score:Math'图4删除数据编程://删除数据publicstaticvoiddeleteRow(StringtableName,StringrowKey,StringcolFamily,Stringcol)throwsIOException{init();Tabletable=connection.getTable(TableName.valueOf(tableName));Deletedelete=newDelete(rowKey.getBytes());//删除指定列族delete.addFamily(Bytes.toBytes(colFamily));//删除指定列delete.addColumn(Bytes.toBytes(co