hive优化
cajeep2001
这个作者很懒,什么都没留下…
展开
-
新增自定义的udf包
由于需要满足一个hive中不等值连接的需求,必须得自己手工写udf。以前也没有试过,所以今天尝试了下自己写了个TestHello.java. 由于没有用eclipse,所以直接用的是ultraedi+javac搞定的。 --在/home/dwdev/cajeep目录下,新建com\alibaba\hive\udf, --命令mkdir -p com\alibaba\hive\udf --新原创 2012-08-02 22:08:08 · 6781 阅读 · 0 评论 -
坑爹的No matching method
最近自己写了个udf,发现怎么样都不行 ,代码如下: public String evalulate() { return "hello worlds!"; } public String evalulate(String str) {原创 2012-08-08 10:49:18 · 6445 阅读 · 0 评论 -
hive中剔除非utf8编码的数据
最近在做hive数据导出的时候,发现有很多数据行存在不一致的编码的类型,导致编码转换的时候,遇到错误,比如一行数据中又存在utf8编码的数据,又存在gbk编码的数据,而对于中文来说,gbk和utf8的编码是不一样的。所以一旦为gbk的数据用utf8进行解码的时候,会报错。因此,需要将这部分混在utf8编码数据中的gbk编码数据剔除掉。 利用python脚本,然后进行transform,来完成剔除原创 2012-08-11 10:54:43 · 4473 阅读 · 0 评论 -
hive优化【增加执行的map数,reduce数】
hive中的启动的map数据量,以及reduce的数据量,都是由系统给控制的,一般来说,map的数据量是由文件的个数,以及文件量的大小所决定。如果你的文件很多,那么每个文件必然会启动一个map进行处理,或者你的文件非常大,是hdfs中block_size的N倍,那么就会分成N个文件,同样会启动N个map进行处理。而reduce的数据量则是根据你的key多少来决定的,一旦你的map生成的key非常多原创 2012-07-30 22:34:34 · 8163 阅读 · 1 评论 -
手工编译hive udf包
昨天在修改原先的dkrs的时候,遇到了几个问题: 1,内部类问题,原先是用三个数组来实现的,改成用一个object的list,一开始采用普通的内部类,一直显示new 这个类的时候,会报错,需要将父亲实例化了之后才能使用内部类,说明内部类是依赖于实例存在的。后来听同事说明,将其改成静态的类,就可以直接new了。 public class dkrs extends UDF { private s原创 2012-11-01 13:40:42 · 775 阅读 · 0 评论