自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (1)
  • 收藏
  • 关注

原创 DataWorks中日期格式化

DataWorks文档中说明了可以用$[mm]格式化月份,比如2023年1月7日月份格式化。但是如果希望月份返回1, 格式该怎么写呢?我经过尝试,发现可以了一下文档中未说明的格式。比如2023年1月7日这个日期,

2023-07-20 10:37:34 238

原创 Linux桌面系统常用软件推荐

Linux桌面系统常用软件推荐

2022-07-11 16:37:20 952 1

原创 clickhouse中数组字段的读写

clickhouse中数组类型的字段,怎么用JDBC对这种字段读写

2022-07-11 16:14:11 829

原创 fastjson1.2.83时间处理的bug

fastjson1.2.83发现一个bug:如果一个JSONObject有一个Date值,经过toJSONString()后会变成一个long值,再经过JSONObject.parseArray后得到的时间就不对了。

2022-07-11 16:03:47 2215 3

原创 pom中运行ant命令

有时候我们需要在pom中运行ant命令,比如jar生成后做些什么等,可以像下面这样实现:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.8</version> <executions> &lt

2022-04-19 18:08:34 376

原创 pom中创建额外的jar

在maven项目build时,有时候我们需要额外创建一个jar。这个需求可以用assembly功能实现。<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.6</version> <configuration&gt

2022-04-19 18:01:54 232

原创 SpringBoot打包时将lib放外面

SpringBoot打包时缺省情况下是生成一个完整的jar。但是这个jar会比较大,一般会有几百兆大小。因为这样把所有用到的其他jar都放进这个jar中了。那有没有办法将其他jar放到jar包外面呢?有的!只需要在pom文件中加入<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <v

2022-04-14 16:44:09 1233

原创 clickhouse中数组的使用

需求如下:表flight_sale_history: discount: 折扣 air_code: 航班号表discount_cabin: air_code: 航班号 discount: 折扣 cabin: 舱位数组要求对flight_sale_history中的每一条记录,求出discount_cabin中折扣最接近的舱位数组的第一个舱位。想法:1. 将discount_cabin变成每个air_code一条记录,...

2021-09-14 00:54:54 2978

原创 mysql Mapper.xml中id重复不报错

今天统计贷款数据时发现贷款笔数为0, 贷款金额不为0。SQL如下:select count(distinct order_number) from loan_order_repayment_plan plan where overdue_days >= 90select sum(ps_rem_prcp) from loan_order_repayment_plan plan where AND overdue_days >= 90这不可能啊!查找了半天,才发现ma

2021-04-25 17:24:50 546

原创 jps 出现main class information unavailable

jps时出现main class information unavailable。 百度了一番,仍然没解决。忽然灵机一动,想到启动脚本中设置了远程调试,且是等待模式。-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=18769估计就是这个原因。将suspend改为n,问题解决。...

2021-04-21 14:13:24 1953 2

原创 access_by阶段被略过

从现象看,对于一些非法的http请求,openresty会略过access_by阶段,但是body_filter,log_by阶段不略过. 比如对于请求/aaa/sss%%5E&, 这是一个非法的URL,access_by阶段就被略过了.

2021-01-12 11:17:26 632 1

原创 mysql json取值自定义函数

这个自定义函数的目的是处理格式非常简单的JSON,像下面这种{“name”:"Tom", "age":21, "sex":"male"}给出名字,要求取出对应的值。DELIMITER $$DROP FUNCTION IF EXISTS `json_item` $$CREATE FUNCTION `json_item`( my_json VARCHAR(4096), my_item VARCHAR(64)) RETURNS VARCHAR(512) CHARSET utf8

2020-07-31 16:18:24 594

原创 java调用1.5.1版本PMML

