新的业务场景往往会触发出新的技术延伸。在数据处理的领域,不规范操作而没有及时更新关系数据库行的更新时间列往往导致常规的增量统计手段束手无策。最近的技术挑战便是这样,在Sqlserver和Mysql的数据库中由于不规范化操作,无法通过时间戳来做到早期的增量数据更新,这也就有了实时捕获更新的需求。对于这块我也算是比较新,之前都是写代码,做开发上功能,架构和技术选型之类的一个人抗不多。
在 springboot中,经常会出现采用jar执行还是丢到tomcat中执行的情况,下面就是会有差异的部分
对于通过jar包导入到tomcat等容器的方式,spring会执行直接在classpath下面找到对应的文件夹加载文件,类似下面的代码
this.dirPath = (new DefaultResourceLoader()).getResource("classpath:" + dirPath).getURI().getPath(); File dir = new File(this.dirPath); if(!dir.isDirectory()) { throw new FileNotFoundException(dir + " does not exist"); } initTemplateData(dir);
都是为了优化,所以走上了配置化道路,sql代替代码实现逻辑,so,有了这个补丁。来一波Mybatis解析sql的代码来装下过年的气氛,*_*
最近要研究Kylin的操作与使用,看中它的预处理能力和查询卓越的性能。于是便有了找个开源BI系统的来可视化Kylin查询的诉求。使用过superset-kylin,但是由于某些bug还是不得不放弃。在github上找到一款国产的BI工具,使用和配置还比较简便,Java开发也算对口,于是试着搭建试用下。bug总是有的,CBoard默认下载分支为0.4,部署完成后,发现0.4对于Kylin-2.2.0的兼容性很差,数据源添加和查询都没法进行(当然,官方回复我说0.5分支才支持Kylin-2.*版本,然后并没有事先说明-_-)。
于是乎,下载源码开始自己改咯。追踪发现,是有关Kylin API的调用规则和返回结果的格式改了,0.4版本无法解析造成了,而且还得模拟Kylin中c代码类型的转化。于是乎,开改咯
Azkaban作为LinkedIn开源的任务流式管理工具,在工作中很大程度上被用到。但是,由于非国人开发,对中文的支持性很不好。大多数情况下,会出现几种乱码现象: - 执行内置脚本生成log乱码 - 直接command执行中文乱码 - 中文包名乱码
以实际操作过程为例,项目使用的是Azkaban-3.20.0版本,通过源码编译后打包,解压配置后运行项目。由于整个过程需要结合Datax来做,所以交给Azkaban的任务就变成了执行对应的Datax json文件。而Datax作为阿里巴巴开源的数据迁移工具,日志的生成与提示都是中文发布,这就造成了通过Azkaban的执行流中的job来看log却看不出乱码的中文是什么意思。摸索许久,决定从源码入手开始层层解惑。
我倒是想写别的东西
到现在为止,经历过四个不同的领域,居然还都是曾今的风口(自嘲-_-)。从13年的移动医疗,风口的猪都能飞起来, 到15年母婴市场的武断,到16年毕业后入职广告行业,满满的程序化交易,再到现在的快速消费品行业,快速变化