hbase java sample
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,通过HBaseAdmin维护表(创建,删除表)import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HB
千家信息网最后更新 2025年01月23日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安全错误
数据库的锁怎样保障安全
全景网络安全
奶块会开新的服务器吗
服务器无法安装三合一客户端
网络技术被应用于印刷文件的传输
java 所有 数据库
计算机网络技术是工学吗
数据库原理及应用属于科技类吗
广电网络技术支持岗位考什么
求生之路第三方服务器
二级Access数据库
服务器维修电源需要停机吗
树苗网络安全课程
嘉兴海量软件开发定制
软件开发全过程描述
京北方软件开发好不好
网易企业邮箱的服务器
海南软件开发公司排名
使命召唤老显示连接到服务器
咪咕音乐网络安全
网络安全手抄报中小学生
软件开发公司要缴纳税吗
常州桥梁管理软件开发
关于网络安全知识文字
图数据库取名
阿里云服务器配置参数
北京市规范性文件数据库
网络安全小卫士简笔画
广东省司法厅网络安全等级保护
网络安全技术需要用密钥
北京软件开发人员 待遇