资源描述:
《Hbase调用JavaAPI实现批量导入操作.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Hbase调用JavaAPI实现批量导入操作将手机上网日志文件批量导入到Hbase中,操作步骤:1、将日志文件(请下载附件)上传到HDFS中,利用hadoop的操作命令上传:hadoopfs-putinput/2、创建Hbase表,通过Java操作Java代码packagecom.jiewen.hbase;importjava.io.IOException;importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.hbase.HBaseCon
2、figuration;importorg.apache.hadoop.hbase.HColumnDescriptor;importorg.apache.hadoop.hbase.HTableDescriptor;importorg.apache.hadoop.hbase.client.Get;importorg.apache.hadoop.hbase.client.HBaseAdmin;importorg.apache.hadoop.hbase.client.HTable;importorg.apache.hadoo
3、p.hbase.client.Put;importorg.apache.hadoop.hbase.client.Result;importorg.apache.hadoop.hbase.client.ResultScanner;importorg.apache.hadoop.hbase.client.Scan;importorg.apache.hadoop.hbase.util.Bytes;publicclassHbaseDemo{publicstaticvoidmain(String[]args)throwsIOE
4、xception{StringtableName="wlan_log";StringcolumnFamily="cf";HbaseDemo.create(tableName,columnFamily);//HbaseDemo.put(tableName,"row1",columnFamily,"cl1","data");//HbaseDemo.get(tableName,"row1");//HbaseDemo.scan(tableName);//HbaseDemo.delete(tableName);}//hbase
5、操作必备privatestaticConfigurationgetConfiguration(){Configurationconf=HBaseConfiguration.create();conf.set("hbase.rootdir","hdfs://hadoop1:9000/hbase");//使用eclipse时必须添加这个,否则无法定位conf.set("hbase.zookeeper.quorum","hadoop1");returnconf;}//创建一张表publicstaticvoidcreate(
6、StringtableName,StringcolumnFamily)throwsIOException{HBaseAdminadmin=newHBaseAdmin(getConfiguration());if(admin.tableExists(tableName)){System.out.println("tableexists!");}else{HTableDescriptortableDesc=newHTableDescriptor(tableName);tableDesc.addFamily(newHCol
7、umnDescriptor(columnFamily));admin.createTable(tableDesc);System.out.println("createtablesuccess!");//添加一条记录publicstaticvoidput(StringtableName,Stringrow,StringcolumnFamily,Stringcolumn,Stringdata)throwsIOException{HTabletable=newHTable(getConfiguration(),table
8、Name);BytesPutp1=newPut(Bytes.toBytes(row));p1.add(Bytes.toBytes(columnFamily),Bytes.toBytes(column),.toBytes(data));table.put(p1);System.out.println("put'+row+"',"+columnFa