PMML版本1.5和1.4的API发生了变化。网上搜到的都是1.4版本的例子。所以这里提供一个1.5版本的例子。public class PredictTest { public static void main(String[] args) throws Exception { String pathxml = "xgb_ip.pmml"; Map<String, Double> map = new HashMap<String, Double>();

2020-07-23 18:13:02 658 1

原创 一个java版本的复杂spark例子

首先说一下这个spark程序的目的。这个程序是要求对网站收到的http请求数据计算一些特征值,要求每10秒钟计算一次最近2小时的数据的特征值。这就需要用到spark的滑动窗口运算了。数据是从topic为app的kafka中读取,计算出来的特征值发往topic为app_FEATURE的kafka中。代码如下:public class FeatureAccumulator { public static void main(String[] args) { if (args.lengt

2020-07-17 16:24:02 246

原创 spark运行出现Unsupported major.minor version 52.0

spark程序用local模式测试通过后,打包后以yarn cluster 模式spark-submit到集群中spark-submit --jars /root/json-simple-1.1.1.jar --class com.nebula.app.ml.FeatureAccumulator --master yarn --deploy-mode cluster /root/accumulator.jar结果出现Unsupported major.minor version 52.0

2020-07-17 16:12:00 729

原创 spark中变量名重用要小心

在spark程序中,重用变量名要特别小心。比如下面的程序JavaPairDStream<String, Serializable> result1 = data.mapToPair(...);result1 = result1.filter(...);result1 = result1.union(other);结果极有可能是错的。估计和DAG的构造方法有关,DAG有可能是用变量名来构造计算图的,同样的变量名在不同的地方含义不一样,但是DAG区分不了。当然这只是我猜的,没得到证

2020-07-17 15:50:07 167

原创 Integer.getInteger()的坑

程序中用到了Integer.getInteger("123")。以为是把一个字符串格式的数字包裹为一个Integer。 结果总是返回null。看了java源代码,才发现这个方法是取系统变量中的值。感觉这个方法设计得不好。很难看得出来这个方法和系统变量有什么关系。应该为System.getInteger()更好些。...

2020-07-17 15:40:30 4860 3

原创 docker启动时出现open() “/usr/local/openresty/nginx/conf/nginx.conf“ failed (13: Permission denied)

运行一下命令启动dockerdocker start b2c发现启动失败, docker logs b2c看日志,发现下面错误:2020/07/03 16:03:06 [emerg] 1#1: open() "/usr/local/openresty/nginx/conf/nginx.conf" failed (13: Permission denied)可是看nginx.conf的权限, 所有人都有读权限啊:[root@anti-03 config]# ls -ltotal 2

2020-07-03 16:19:46 3396

原创 openresty中mysql读取中文问题

当mysql中字段中有中文时,openresty的mysql库读出来的中文都是乱码。直接在连接时设置charset='utf-8',结果说utf-8不支持。网上搜到一个方法就是在查询前执行set names utf8即可db:query("SET NAMES utf8")res,err,errno,sqlstate = db:query("select * from wp_terms")...

2019-09-10 11:02:52 408

原创 lua中读取COOKIE的注意事项

在lua中读取Cookie值,可以用local cookie = ngx.var.http_cookie或local cookie = ngx.req.get_headers()['cookie']但是第二种取出来的cookie类型有时候是string,有时候是table。不知道为什么,为安全起见,最好还是使用第一种方法。...

2019-08-14 14:13:46 3945

原创 lua中string.find用法

在lua的string.find方法用法为string.find(s1, s2)含义为查找字符串s2在s1中出现的位置,如果找不到,返回nil。但这个方法实际上是以正则表达式来解释s2的,所以string.find('if ( i > 10 )', '(')这个表达式运行时会出现错误unfinished capture。lua中的正则表达式使用的特殊字符为^$()...

2019-08-09 14:51:32 29200

原创 nginx中location指令不支持参数

nginx中location指令是不支持参数的比如当匹配/weixin_new/books.do?method=queryFlightDomestic时转向代理网站。像下面这样就是不行的:location /weixin_new/books.do?method=queryFlightDomestic { proxy_pass http://10.14.80.193:8091;}...

2019-08-06 16:24:30 2008

原创 docker容器无法启动的解决办法

比如openresty的容器启动失败,可以按一下方法解决。先用docker logs openresty看什么地方出现了问题,修改相应的文件,然后把改好的文件用docker cp xxx openresty:/path/to/file拷贝到容器中,然后docker start openresty...

2019-08-03 17:10:33 22298

原创 ssh 远程执行某些命令,会报command not found

脚本很简单java -classpath /app/FATFBD.jar:/app/chardet-1.0.jar cn.gov.pbc.jszjv.swingbase.fatf.DataImport.GetChardet $*ssh 远程执行这个shell脚本,会报command not found,但是该命令在远程服务器上是可以正常运行的。这是因为ssh远程连接到服务器的环境变量中不包...

2019-06-21 13:40:13 2968 2

原创 如何判断当前系统是否为一个虚拟机

对于Linux,可以用下面命令来判断当前系统是否为虚拟机:dmidecode -s system-product-name如果输出含Virutal就是虚拟机,其他都是物理机

2019-03-27 10:06:59 8859

原创 如何判断两个虚拟机是否属于同一个物理机

在有时候需要判断两个虚拟机是否属于同一个物理机,对于Linux,可以用下面命令:dmidecode -t 4 | grep ID对于Windows,可以用下面命令:wmic cpu get processorid这个命令会显示CPU ID,不同物理机CPU ID是不一样的。如果两个虚拟机显示的CPU ID一样,那他们就必然属于同一个物理机。...

2019-03-27 10:03:52 2039

转载 yum离线安装

本方案基本思路是在一个可以联网的系统中下载rpm安装包,然后传到无法联网的目标操作系统,建立安装源,进行安装。为了减少不必要的麻烦,在本地用虚拟机安装一个和目标操作系统一模一样的但是没有安装任何额外软件的系统,用于下载各种安装包和依赖包。配置本地环境在虚拟机内配置yum只下载RPM包而不安装,这里要使用–downloadonly选项,需要先安装yum-plugin-downloadonly...

2018-09-14 17:14:56 15349 1

转载 Nginx+Keepalived高可用集群

转载自http://blog.51cto.com/superpcm/20953951.Keepalived高可用软件    Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,keepalived除了能够管理LVS软件外,还可以作为其他服务的高可用解决方案软件。    keepal...

2018-09-14 16:36:01 242

转载 mysql 事务未提交导致死锁 Lock wait timeout exceeded; try restarting transaction 解决办法

近日在学习mybatis的时候,再执行一个查询操作的事务sqlSession未提交,导致数据库事务死锁。控制台报的是:  Lock wait timeout exceeded; try restarting transaction   挣扎了我一个多小时........---------------------------------------------------------------...

2018-08-28 17:36:43 679 1

原创 Oracle批量插入时出ArrayIndexOutOfBoundsException

Mysql在批量插入时,无法获得生成的id值,为了解决这个问题,给prepareStatement加了Statement.RETURN_GENERATED_KEYS参数。conn.prepareStatement(rawSQL, Statement.RETURN_GENERATED_KEYS) 但是Oracle批量插入时,出现ArrayIndexOutOfBoundsException:...

2018-08-16 18:16:51 1924

转载 syslog格式

syslog格式:&lt;PRI&gt;HEADER MESSAGEsyslog的消息长度:不超过1024。syslog格式举例:&lt;15&gt;Jul 10 12:00:00 192.168.1.1 SyslogGen MESSAGE 格式说明:PRI    即Priority(优先级),有效值范围为0 - 191。不能有空格、数字前也不能补0。    合法的形式如:&lt;...

2018-08-15 15:47:22 2271

原创 dubbo转Spring Cloud

一个系统原来是使用dubbo的,现在想把微服务架构转为Spring Cloud。但是这个系统已经在使用中了,希望一步步的把dubbo服务一个个的转为Spring Cloud,转换一个使用一个,转换的过程中尽量少影响原系统。比如现在要转换dubbo服务D1成Spring Cloud服务C1,D1又需要调用dubbo服务D2。怎么办呢?如果同时转换D1,D2的话,D2可能又会调用D3,这样可能引用一大...

2018-05-30 20:30:17 5004

原创 判断两组IP是否包含相同的IP值

有这么一个需求:判断两组IP是否包含相同的IP值。IP组表示为单个IP和IP段的组合,比如   10.1.1.3,10.1.2.4-10.1.2.10,10.1.2.20-10.1.2.30现在需要判断这种格式的两组IP是否包含了相同的IP值,只要有一个相同的IP值就行。比如1.1.1.3和1.1.1.1-1.1.1.4就包含了一个相同的IP 1.1.1.3。为了比较的方便,首先我们要把IP格式化...

2018-05-30 19:36:47 945

转载 xpath路径表达式笔记

转载自http://www.ruanyifeng.com/blog/2009/07/xpath_path_expressions.html。本文内容有所增加。简单说,xpath就是选择XML文件中节点的方法。 ...

2018-04-13 16:48:38 804

转载 服务治理过程演进

服务治理过程演进 转载自http://javatar.iteye.com/blog/1345073在大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务...

2018-04-13 16:43:02 233

原创 Struts的Action中不能调用两次

QuartzAction.doRunJob方法会启动一段任务运行,并等到任务运行结束才返回。如果这个任务运行需要的时间比较长,再次调用这个doRunJob会发现不起作用。首先看看调用堆栈: at com.nebula.commons.actions.backoffice.QuartzsAction.doRunJob(QuartzsAction.java:482) at sun.refle

2018-02-06 15:42:49 210

原创 nginx反向代理设置

项目需要将服务器http://localhost:8080/ccc/反向代理为http://www.xxx.com/。nginx配置如下:server { listen 80; server_name www.xxx.com; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_head

2017-12-26 17:35:35 490

转载 Java并发编程:volatile关键字解析 by 海子

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来

2017-11-30 16:44:46 244

原创 XPATH元素定位

XPATH是在XML中进行元素定位的一种强大工具。在网络爬虫中大量使用。对于这种比较好的树形,并且元素有属性值可以利用的文档,XPATH表达式比较好写。但是对于一些比较平的树,在一层中有很多元素,更糟糕的是元素中还没有属性值的文档,定位一个元素就比较困难了。

2017-11-10 16:05:48 1939

原创 java日期格式中MMM的问题

在一次处理美国的网站时,时期格式为Dec 8, 2016。我们知道Dec这种表示月份的需要用MMM表示,于是我用一下代码解析这个时间new SimpleDateFormat("MMM d, yyyy").parse(s)谁知运行居然出错。为什么会出错呢?在确认格式没写错后,最后我意识到应该是Locale导致的问题,我的Locale是zh_CN。于是我改成这样:new SimpleDateF

2017-11-08 15:56:51 6496 2

比较完善的IP地址库

这个IP库是网上找的,但是使用时发现有的地址没有省的信息,比如天津市南开大学仅仅显示为南开大学,这样在按省处理时就有问题。这个版本是我加上了省的信息以后的。

2017-09-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除