hbase java sample
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,通过HBaseAdmin维护表(创建,删除表)import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HB
千家信息网最后更新 2025年11月07日hbase java sample
通过HBaseAdmin维护表(创建,删除表)
import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.HColumnDescriptor;import org.apache.hadoop.hbase.HTableDescriptor;import org.apache.hadoop.hbase.client.HBaseAdmin;public class CreateHbaseTable { public static void main(String[] args) throws Exception { String tbl = "ericni_test"; Configuration config = HBaseConfiguration. create(); config.set( "hbase.zookeeper.quorum", "xxxx" ); config.set( "hbase.zookeeper.property.clientPort" , "2181" ); HBaseAdmin admin = new HBaseAdmin(config); HTableDescriptor[] tables = admin.listTables(); for(HTableDescriptor t:tables){ System. out.println(t.getNameAsString()); } if (admin.tableExists(tbl.getBytes("utf8" ))) { System. out.println("table already exists!" ); } else { System. out.println("table not already exists!create now!" ); creatTable(admin,tbl,new String[]{ "info"}); } } public static void creatTable(HBaseAdmin admin,String tableName, String[] familys) throws Exception { HTableDescriptor tableDesc = new HTableDescriptor(tableName); for(int i=0; i2.通过Put写入数据
import java.io.File;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.client.HBaseAdmin;import org.apache.hadoop.hbase.client.HTable;import org.apache.hadoop.hbase.client.Put;import org.apache.hadoop.hbase.util.Bytes;public class LoadDataFromFile { public static void main(String[] args) throws Exception { String tbl = "ericni_test"; String filename = "/tmp/click.log"; File file = new File(filename); BufferedReader reader = null; reader = new BufferedReader(new FileReader(file)); Configuration config = HBaseConfiguration. create(); config.set( "hbase.zookeeper.quorum", "10.100.90.203" ); config.set( "hbase.zookeeper.property.clientPort" , "2181" ); HTable table = new HTable(config, tbl); HBaseAdmin admin = new HBaseAdmin(config); if (admin.tableExists(tbl.getBytes("utf8" ))) { System. out.println("table already exists!" ); try { try { String tmpString = null; int linex = 1; while ((tmpString = reader.readLine()) != null) { //System.out.println(tmpString.getClass()); String[] lines = tmpString.split( "\\t"); //String[] newlines = {lines[0],lines[1],lines[2],lines[3],lines[4]}; //String row = StringUtils.join(new String[] {lines[0],lines[1],lines[2],lines[3],lines[4]}, "_"); StringBuffer sb = new StringBuffer(); String row = sb.append(lines[0]).append("_" ).append(lines[1]).append("_").append(lines[2]).append( "_").append(lines[3]).append("_" ).append(lines[4]).toString(); String valuex = lines[lines. length-1]; System. out.println(row); linex ++; addRecord(table,tbl,row, "Stat", "Click_cnt", valuex); } reader.close(); } catch(IOException err){ err.printStackTrace(); } finally { try{ if(reader != null) reader.close(); } catch(IOException err){ err.printStackTrace(); } } } catch(Exception err){ System. out.println("load data error" ); System. out.println("error log: " + err); err.printStackTrace(); } } else { System. out.println("table not already exists!" ); System. exit(1); } table.close(); admin.close(); } public static void addRecord(HTable table,String tableName, String rowKey, String family, String qualifier, String value) throws Exception{ Put put = new Put(Bytes.toBytes(rowKey)); put.add(Bytes. toBytes(family), Bytes.toBytes(qualifier), Bytes.toBytes(value)); table.put(put); System. out.println("insert recored " + rowKey + " to table " + tableName + " ok." ); } }3.Scan的Filter操作
import java.io.IOException;import java.util.ArrayList;import java.util.List; import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.KeyValue;import org.apache.hadoop.hbase.client.Get;import org.apache.hadoop.hbase.client.HTable;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.filter.FilterList;import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;import org.apache.hadoop.hbase.util.Bytes;public class FilterTest { private static Configuration config = null; private static HTable table; private static HTable table2; private static HTable table3; static { try { config = HBaseConfiguration.create(); config.set("hbase.zookeeper.quorum" , "xxxxx" ); config.set("hbase.zookeeper.property.clientPort" , "2181" ); } catch (Exception e){ e.printStackTrace(); } } public static void selectByRowKey(String tablename,String rowKey) throws IOException{ table = new HTable(config,tablename); Get g = new Get(Bytes.toBytes(rowKey)); Result r = table.get(g); for(KeyValue kv:r.raw()){ System. out.println("row : " +new String(kv.getRow())); System. out.println("column: " +new String(kv.getKey())); System. out.println("value: " +new String(kv.getValue())); } } public static void selectByRowKeyColumn(String tablename,String rowKey,String column,String qualifier) throws IOException{ table2 = new HTable(config,tablename); Get g = new Get(Bytes.toBytes(rowKey)); g.addColumn(Bytes. toBytes(column),qualifier.getBytes("utf8")); Result r = table2.get(g); for(KeyValue kv:r.raw()){ System. out.println("row : " +new String(kv.getRow())); System. out.println("column: " +new String(kv.getKey())); System. out.println("value: " +new String(kv.getValue())); } } public static void selectByFilter(String tablename,List arr) throws IOException{ table3 = new HTable(config,tablename); FilterList filterList = new FilterList(); Scan s1 = new Scan(); for(String v:arr){ String[] s = v.split( ","); filterList.addFilter( new SingleColumnValueFilter(Bytes.toBytes(s[0]), Bytes.toBytes(s[1]), CompareOp.EQUAL,Bytes.toBytes(s[2]) ) ); s1.addColumn(Bytes. toBytes(s[0]), Bytes.toBytes(s[1])); } s1.setFilter(filterList); ResultScanner ResultScannerFilterList = table3.getScanner(s1); for(Result rr = ResultScannerFilterList.next();rr != null;rr = ResultScannerFilterList.next()){ for(KeyValue kv:rr.list()){ System. out.println("row : " +new String(kv.getRow())); System. out.println("column : " +new String(kv.getKey())); System. out.println("value : " +new String(kv.getValue())); } } } public static void main(String[] args) throws IOException{ //selectByRowKey("ericni_test","102_2.94_1400342400_00426_01132"); //selectByRowKeyColumn("ericni_test","102_2.94_1400342400_00426_01132"," Stat","Click_cnt"); List arr= new ArrayList(); arr.add( "Stat,Click_cnt,1"); selectByFilter("ericni_test" ,arr); } }
数据
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
北京市软件开发合同范本
mysql 删空数据库
订购车票的软件开发
服务器装机后怎么设置
腾讯云数据库怎么选
浦东新区创新数据库服务费
写数据库时间
一幅关于网络安全的手抄报
濮阳网络技术怎么样
分布式数据库采集与处理
网络安全宣传漫画第四期
友邻网络技术
梦幻西游默认服务器新区改不了
中国的新网络技术有限公司
物联网安全公司服务器配置错误
网络安全致小学家长一封信
魔吸服务器
税友软件开发公司
云端服务器名称
手机下载中心显示服务器错误
网络安全等级测评报告模板
软长城汽车软件开发岗位面试
数据库为什么有性能
软件开发项目交流会议
网络服务器租用的证明
公安内部网络安全管理工作
苏州湖畔科技网络技术有限公司
湖南项目软件开发排名
excel表格选取数据库
我的世界国王世界服务器地址