自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (4)
  • 收藏
  • 关注

原创 newlisp获取bash命令的退出状态

newlisp exec可以执行bash命令,但是返回的状态如何执行呢?特别是我需要监控hdfs dfs -test 返回的结果,经过一番摸索,找到了简单的答案:#!/usr/bin/newlisp(set 'x (exec "hdfs dfs -test -d /user/chenshu;echo $?"))(println "x: " x)(exit)输出结果:x: ("0")

2014-10-27 22:32:58 2596

原创 newlisp 接受jenkins的带空格参数

jenkins参数有一种text类型,可以复制文本段落作为参数newlisp程序接收的参数是用空格分隔的,较好的方法是在jekis的console里面调用newlisp脚本的时候加上双引号,比如:cd code./mail.lsp ${receiver} ${title} "${msg}"这里${msg}是文本参数

2014-10-26 18:41:07 4175

原创 tableau计算两个日期的天数差距

首先官方文档有bug, DATEDIFF("dayofyear", date1, date2) 的不到正确结果。应该改为DATEDIFF("day", date1, date2)

2014-10-26 16:42:42 24241 1

原创 hdfs test 命令

有时候需要写一个脚本测试hdfs中的某个文件或者目录是否存在,比如当接收机发现磁盘分区剩余空间已经到了危险值的时候,需要首先测试一下是否日志已经存入HDFS目录,如果是,则可以删除接收机上的本地日志文件,避免磁盘满的事故。下面是hdfs2.0的test命令介绍:hdfs dfs -help-test -[defsz] : Answer various questions about , with

2014-10-19 15:59:52 8928

原创 Eamcs ditaa根据字符图形生成图片

ditta和artist mode是好兄弟。artist mode帮助我快速创建字符图形,ditta是一个java程序,可以读取该字符图形,并生成图片。ditta的网站:http://ditaa.sourceforge.net/下载后,解压缩到本地目录,然后可以用java -jar命令运行之。接收的第一个参数是包含字符图形的文本文件,默认会生成同名的png图片,保存在当前目录下。由于我经常使用mu

2014-10-18 22:14:14 4542

原创 正则表达式匹配换行符

一开始没有发现html文档中有很多\n,结果用模式]>.*得到的table间的数据不正确,根据百度百科,可以看到解决方案是\s匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。\S匹配任何非空白字符。等价于[^ \f\n\r\t\v]。因此修改成模式:]+>[\\s\\S]*??是非贪婪模式,提醒正则匹配到第一个就停止。

2014-10-15 00:05:51 30145

原创 用Emacs muse制作幻灯片

PPT太流行,开会交流总是必须的。以前看过一个超酷的javascript的实现,用来代替PPT。 不过还是喜欢在Emacs中做事情,哪怕文档难看点。现在有了muse slidy, 情况大为改观。简单来说muse slidy可以帮助我们将muse文档发布成网页版本的幻灯片,不用自己考虑切分成不同html页面后跳转的问题还提供了默认的theme和font, 也允许定制。具体使用简介参考:http://

2014-10-12 12:19:42 3843

原创 Eamcs Artist mode绘制图形

Artist mode绘制图形的最大优点是提供了一堆菜单,可以让你快速的用文本字符绘制出图形,图形虽然简陋,但是可以插入到代码注释之中,使得整个代码注释变得生动。下面的截图是一个例子:当编写C的.h文件的时候,在注释区域/* */ 用artist mode编辑,十分方便。具体参考视频:http://www.cinsk.org/emacs/emacs-artist.html

2014-10-12 11:56:08 4840

原创 newLISP数据拟合

有时候需要拟合数据,比如某周五的数据因故无法生成, 可以用下面的算法简单拟合。计算前两周的周四,周五的环比(邻比), 两个邻比求平均后, 乘以 周四的数据,得到周五的数据。用newLISP实现代码很简单:参考下面的示例:#!/usr/bin/newlisp(define (adjacent-div a b) (div (sub b a) a))(define (average a b

2014-10-11 22:48:51 2611

原创 环比和同比的区别

网上有不少讨论,看了一遍后,我的定义如下:同比是指相邻两个时间段的相同时间点之间数值的比较,同指相同时间点环比名字非常有误导性,应该叫做邻比。邻比指相邻两个时间点的数值比较。比如同比:2014 2015是两个相邻时间段,时间段单位是年,8月是时间点, 因此2014/8月的数值和2015/8月的数值就是同比所以算法是:(2015/8月数值 - 2014/8月数值) / 2014/8月数值环比则是相邻

2014-10-11 22:03:58 6608

转载 MapReduce 中的两表 join 几种方案简介

文章写到简洁明快,很好懂。我急http://my.oschina.net/leejun2005/blog/95186

2014-10-06 10:53:33 2840

原创 MapReduce 编程 系列十二 用Hadoop Streaming技术集成newLISP脚本

本文环境和之前的Hadoop 1.x不同,是在Hadoop 2.x环境下测试。newLISP脚本,在stdin中读取数

2014-10-04 21:13:58 3143 1

原创 MapReduce 编程 系列十二 Reduce阶段内部细节和调节参数

