1.配置环境
1.引入jar包:hive-exec-0.8.0.jar 和 hadoop-core-0.20.2.jar
2.编写udf函数
1.extends UDF
2.重新定义UDF的evaluate函数。
package com.qunar.hiveudf;
import java.text.SimpleDateFormat;
import java.util.Calen...
分类:
其他好文 时间:
2014-07-23 20:58:47
阅读次数:
217
hive是什么? 白话一点再加不严格一点,hive可以认为是map-reduce的一个包装。hive的意义就是把好写的hive的sql转换为复杂难写的map-reduce程序。 于是,hbase是什么? 同样白话一点加不严格一点,hbase可以认为是...
分类:
其他好文 时间:
2014-07-23 13:57:36
阅读次数:
268
对于刚接触大数据的用户来说,要想区分Hive与HBase是有一定难度的。本文将尝试从其各自的定义、特点、限制、应用场景等角度来进行分析,以作抛砖引玉之用。Hive是什么?Apache Hive是一个构建于Hadoop(分布式系统基础架构)顶层的数据仓库,注意这里不是数据库。Hive可以看作是用户编程...
分类:
其他好文 时间:
2014-07-22 22:45:54
阅读次数:
257
参考资料1.QuickStarthttps://cwiki.apache.org/confluence/display/Hive/GettingStarted2.Tutorialhttps://cwiki.apache.org/confluence/display/Hive/Tutorial3.官方...
分类:
其他好文 时间:
2014-07-22 22:44:14
阅读次数:
249
最近在优化hiveSQL,
下面是一段排序,分组后取每组第一行记录的SQL
INSERT OVERWRITE TABLE t_wa_funnel_distinct_temp PARTITION (pt='${SRCTIME}')
SELECT
bussiness_id,
cookie_id,
session_id,
funnel_...
分类:
数据库 时间:
2014-07-22 17:42:31
阅读次数:
344
Hive不支持where子句中的子查询,SQL常用的exist in子句需要改写。这一改写相对简单。考虑以下SQL查询语句:SELECT a.key, a.value FROM a WHERE a.key in (SELECT b.key FROM B);改写成:SELECT a.key, a.va...
分类:
数据库 时间:
2014-07-22 08:07:35
阅读次数:
1966
关键字情形后果join其中一个表较小,但key集中分发到某一个或几个reduce上的数据远高于平均值大表与大表关联,但是分桶的判断字段0值或空值过多这些空值都由一个reduce处理,非常慢group byGroup by维度过小,某值的数量过多处理某值的reduce非常耗时count distinc...
分类:
其他好文 时间:
2014-07-22 08:07:33
阅读次数:
180
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据...
分类:
其他好文 时间:
2014-07-22 00:20:35
阅读次数:
252
数据倾斜:数据分布不均匀,造成数据大量的集中到一点,造成数据热点;由于数据并不是平均分配的,会导致各个节点上处理的数据量是不均衡的,所以数据倾斜是无法避免的;造成数据倾斜的最根本原因:key分发不均匀造成的;常见的数据倾斜的症状1) Map阶段快,reduce阶段非常慢;2) 某些map很快,某些m...
分类:
其他好文 时间:
2014-07-20 22:18:56
阅读次数:
232
当该字段存在大量值为null或空的记录,容易发生数据倾斜;解决思路:count distinct时,将值为空的情况单独处理,如果是计算count distinct,可以不用处理,直接过滤,在最后结果中加1;如果还有其他计算,需要进行group by,可以先将值为空的记录单独处理,再和其他计算结果进行...
分类:
其他好文 时间:
2014-07-20 22:18:35
阅读次数:
1404