请上传宽度大于 1200px,高度大于 164px 的封面图片
    调整图片尺寸与位置
    滚轮可以放大缩小图片尺寸,按住图片拖动可调整位置,多余的会自动被裁剪掉
取消
刘牛牛(uid:156926)
职业资格认证:尚未取得认证
kettle的不完全使用
最近在做一个新的东西需求如下: 现有4个实时指标数据,来自不同的数据源,每个数据源的表结构相同,表名后缀都是根据appid来动态变化,需要借助kettle的处理进行数据的整合,形成结果表。表名我们用A_${appid}代替appid是变量。然后现在开始我的操作: 一:项目实现的步骤 1.在本地上的运行和调度:因为是4个动态表,于是需要用到JS循环,根据参数appid的个数来循环遍历,需要18次,才能把需要的数据跑到结果集里 最后的job流程图如下:转换是为了把appid先存进去结果集,转换2是为了把表的数据输出到结果集,js是为了循环遍历 127821 这样的步骤网上也有类似的参考文档,本人太懒,就不贴了哈哈哈 1.数据库是在阿里云上的,本地有限制,无法访问,所以只能放在服务器上部署访问,于是把kettle部署到服务器上 参考文档:https://jingyan.baidu.com/article/60ccbcebb60f1664cab19707.html (服务器部署,但是不需要打开图形化界面,只要能运行作业和转换就行) 2.部署好了之后,在本地做好自己的准备工作,任务和转换都放在本地做好,调通,可以用测试数据跑起来,运行无误的时候,切换为生产库然后上传到服务器上,再用脚本执行任务或者转换即可 参考文档:https://www.cnblogs.com/kxm87/p/9493121.html 3.因为我的需求是要跑实时数据,也就是一分钟要执行一次job,还需要写定时脚本任务 参考文档:https://blog.csdn.net/zh_alen/article/details/52934719 这样就可以成功了,但是运行的过程也出现了一系列问题,因为自己并不是很懂这个工具,所以分享出来,人多力量大,总有可以帮我答疑解惑的大侠。 二、遇到的问题: 本地运行无任何问题,测试服务器上也未发现异常,放到正式服务器上初期也是可以执行成功的,每分钟都会跑任务,但是总在某个不经意的时刻上会出现卡顿现任务就会卡住,因为每次出现卡的地方不一样,很难定位,所以在排查问题的路上遇到很多阻碍,现在依旧是迷惑ing 127823 卡顿如上图,停到这里无法执行下去。 提示一点和网络还有数据库的性能无关系,因为我已经排查了这两点,其他还会是什么问题会造成出现这种情况呢?
这波'骚操作'
起这个名字是源于我这两天做的一个需求, 需求大致如下:页面需要隐藏部分列,就是业务方看数据的时候是只有13列数据(本来有15列数据,因为有两列不想展示出来,所以做了隐藏操作),但是业务方希望导出的时候,又是全部列出现,即15列的信息都能显示出来。 于是我先用模板导出属性里面的excel 导出隐藏行导出隐藏列,这样导出的数据是全部列都出现了,但是原本隐藏的列是需要在excel上取消隐藏才能显示出来,业务方觉得这样有点碍事,还要自己手拖拽,不同意。(其实我的内心是觉得他们真的太懒了哈哈哈) 然后我就换了个方式,最简单最笨的方式,做了两个页面一个用于展示一个用于导出,参考(http://help.finereport.com/doc-view-1822.html)文档,写了JS,于是发现,写的导出按钮没有毛病,但是如果我页面所有参数全选的情况下,就无法导出了,也不报错。接着我就咨询了人工客服,大致问题如下,是因为我是get请求,get请求http对url长度有限制,因为参数太多,参数的赋值也太多,导致url太长,响应就无效了,客服建议我用post请求,无奈我不太会,所以很是苦恼。 {:11_357:} 就在此刻一个新奇的文档吸引了我的注意力,这个文档的操作不仅简单而且快速有效,还省事,简直太骚了。 文档呈上(http://help.finereport.com/doc-view-1798.html) 我用了这个文档,立刻在展示的页面上,点开模板web属性,颤抖的为模板单独设置上写上了加载结束JS,页面的单元格以及列没有做任何操作。 然后就是见证奇迹的时刻,omg,amazing,太神奇了,这是什么神仙操作,展示的页面确实只有13列,但是我导出的时候又变成了15列,我的天呐,简直拯救了正在准备自闭的我。 今天又是元气满满的一天{:11_361:} 编辑于 2019-3-1 12:53
Base64字符串转格式分享,不是图片不是图片重要的话说两遍
数据库存储格式为base64字符串不是图片: 列如某张表的某个字段的内容是6Lqr5L2T5Lmz,经过mysql数据库的select from_base64('6Lqr5L2T5Lmz') 输出为:身体乳 报表不支持from_base64函数,所以需要自定义函数去转换这个base64格式存储的字符串:(附上自定义函数CustomFun) package com.fr.function; import com.fr.script.AbstractFunction; import java.util.Base64; /** * 自定义函数 */ public class CustomFun extends AbstractFunction { /** * @param args 函数的参数,是经过了算子处理了其中特殊参数的 * @return 经过函数处理的值,用于参与最终计算 */ public Object run(Object args) { return new String(Base64.getDecoder().decode(args.toString())); } } 自定义函数添加方式可以按照http://help.finereport.com/doc-view-698.html这个方式添加到服务器上,在单元格里面显示值写上此函数即可转换成功 备注:此函数是我们的开发妹子春霞写的,觉得很惊艳,分享给大家,第一次写帖子,不是很美观,多多包涵。 编辑于 2019-1-18 11:06
个人成就
内容被浏览28,845
加入社区5年291天
返回顶部