- 博客(44)
- 资源 (3)
- 收藏
- 关注
原创 capistrano从安装到部署
由于capistrano是用ruby语言开发的,所以使用capistrano前,需要在部署项目的源服务器上(部署的目标服务器不需要)安装ruby及capistrano。
2017-04-21 15:36:51 3276
原创 airflow详细安装过程
airflow是Airbnb开源出的一个数据流管理工具,关于使用,可参考官网http://pythonhosted.org/airflow/现将安装过程及踩过的坑分享给大家。安装airflow(为了避免对其他程序造成影响,故不想替换掉原有的python2.6.6,此处希望2.6与2.7两个版本共存,而且安装的pip、virtualenv等软件,也只希望在python27
2016-09-25 10:27:42 17980 3
原创 记一次web服务的调优
首先,描述一下环境,简单的web服务,关键日志写入kafka,要求qps达到单机10K即可。后面将遇到的问题、解决方案和原理记录如下:现象内存占用过大,虽然jvm的堆内存设为1G,但进程实际内存使用量达到了12G解决程序中使用了kafka,new出kafka producer来向kafka中写日志,调整kafka参数解决,调大了bat
2016-09-25 09:55:33 627
原创 linux下eclipse导入sbt项目
环境描述:centos6.6jdk1.7scala_IDE 4.4.1(Eclipse)scala语言环境已有项目test,使用sbt创建,但目前无法使用eclipse导入该项目 安装步骤下载sbt(http://www.scala-sbt.org/download.html)解压缩sbt压缩包建立启动sbt的脚本文件
2016-06-16 15:55:39 2045
原创 maven父子项目使用assembly插件打包
1、使用assembly打包,当发布项目时,需要将程序的jar包、依赖的jar包、运行脚本、配置文件等一起发布,就需要使用maven的assembly插件,将项目发布为zip包或tar.gz包,网上介绍的使用assembly打包都是单个项目的,没有介绍父子项目打包了,所以试了好久,后来才发现,assembly打包不区分父子项目还是单独项目,哪个项目需要打包就在哪个项目的pom中配置assembly
2016-06-05 19:06:22 13648
原创 java操作parquet文件,添加字段
1、从原parquet文件中读出schema Configurationconfiguration = new Configuration(true); ParquetMetadata readFooter = null; ParquetFileReader parquetFileReader = null; readFooter =ParquetF
2016-06-05 19:01:43 6665
原创 Parquet的timestamp类型转为long
由于sparksql使用parquet文件存储数据时,有个默认参数spark.sql.parquet.int96AsTimestamp为true,即为保持精度,使用96位的int来存储Timestamp类型,这就为使用java代码解析Timestamp类型带来了麻烦,下面为转换工具类。package com.le.tp.digitalmarketing.hotword.util;im
2016-05-20 17:05:42 5100
原创 关于shell中的正则表达式和awk的使用
今天有幸得方叔开的小灶,特将课堂笔记整理如下,以备后续使用。 1、关于正则表达式egrep和grep -e都可接正则表达式,若使用grep接正则表达式,则表达式中的"["和“]”需要转义匹配次数+ 表示匹配至少一次* 表示匹配0次或多次{m,n} 表示匹配m到n次{m} 表示只匹配m次
2015-08-28 21:58:12 2107
原创 hadoop2.6安装配置过程摘要
今天心血来潮,学习一下hadoop,现将安装配置过程记录如下,供以后查阅。1.运行环境相关 1、两台VMWare虚拟机,RHEL6.4(64位)、jdk1.7,相关安装过程省略。 2、master 192.168.36.129 slave1 192.168.36.130,并将主机IP配置信息添加到/etc/hosts中 3、Linux中创建hadoop用户,
2015-05-09 19:18:38 704
原创 linux c++中文处理问题及occi入库中文
最近遇到了C++处理中文问题,系统收到UDP消息中的中文为Unicode编码按字符转为ascii码的格式发过来的,例如,外部系统要发个“君”过来,则实际发过来的是“541b”四个字符,现在需要将收到的消息解析后用occi插入DB。下面就这两天学到的知识做一个总结,有不对的地方还请大家指正。一、对字符集和编码格式有概念混淆的问题常见字符集名称:ASCII字符集、GB2312字符集
2015-01-20 23:06:23 1962
原创 Linux C++ 使用condition实现阻塞队列
/* * BlockingQueue.cpp * * Created on: 2014年6月10日 * Author: */#include "../include/BlockingQueue.h"BlockingQueue::BlockingQueue(){ this->capacity = 10; queue = new int[capacity
2014-08-11 21:24:22 5205
原创 spring注入枚举类型作为参数
//定义枚举类型public enum ReportType { MONTH,WEEK,DAY}//使用枚举类型public class ReportJob { private ReportType reportType;}//spring配置文件注入 注意:枚举类型要想注入到类中,一定要
2014-04-05 18:17:51 29226
原创 使用ireport创建报表模板时,向subdataset中传参
在使用ireport设计jasperreport时,若添加table,则需要创建subdataset。那么,如何向subdataset中传参数呢?1、在SubDataset中添加Parameter2、在添加的table组件上右击,选择Edit table datasource3、在弹出的Dataset Run窗口中,选择Parameter选项卡,点击Add按钮。
2014-04-02 18:25:30 5339
原创 程序调优
调优一般可以使用三种方法:索引、缓存、减少IO次数1、使用索引 使用数据库索引或文件索引,对于数据库索引来说,当某个表的数据量超过万级,而查出的数据量低于10%时,就应该使用索引。 对于xml节点的访问,可以使用xpath作为索引。2、使用缓存机制 包括数据库连接池、对象缓存等,防止频繁地创建对象。3、减少IO次数 JDBC去数据库取数据
2014-03-24 16:47:41 1013
原创 使用ireport生成jasperreport报表模板
1、Jasperreport官网下载地址:http://community.jaspersoft.com/download下载jasperreports-5.5.1-project.zip和iReport-5.5.0-windows-installer.exe即可。2、ireport的使用请参考网上其它文章,推荐http://blog.csdn.net/q326527970/article
2014-03-24 16:10:43 6044
原创 OGG-00665 OCI Error executing single row select(status = 3135-ORA-03135: connection lost contact
【现象】:oracle端goldengate的抽取进程状态为abend,但mgr和投递进程为running状态【排查】:1、查看抽取进程的dsc日志文件,无记录 2、查看ggserr.log,报“2014-01-17 18:25:56 ERROR OGG-00665 Oracle GoldenGate Capture for Oracle, e
2014-01-20 11:38:40 5871
原创 shell脚本 操作日志文件 && 读取文件 && 查询进程ID
1、查询30天前的日志文件并删除find /g2ihslog/xmlgen/ -mtime +30 –exec rm {} \; 通过文件名中包含的日期查询:#文件中包含的日期字符串DEL_DAY=`date -I -d '-30 day'`"-00"#日志文件夹logdir="/g2ihslog/*/"#遍历文件夹下的文件for n in `ls $logdi
2013-09-05 15:21:04 7848 1
转载 Java几种常见的编码格式
几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言。由于人类的语言有太多,因而表示这些语言的符号太多,无法用计算机中一个基本的存储单元—— byte 来表示,因而必须要经过拆分或一些翻译工作,才能让计算机能理解。我们可以把计算机能够理解的语言
2013-08-20 16:36:28 1844
转载 Java Socket网络编程常见异常
1.java.net.SocketTimeoutException这个异常比较常见,socket超时。一般有2个地方会抛出这个,一个是connect的时候,这个超时参数由connect(SocketAddress endpoint, int timeout)中的后者来决定,还有就是setSoTimeout(int timeout),这个是设定读取的超时时间。他们设置成0均表示无限大。---
2013-08-12 09:01:38 982
原创 java读写文件代码
//写入文件File file = new File(sessionNumFileName); FileWriter writer = null; try { //创建输出流 writer = new FileWriter(file); //将SessionNum写入文件
2013-07-24 10:47:34 1311
原创 Sql Server数据库修改为Oracle适用的修改点
建表语句修改序号修改范围修改方法1int类型改为number(10)2numeric类型改为number类型3smallint类型改为number(5)4tinyint类型改为number(3)5bigint类型改为number(19)6bit类型
2013-03-27 09:09:23 667
原创 Class.getResource()与Class.getResourceAsStream()方法
对于Maven工程的resources目录下的配置文件,可以通过Class.getResource()与Class.getResourceAsStream()方法读取比如我们有以下目录|--project |--src |--javaapplication |--Test.java |--file1.txt
2013-03-18 21:32:08 746
原创 java Map java.util.ConcurrentModificationException
java.util.ConcurrentModificationException的原因是遍历Map的过程中对Map进行插入或删除操作
2013-03-15 08:56:41 689
转载 如何去除Oracle库表结构中的类空格字符
在涉及数据库操作的工作中,我们常会遇到对2个字符串进行等值比较而非模糊查询:例如比较2个姓名是否相等?但操作人员在将字符串录入系统的时候,可能会录入空格,或者是TAB健(我把这样的看起来像空格,可能实际上并不是空格的字符称为类空格字符),这样在比较的时候肯定是不等的。怎么办?1.首先是去除空格在进行比较(比如,把姓名中的所有空格去除):Update table_name set xm=re
2013-03-12 09:43:44 1564
转载 ORACLE 与SQL SERVER SQL语言比较[三]
4、普通函数比较函数ORACLESQLServer比较数学函数ABSABS两者都是取绝对值函数格式都为abs(numeric_expression)ASIN,ACOS,ATANASIN,ACOS,ATIN用于计算反正弦,反余弦,反正切的值。参数为float类型的表达式,取值-1~1.
2013-02-22 13:18:59 498
原创 Spring rmi
Spring RMI 性能优化文章http://hi.baidu.com/huxiaohang/item/f6f4803e6fa21c0eceb9fec6(1)RMI的基本体系结构,概括起来说,由三个抽象层组成: 1、存根/框架层(Stubs/Skeletons Layer) RMI为我们引入了两种特殊类型的对象,称为存根(Stub)和框架(Skeleton
2013-01-06 11:03:44 695
转载 用java调用oracle存储过程总结
1、存储过程的参数 要执行服务器上的存储过程,往往要传递一些参数。这些参数分为四种类型: 第一种称为输入参数,由客户程序向存储过程传递值。 第二种称为输出参数,由存储过程向客户程序返回结果。 第三种称为输入/输出参数,既可以由客户程序向存储过程传递值,也可以由存储过程向客户程序返回结果。 第四种称为状态参数,由存储过程向客户程序返回错误信息。 要说明的是,并不是
2013-01-05 15:25:16 463
转载 Java远程通讯可选技术及原理
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、 MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS 等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那 深入了解这些技术背后的机制就是必须的了,在这篇blog中我
2013-01-04 11:06:53 884 1
转载 com中IDL文件的简单说明
1 import "oaidl.idl";2 import "ocidl.idl";3 [4 object,5 uuid(072EA6CA-7D08-4E7E-B2B7-B2FB0B875595), 6 helpstring("IMathe Interface"),7 pointer_default(unique)8 ]9 interface IMathe : IUnkn
2012-12-25 15:23:25 1309
原创 如何阅读源码
1、从main函数入手,一步一步往下阅读,遇到可以猜测出意思来的简单的函数,可以跳过。但是一定要注意程序中使用的全局变量(如果是C程序),可以把关键的数据结构说明拷贝到一个文本编辑器中以便随时查找。2、如果你的代码是可运行的,那么先让它运行起来,用单步跟踪的方法来阅读代码,会提高你的代码速度。代码通过看中间变量了解代码的含义,而且对 以后的修改会提供很大的帮助3、将程序的流程记录下来,用文
2012-12-19 14:50:01 506
原创 C++学习随笔之(五)virtual函数的多态
#includeusing namespace std;class NT {public: NT(){ cout<<"NT Constructor "<<endl; } virtual void OnInit(){ cout<<"NT Init"<<endl; } int test(){ OnInit(
2012-12-19 14:46:05 655
转载 java数据库连接类
package com.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public
2012-12-10 15:41:35 4369
转载 C++的异常对象按传值的方式被复制和传递
异常对象在什么时候构造? 1、按传值的方式传递异常对象时,被抛出的异常都是局部变量,而且是临时的局部变量。什么是临时的局部变量,这大家可能都知道,例如发生函数调用时,按值传递的参数就会被临时复制一份,这就是临时局部变量,一般临时局部变量转瞬即逝。 主人公阿愚对这开始有点不太相信。不会吧,谁说异常对象都是临时的局部变量,应该是普通的局部变量,甚至是全局性变量,而且还可以是堆中动
2012-11-19 16:31:36 826
原创 C++学习随笔之(四)异常处理
1、异常抛出时都进行了一次副本拷贝try{ throw stud[0]; //调用student类的拷贝构造方法,复制一个对象后再抛出复制生成的对象 }catch(const student& std){ //由于传了引用,所以不拷贝对象,如果是catch(student std),则调用拷贝构造方法再复制一个 cout<<&std.age<<endl; }
2012-11-19 15:55:18 417
SQL语句大全大全(经典珍藏版)
2011-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人