Hive中的TRANSFORM:使用脚本完成Map/Reduce。

数据、例子,修改自:《Hive with Python example》

首先来看一下数据:
hive> select * from test;
OK
1 3
2 2
3 1
假设,我们要输出每一列的md5值。在目前的hive中是没有这个udf的。

我们看一下Python的代码:
#!/home/tops/bin/python

import sys
import hashlib

for line in sys.st[......]

继续阅读

Hive中的InputFormat、OutputFormat与SerDe

前言
Hive中,默认使用的是TextInputFormat,一行表示一条记录。在每条记录(一行中),默认使用^A分割各个字段。

在有些时候,我们往往面对多行,结构化的文档,并需要将其导入Hive处理,此时,就需要自定义InputFormat、OutputFormat,以及SerDe了。

首先来理清这三者之间的关系,我们直接引用Hive官方说法:

SerDe is a short name for "Serializer and Deserializer."
Hive us[......]

继续阅读

使用Antlr的C接口(3.4版)

昨天听同事介绍了Antlr 4,它是一个非常强大的词法、语法分析器辅助生成工具,比之前用Flex + Bison强太多倍。

遗憾的是,当前的v4只支持Java,暂不支持C、C++,于是降级了一把,尝试了一下在3.4版上使用Antlr C。

要说明的是,这不是一篇原创文章,我参考了两篇文章,如下:

《用ANTLR3实现规则解析----1-安装》 http://blog.csdn.net/wfp458113181wfp/article/details/9148577

《ANT[......]

继续阅读

[转载]svn分支(branch)创建、合并(到trunk)、冲突解决。

转载自:http://zccst.iteye.com/blog/1430823

一、创建分支

1,创建一个分支
svn copy svn://xx.com/repo/trunk svn://xx.com/repo/branches/TRY-something -m 'make branches TRY-something'

2,把工作目录转到分支
svn switch svn://xx.com/repo/branches/TRY-something

当然,也可以再转到[......]

继续阅读