HIVE
文章平均质量分 77
zhangxiong0301
这个作者很懒,什么都没留下…
展开
-
hive udaf入门
介绍hive的用户自定义聚合函数(UDAF)是一个很好的功能,集成了先进的数据处理。hive有两种UDAF:简单和通用。顾名思义,简单的UDAF,写的相当简单的,但因为使用Java反射导致性能损失,而且有些特性不能使用,如可变长度参数列表。通用UDAF可以使用所有功能,但是UDAF就写的比较复杂,不直观。本文只介绍通用UDAF。UDAF是需要在hive的sql语句和group b...原创 2015-03-30 16:18:47 · 115 阅读 · 0 评论 -
hive多用户权限控制
当多个不同角色的用户共用hive时,需要对不同的角色做不同的权限控制。权限控制主要指底层的hdfs文件操作控制和hive自身的对表的授权管理。 首先,安装hive。hive装好后以管理员身份启动hive,即执行命令:hive -hiveconf hive.root.logger=DEBUG,console报错如下: 2014-02-13 16:48:59,968 ERROR...原创 2015-08-27 17:39:43 · 1122 阅读 · 0 评论 -
HIVESERVER2问题解决
hiveserver2是hiveserver的高级版本,在安全和并发上有所增强。hiveserver2相关的基础参数有:hive.server2.transport.mode – 默认值为binary(TCP),可选值HTTP,0.13版本后开始支持。 hive.server2.thrift.http.port– HTTP的监听端口,默认值为10001。hive.server...原创 2015-06-18 10:30:48 · 1764 阅读 · 0 评论 -
hiveserver2配置
在之前的学习和实践Hive中,使用的都是CLI或者hive –e的方式,该方式仅允许使用HiveQL执行查询、更新等操作,并且该方式比较笨拙单一。幸好Hive提供了轻客户端的实现,通过HiveServer或者HiveServer2,客户端可以在不启动CLI的情况下对Hive中的数据进行操作,两者都允许远程客户端使用多种编程语言如Java、Python向Hive提交请求,取回结果。HiveServ...原创 2015-06-17 10:59:50 · 535 阅读 · 0 评论 -
hive优化(3)
个人认为总体两种思想:1、让服务器尽可能的多做事情,榨干服务器资源,以最高系统吞吐量为目标再好的硬件没有充分利用起来,都是白扯淡。比如:(1) 启动一次job尽可能的多做事情,一个job能完成的事情,不要两个job来做 通常来说前面的任务启动可以稍带一起做的事情就一起做了,以便后续的多个任务重用,与此紧密相连的是模型设计,好的模型特别重要.(2) 合理设置reduce...原创 2015-06-11 09:08:42 · 71 阅读 · 0 评论 -
hive优化(4)
一、join优化Join查找操作的基本原则:应该将条目少的表/子查询放在 Join 操作符的左边。原因是在 Join 操作的 Reduce 阶段,位于 Join 操作符左边的表的内容会被加载进内存,将条目少的表放在左边,可以有效减少发生内存溢出错误的几率。Join查找操作中如果存在多个join,且所有参与join的表中其参与join的key都相同,则会将所有的join合并到一个mapr...原创 2015-06-11 09:08:20 · 127 阅读 · 0 评论 -
hive优化(2)
Hive是将符合SQL语法的字符串解析生成可以在Hadoop上执行的MapReduce的工具。使用Hive尽量按照分布式计算的一些特点来设计sql,和传统关系型数据库有区别,所以需要去掉原有关系型数据库下开发的一些固有思维。 基本原则:1:尽量尽早地过滤数据,减少每个阶段的数据量,对于分区表要加分区,同时只选择需要使用到的字段select ... from Ajoi...原创 2015-06-10 21:32:35 · 76 阅读 · 0 评论 -
hive优化
hive.optimize.cp=true:列裁剪hive.optimize.prunner:分区裁剪hive.limit.optimize.enable=true:优化LIMIT n语句hive.limit.row.max.size=1000000:hive.limit.optimize.limit.file=10:最大文件数 1. 本地模式(小任务):需要满足以下条件: 1.jo...原创 2015-06-10 21:32:14 · 126 阅读 · 0 评论 -
用HIVE中的UDAF实现JSON字符串组装
最近有个需求,需要把一个用户的应用使用情况组装成一个GSON字符串,通过UDAF实现了这一功能。具体来说:一张表如下:meidappusecntusetimemeid1com.yulong.x12meid1com.baidu.x25meid2com.tencent.x38最终要把同一个用户...原创 2015-06-10 21:03:13 · 886 阅读 · 0 评论 -
hive udaf开发入门和运行过程详解(2)
在用Hive进行ETL的时候,对于一些复杂的数据处理逻辑,往往不能用简单的HQL来解决,这个时候就需要使用UDAF了。 对于底层的内容还没有细看,先从应用的角度来说一下吧。使用UDAF需要实现接口GenericUDAFResolver2,或者继承抽象类AbstractGenericUDAFResolver。 UDAF主要分为2个部分,第一个部分是对传入参数进行校验,数据类型的...原创 2015-06-10 20:50:35 · 495 阅读 · 0 评论 -
Hive开发中使用变量的两种方法
在使用hive开发数据分析代码时,经常会遇到需要改变运行参数的情况,比如select语句中对日期字段值的设定,可能不同时间想要看不同日期的数据,这就需要能动态改变日期的值。如果开发量较大、参数多的话,使用变量来替代原来的字面值非常有必要,本文总结了几种可以向hive的SQL中传入参数的方法,以满足类似的需要。准备测试表和测试数据第一步先准备测试表和测试数据用于后续测试:hive&...原创 2015-06-08 15:59:36 · 114 阅读 · 0 评论 -
HIVE跑mapjoin时所有任务失败--问题分析及解决
今天有个需求,就是:指定200W用户(表meids_tmp),把这些用户最近15天的应用使用数据(表tb_yl_upload_info,按天分区)转移到另外一张表中(表upload_info_sub,按天分区)。 很直观,meids_tmp表63M,可以使用map端连接;要求目标表数据按日期组织,自然想到动态分区,使数据插入时自动按日期写入。最终,得到...原创 2015-09-22 16:40:56 · 1681 阅读 · 1 评论