Reduce计算分为若干阶段1. copy(或者叫shuffle)阶段和merge阶段并行之前Map产生的结果被存放在本地磁盘上,这时需要从reduce节点将数据从map节点复制过来。放得下进内存,比较大的则写到本地磁盘。同时,有两个线程对已经获得的内存中和磁盘上的数据进行merge操作。具体细节是:通过RPC调用询问task tracker已经完成的map task列表,shuffle(洗牌)是

2014-10-04 13:50:54 3066

原创 MapReduce 编程 系列十一 Map阶段内部细节和调节参数

MapOutputBuffer对于每一个Map,都有一个内存buffer用来缓存中间结果,这不仅可以缓存,而且还可以用来排序,被称为MapOutputBuffer, 设置这个buffer大小的配置是io.sort.mb默认值是100MB.一般当buffer被使用到一定比例,就会将Map的中间结果往磁盘上写,这个比例的配置是:io.sort.spill.percent默认值是80%或者0.8.在内存

2014-10-03 23:02:21 3005

原创 遍历Jenkins所有项目的配置

随着任务的增多,需要一个脚本能够检查所有的jenkins project的配置,比如提取任务计划配置,开发者信息等。首先要能够得到所有的project名称。可以通过REST API实现:http://your_jenkins_server/api/xml或者JSON格式http://your_jenkins_server/api/json不仅可以得到project的名称,还可以得到view的名称。

2014-10-03 18:55:00 5189

原创 MapReduce 编程 系列十 使用HashPartitioner来调节Reducer的计算负载

example4演示了如何指定Reducer的数量,本节演示如何使用HashPartitioner将Mapper的输出按照key进行分组后交给Reducer来处理。合理的分组策略将使得每个Reducer获得的计算负载差距不大,从而整体reduce的性能更加均衡。Reducer的数量由HashPartitioner函数getPartition返回值来确定。public int getPartitio

2014-10-03 15:29:48 5172

原创 MapReduce 编程 系列九 Reducer数目

本篇介绍如何控制reduce的数目。前面观察结果文件,都会发现一般是以part-r-00000 形式出现多个文件,其实这个reducer的数目有关系,reducer数目多,结果文件数目就多。在初始化job的时候,是可以设置reducer的数目的。example4在example的基础上做了改动。修改了pom.xml,使得结束一个参数作为reducer的数目。修改了LogJob.java的代码,作为

2014-10-03 14:21:50 3109

原创 MapReduce 编程 系列八 根据输入路径产生输出路径和清除HDFS目录

有了前面的MultipleOutputs的使用经验,就可以将HDFS输入目录的路径解析出来,组成输出路径,这在业务上是十分常用的。这样其实是没有多文件名输出,仅仅是调用了MultipleOutputs的addNamedOutput方法一次,设置文件名为result.先看pom.xml, 现在参数只有一个输入目录了,输出目录会在该路径后面自动加上/output.<project xmlns="htt

2014-10-02 23:04:50 4422

原创 MapReduce 编程 系列七 MapReduce程序日志查看

首先,如果需要打印日志,不需要用log4j这些东西,直接用System.out.println即可,这些输出到stdout的日志信息可以在jobtracker站点最终找到。其次,如果在main函数启动的时候用System.out.println打印的日志,直接在控制台就可以看到。再其次,jobtracker站点很重要。http://your_name_node:50030/jobtracker.j

2014-10-02 18:54:38 5055

原创 MapReduce 编程 系列六 MultipleOutputs使用

在前面的例子中,输出文件名是默认的:_logs part-r-00001 part-r-00003 part-r-00005 part-r-00007 part-r-00009 part-r-00011 part-r-00013 _SUCCESSpart-r-00000 part-r-00002 part-r-00004 part-r-00006 part-

2014-10-02 18:21:21 5107

原创 newlisp HTTP Basic Authentication

HTTP Basic Authentication原来非常简单,参考文档:http://zh.wikipedia.org/wiki/HTTP%E5%9F%BA%E6%9C%AC%E8%AE%A4%E8%AF%81将用户名和密码用:分隔,然后用base64编码,最后用HTTP GET方法请求页面下面一小段代码用newLISP调用了Jenkins的Remote API:dean@dean-beijin

2014-10-02 11:44:17 2886

原创 获取Jenkins project build结果

当Jenkins管理的build project越来越多的时候,需要脚本收集每个project的最近一次build结果,从而集中管理,根据业务规则,决定是否重算和何时重算。下面的命令是利用curl和jenkins支持的HTTP Basic Authenticaion来访问指定的某个project的结果。curl http://your_jenkins:8080/job/your_job/lastB

2014-10-02 11:17:16 11443

JSF2自定义组件编程系列 第五部分 源代码

package composite component into jar maven3 jsf2 UBuntu glassfishv3.0.1 Emacs JDEE

2011-01-06

JSF2 example project

一个我自己用的JSF2的模板工程,使用maven-glassfish-plugin,mybatis,logback。

2011-01-03

用UBuntu开发OpenGL程序8

摄像头360度旋转示例 开发平台,UBuntu,NetBeans6.8

2010-02-24

用UBuntu开发OpenGL程序6 源代码

文章附带源代码,NetBeans6.8工程,UBuntu系统

2010-02-15

空空如也

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

TA关注的人

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