当前位置: 首页 > news >正文

计算机是学什么内容的/山西网络营销seo

计算机是学什么内容的,山西网络营销seo,dz网站首页html代码在哪,招远做网站哪家好kettle如何3秒内写入100万条数据到Redis 1.实现结果 先来看下实现结果,如下图,本地写入100万数据,耗时2.3s,每秒44万。接下来说说如何实现: 数据存储结构样例: 2.添加redis包放到kettle的lib目录 jed…

kettle如何3秒内写入100万条数据到Redis

1.实现结果

先来看下实现结果,如下图,本地写入100万数据,耗时2.3s,每秒44万。接下来说说如何实现:
在这里插入图片描述
数据存储结构样例:
在这里插入图片描述

2.添加redis包放到kettle的lib目录

jedis-3.1.0.jar

3.生成记录步骤

用于生成测试数据:
在这里插入图片描述

4.增加序列步骤

用于生成redis的key值
在这里插入图片描述

5.Json输出

用于将原始数据封装为一个json,存储到redis中:
在这里插入图片描述
json输出:字段页签,用于说明json中包含的字段信息:
在这里插入图片描述

6.Java 写入redis缓存

主要使用到了Pipeline类,实现批量提交:
在这里插入图片描述
详细代码如下:

// etl-java-redis
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.Pipeline;private Jedis jedis=null;
private JedisPool pool=null;
Pipeline pipe = null;
int cache_size=10000; // 批量提交大小
int cur_size=0; // 当前数据缓存量public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException {if (first) {first = false;// connect to redis serverString redis_ip = getVariable("redis.ip", "127.0.0.1");String redis_port = getVariable("redis.port", "6379");String redis_password = getVariable("redis.password", "");cache_size = Integer.valueOf(getVariable("redis.cache_size", "10000"));logBasic(redis_ip+":"+redis_port);logBasic("redis_password:"+redis_password);// 连接池方式JedisPoolConfig config = new JedisPoolConfig();config.setMaxIdle(8);config.setMaxTotal(18);pool = new JedisPool(config, redis_ip, Integer.valueOf(redis_port), 2000, redis_password);jedis = pool.getResource();		jedis.select(1);// 切换数据库pipe = jedis.pipelined(); // 创建pipeline 对象logBasic("Server is running: " + jedis.ping());}Object[] r = getRow();if (r == null) {setOutputDone();pipe.sync();jedis.close();pool.close();return false;}// It is always safest to call createOutputRow() to ensure that your output row's Object[] is large// enough to handle any new fields you are creating in this step.r = createOutputRow(r, data.outputRowMeta.size());/*Redis数据存储(Redis-String)key : KEYvalue : JsonData*/String key = get(Fields.In, "id").getString(r);String value = get(Fields.In, "JsonData").getString(r);logDebug(key + "\t" + value);// 写入缓存pipe.set(key, value);cur_size++;if (cur_size % cache_size == 0 && cur_size > 0) {// 当达到缓存最大值时提交pipe.sync(); // 同步cur_size=0; // 复位}// Send the row on to the next step.putRow(data.outputRowMeta, r);return true;
}

7.命名参数

将可变参数存储到命名参数中,方便迁移:
在这里插入图片描述

– 本文结束 –

http://www.jmfq.cn/news/5223745.html

相关文章:

  • 抖音橙子建站/广州seo推广运营专员
  • 福建省建设行业信息公开平台/长沙官网seo技术
  • 怎么建设素材网站/关键词推广操作
  • 山东seo网站/青岛seo推广专员
  • 织梦如何做网站/安卓手机优化软件排名
  • html网页制作兼职平台/专业seo网络推广
  • 网站的建设和维护/一份完整的活动策划方案
  • 仿券妈妈券老大网站开发/东莞百度快速排名
  • int域名网站有哪些/谷歌官方网站注册
  • a站下载安装/免费建立个人网站申请
  • wordpress网站 frp穿透/seo网上培训
  • 网站咨询聊天怎么做/产品推广方案模板
  • 北京做网站定制价格/媒体资源网官网
  • 济南中建设计院 官方网站/网站推广的优化
  • 龙岩市新罗区疫情/徐州网页关键词优化
  • 做微信的网站有哪些/google seo教程
  • 做java面试题的网站/sem分析是什么
  • 文化广电旅游局网站建设方案/360建网站
  • 呼叫中心网站建设/免费软文网站
  • 成全视频免费观看在线看 综合 笔记 视频/四川旅游seo整站优化
  • 网站建设疑问/建站教程
  • 女生做网站编辑/广州网站设计
  • 视频网站做视频节目赚钱吗/快速网站轻松排名
  • 网站内容如何编辑软件/网站自动收录
  • 网站 配色方案/找网站设计公司
  • cpa建站教程/推广哪个网站好
  • 长春网站建设/手机访问另一部手机访问文件
  • 商城网站制作公司/网络seo关键词优化技术
  • discuz可以做门户网站么/郑州网络推广哪个好
  • 网页制作与网站设计/优化大师win10