hbase java sample
发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,通过HBaseAdmin维护表(创建,删除表)import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HB
千家信息网最后更新 2024年11月20日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,Listarr) 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安全错误
数据库的锁怎样保障安全
广东省内软件开发公司
数据库与角色关联的数据库
redis记录数据库数据
高考网络安全专业如何
周至网络安全宣传图片
世界十大互联网科技公司
数据库视图和安全实验报告
天府软件园34岁软件开发
数据软件开发就业方向
上海数据网络技术市场价格
网络安全问题的主要表现
新疆软件开发有限公司
网络安全国产化替代
大型商场的网络安全
中学生网络安全知识大全
新四大发明与网络技术的关联
doris数据库设计
银行网络安全周宣传活动
ps4英灵殿育碧服务器
离线基站数据库
nr数据库
服务器运维l1
数据库多表查询别名命名规范
主流数据库管理系统的特点
最容易上手的网络技术
服务器机房消防管理规定
《网络安全法》是什么
线索性数据库有什么
清除数据库锁
他山网络技术有限公司