`
paddy.w
  • 浏览: 497126 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
        最近在用Spring AOP时遇到一个问题。一个切入点会触发两个通知,而切入点是通过注解进行标注的,而注解作为参数传递给通知方法。这样的情况下同时触发两个通知,Spring调用通知方法时传递的注解参数会出现类型错 ...

HBase Coprocessor示例

        HBase的coprocessor分为两类,Observer和EndPoint。Observer相当于触发器,代码部署在服务端,相当于对API调用的代理。介绍这方面的文章不少,在此不赘述。这里想说一下EndPoint的使用。         EndPoint相当于存储过程。0.94.x之前使用EndPoint需要实现CoprocessorProtocol接口,而0.96.x的EndPoint改为用protobufs作为RPC的协议。在此用一个具体的例子说明一下新版的EndPoint该怎么使用。         例如:统计一张表的行数。         首先首先编写protob ...
        遇到一个Hive需求:有A、B、C三列,按A列进行聚合,求出C列聚合后的最小值和最大值各自对应的B列值。这个需求用hql和内建函数也可完成,但是比较繁琐,会解析成几个MR进行执行,如果自定义UDAF便可只利用一个MR完 ...

Applier编译安装

        Applier是MySQL推出的MySQL数据库与HDFS数据的实时同步工具,Hive的数据实时同步同样适用。官方介绍可参见:http://dev.mysql.com/tech-resources/articles/mysql-hadoop-applier.html 环境:         Applier当前的版本为0.1.0-alpha,只支持MySQL5.6及以上版本。需要的环境: Hadoop1.0.4:hadoop需要开启append模式(hdfs-site.xml中dfs.support.append设为true) libhdfs (it comes preco ...

编译libhdfs

        Mysql Applier是Mysql向hdfs进行实时备份的工具。其中用到了libhdfs,是hadoop提供的C语言访问hdfs的接口。以下是编译过程和遇到的问题。         libhdfs编译过程比较顺利,执行如下命令即可: ant compile-c++-libhdfs -Dislibhdfs=true 下面的官方提供的例子: #include "hdfs.h" int main(int argc, char **argv) { hdfsFS fs = hdfsConnect("default", 0 ...
        goimports是一个类似于gofmt的go代码格式化工具,除此之外还可以自动修正import的package,但仅限于标准库。         goimports的缩进默认是8个长度单位的tab,但个人已经习惯了4个长度单位,所以对goimports进行了一下修改,使其行首缩进4格。         1、下载goimports的源码             goimports的github地址是:https://github.com/bradfitz/goimports,但是建议从Google code直接下载源码。             go get code.go ...

synergy共享键鼠

sharemouse和synergy是局域网内共享键鼠比较好的两款软件。 我是在linux和mac之间进行共享,sharemouse只支持win和mac,所以选择了synergy。synergy几乎是全平台支持,也包括android。 服务端和客户端的配置不在赘述,使用的过程中我没用配置文件,都是gui直接操作的。需要注意的一点是在服务端配置客户端的screen时,screen name需要和客户端的hostname一致。 启动客户端后显示connection refused。开始以为是网络问题,因为两台机器不在同一个子网内,但提示信息是拒绝链接,不是找不到服务器。google了一下,又是 ...
Eclipse.app下找到Info.plist,添加如下信息: <key>NSHighResolutionCapable</key> <true/>
mac上装的是eclipse 3.7,直接启动时会提示没有安装java6,但机器上已经有了java7。做一下修改可以用java7启动eclipse。 1、Eclipse.app内找到Info.plist,在<key>Eclipse</key>下添加如下内容 <string>-vm</string><string>/Library/Java/Ja vaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/server/libjvm.dylib< /string& ...

RCFile浅析

       RCFile是Facebook制定的一种数据格式,应用在Hive、pig等系统中。RCFile结合了行存储和列存储的优点,对数据进行行分割和列分割后存储。行分割形成的多行组成一个row split,每个row split里面进行列分割。即:一个row split表示多行数据,row split内部的一行表示一列数据。需要注意的是:RCFile中的“key”和“value”一般不与MR的key和value对应,而是指一个row split中的一组key和一组value。         RCFile的文件格式在javadoc中的层次不是很清楚,应为如下所示: - Header - ...
如果在Eclipse使用某些访问受限的API时,会报这种错误: Access restriction: The type Resource is not accessible due to restriction on required library 这是因为Eclipse默认把这些受访问限制的API设成了ERROR,在java-compiler-Errors/Warnings选项里面的Deprecated and restricted API中的Forbidden references(access rules)选为Warning就可以编译通过,只是报警告而不是报错,保证了编译能通过。
        之前看过KMP的算法,道理挺简单,但是算法实现有点不好懂。近来重温,转一篇写的比较好的blog。 http://www.cppblog.com/oosky/archive/2006/07/06/9486.html         这个求模式值的函数逆天了,反正我写不出来 void nextIndex(const char *t, int next[]) { int j=0,k=-1; next[0] = -1; while(t[j] != '\0') { if(k == -1 || t[k] == t[j]) { ...
        对于一个只用C写十几二十行程序的菜鸟,也能遇到这样那样诡异郁闷的问题,其实知道点底层也挺好的。先说这个问题: #include <stdio.h> #include <malloc.h> #define max(a,b) ((a)>(b)?(a):(b)) int computeMax(int [], int); int main() { int array[10] = {1,-1,2,2,3,-3,4,-4,5,-5}; /*printf("\n");*/ printf("%d ...
       苦于没找到fedora下googlepinyin的rpm安装包,好像也没有fedora源(貌似ubuntu有),直接下载了源码安装。        googlepinyin依赖libgooglepinyin,我下载的是fcitx-googlepinyin-0.1.5.tar.xz和libgooglepinyin-0.1.2.tar.bz2        先安装libgooglepinyin,根据INSTALL安装说明,可以添加-DCMAKE_INSTALL_PREFIX参数指定安装的目录,但不建议指定,因为之后安装googlepinyin时,会从默认目录找libgooglepiny ...
1、convert2utf8 2、VintageEx
Global site tag (gtag.js) - Google Analytics