HBase Filter使用方法(三)------批量put导入
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,一、应用线程导入1、创建put方法public class mmm{ public static Configuration config=new Configuration();;
千家信息网最后更新 2025年01月24日HBase Filter使用方法(三)------批量put导入
一、应用线程导入
1、创建put方法
public class mmm{ public static Configuration config=new Configuration();; static{ config.set("hbase.zookeeper.property.clientPoint","2181"); config.set("hbase.zookeeper.quorum","hbase"); config.set("dfs.socket.timeout", "180000"); } public static void put(String tablename,String RowKey,String Family,String Qualifier,String Value){ HTable h=null; try{ h=new HTable(config,tablename); Put put=new Put(Bytes.toBytes(RowKey)); put.add(Bytes.toBytes(Family), Bytes.toBytes(Qualifier), Bytes.toBytes(Value)); h.put(put); }catch(Exception e){e.printStackTrace();}finally{ try { h.close(); } catch (IOException e) { e.printStackTrace(); } } }}
2、创建线程
public class PutXX { public static void main(String[] args) { run1 r1=new run1(); Thread rr1=new Thread(r1); rr1.start(); run2 r2=new run2(); Thread rr2=new Thread(r2); rr2.start(); //这里创建两个线程,需要可以继续创建~}}class run1 implements Runnable{public void run() {for(int i=0;i<=10000000;i++){ mmm.put("yuan", ""+i+"", "property", "yuan_name", "xx"+i); System.out.println(i); }}}class run2 implements Runnable{public void run() {for(int i=10000001;i<=20000000;i++){ mmm.put("yuan", ""+i+"", "property", "yuan_name", "xx"+i); System.out.println(i); }}}
<2015.2.2>
数据导入速度慢。之前put方法每执行一次就要new一个新HTable然后释放资源。。太墨迹了
新put
public static void NBput(String tablename,int RowKey,String Family,String Qualifier,String Value){ HTable h=null; try { h=new HTable(config,tablename); for(int i=RowKey;i<=(RowKey+10000000);i++){ String row=""+i+""; Put put=new Put(Bytes.toBytes(row)); put.add(Bytes.toBytes(Family), Bytes.toBytes(Qualifier), Bytes.toBytes(Value)); h.put(put); System.out.println(i); } } catch (IOException e) { e.printStackTrace(); }finally{ try { h.close(); } catch (IOException e) { e.printStackTrace(); } } }
修改以后速度明显提升啊我去!之前那方法太傻缺了。。。。
二、使用List进行put
public class mmm{ public static Configuration config=new Configuration();; static{ config.set("hbase.zookeeper.property.clientPoint","2181"); config.set("hbase.zookeeper.quorum","hbase"); config.set("dfs.socket.timeout", "180000"); } /* * 批量put * */ public static void moreput(String tablename, Listputs){ HTable h=null; try{ h=new HTable(config,tablename); Put put=new Put(Bytes.toBytes("")); puts.add(put); h.put(puts); }catch(Exception e){ e.printStackTrace(); }finally{ try { puts.clear(); h.close(); } catch (IOException e) { e.printStackTrace(); } } }}
然后在主函数中:
Listputs=new ArrayList (); for(int i=100000;i<=5000000;i++){ System.out.println(i); Put put=new Put(Bytes.toBytes(""+i+"")); put.add(Bytes.toBytes("property"), Bytes.toBytes("yuan_name"), Bytes.toBytes("源网"+i)); puts.add(put);} System.out.println("写入List完成"); mmm.moreput("yuan", puts);
方法
线程
速度
明显
两个
函数
墨迹
数据
资源
源网
应用
使用方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海奕兴网络技术
基岩版1.18服务器核心
2020好就业的软件开发
零基础自学网络安全需要学什么
数据库增量更新方法
计算机网络技术与实有啥用
网络技术的简称是什么
网络安全证书怎么解决方案
网络安全需要学习什么
普通人在家如何学习网络技术
深圳市驾为学车互联网科技
软件开发公司聚顶科技解决好
晋江市软件开发培训机构
苏铭服务器怎么样
网络安全比赛2018
新型数字基础设施网络安全
BDA数据库
cs1.6服务器
小米盒子当服务器
数据库域属性组
软件开发的最初工作是估算成本
南宁富士康软件开发
前端后端数据库谁好
未成年人网络安全宣传手册
数据库修改表的限制条件
数据库索引问题
数据库怎么防止注入攻击
婺城区软件开发教程
游戏服务器有什么好处
BDA数据库