hive
文章平均质量分 72
stevie
坚持自己的梦想。。。
展开
-
hive中UDF和UDAF使用说明
Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。一、背景:Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。Hive是一个很开放的系统,很多内容都支持用户定制,包括:a)文件格式:Text File,Sequence Fileb)内存中的数据格式: Java Integer/St转载 2013-04-11 13:50:57 · 2203 阅读 · 0 评论 -
Hive优化
Hive性能调校提高Hive总体性能的若干技巧本报告主要就如何提高Hive执行的总体性能进行了调研,下面以分条的形式列举出来。1.设置hive.map.aggr=true,提高HiveQL聚合的执行性能。这个设置可以将顶层的聚合操作放在Map阶段执行,从而减轻清洗阶段数据传输和Reduce阶段的执行时间,提升总体性能。缺点:该设置会消耗更多的内存。注:顶层的聚合操作(t转载 2014-03-25 11:33:14 · 1243 阅读 · 0 评论 -
hive中UDF、UDAF和UDTF使用
Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。一、背景:Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。Hive是一个很开放的系统,很多内容都支持用户定制,包括:a)文件格式:Text File,Sequence Fileb)内存中的数据格式: Java Integer/St原创 2013-04-12 10:10:43 · 4326 阅读 · 0 评论 -
Hive优化----基础知识以及效率的优化
Hive基础及效率优化阅读这篇文章后,会对hive 与 map/reduce有基本了解,并掌握简单的优化方法一、Hive map reduce个数优化Map的个数是怎么产生的主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通过set dfs.block.size;命令查看到,该参数不能自转载 2014-03-25 11:21:20 · 1426 阅读 · 0 评论 -
Hive优化----利用随机数避免数据倾斜
Hive优化之随机数避免数据倾斜发生数据倾斜时,通常的现象是:任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成。查看未完成的子任务,可以看到本地读写数据量积累非常大,通常超过10GB可以认定为发生数据倾斜。数据倾斜一般是由于代码中的join或group by或distinct的key分布不均导致的,大转载 2014-03-25 11:03:09 · 2453 阅读 · 0 评论 -
Hive优化----控制hive任务中的map数和reduce数
hive优化之------控制hive任务中的map数和reduce数博客分类: hadoop 一、 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务。 主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通转载 2014-03-25 11:31:11 · 1018 阅读 · 0 评论 -
Hive优化----distribute by和sort by
hive SQL优化之distribute by和sort by 最近在优化hiveSQL,下面是一段排序,分组后取每组第一行记录的SQLINSERT OVERWRITE TABLE t_wa_funnel_distinct_temp PARTITION (pt='${SRCTIME}') SELECT bussiness_id, cookie_id转载 2013-12-17 12:18:46 · 2324 阅读 · 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. 本地模式(小任务):需要满足以下条件转载 2014-03-25 11:19:38 · 1494 阅读 · 0 评论 -
Hive优化---mapjoin和union all避免数据倾斜
hive优化(4)之mapjoin和union all避免数据倾斜发生数据倾斜时,通常的现象是:任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成。查看未完成的子任务,可以看到本地读写数据量积累非常大,通常超过10GB可以认定为发生数据倾斜。数据倾斜一般是由于代码中的join或group by或原创 2014-01-08 16:10:56 · 2352 阅读 · 0 评论 -
Hive优化----排序
hive 中的排序优化在hive中进行字段排序统计过程中,使用ORDER BY是全局排序,hive只能通过一个reduce进行排序.效率很低,采用hive提供的distribute by +sort by或者CLUSTER BY, 这样可以充分利用hadoop资源, 在多个reduce中局部按需要排序的字段进行排序。cluster by等同于distributed by 与so原创 2014-01-08 16:10:37 · 2014 阅读 · 0 评论 -
Hive优化----MapJoin 优化
Hive MapJoin 优化1、Hive本地MR 如果在hive中运行的sql本身数据量很小,那么使用本地mr的效率要比分布式的快很多。但是hive本地MR对内存使用很敏感,查询的数据不能太大,否则本地内存是吃不消的。So the query processor will launch this task in a child jvm, which has the same原创 2013-12-17 12:18:58 · 1153 阅读 · 0 评论 -
Hive优化----9大常见问题
Hive优化总结---by 食人花 优化时,把hive sql当做map reduce程序来读,会有意想不到的惊喜。理解hadoop的核心能力,是hive优化的根本。这是这一年来,项目组所有成员宝贵的经验总结。 长期观察hadoop处理数据的过程,有几个显著的特征:1.不怕数据多,就怕数据倾斜。2.对jobs数比较多的作业运行效率相对比较低,比如原创 2013-11-28 14:15:45 · 1585 阅读 · 0 评论 -
Hive优化----十八个问题
Hive性能调校 ---提高Hive总体性能的若干技巧 刘宗全 2012-12-20 本报告主要就如何提高Hive执行的总体性能进行了调研,下面以分条的形式列举出来。 1. 设置hive.map.aggr=true,提高HiveQL聚合的执行性能。转载 2014-03-25 11:17:28 · 1308 阅读 · 0 评论 -
Hive Partition简介
一、背景1、在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念2、分区表指的是在创建表时指定的partition的分区空间。3、如果需要创建有分区的表,需要在create表的时候调用可选参数partitioned by,详见表创建的语法结构。二、技术细节翻译 2014-03-26 09:46:04 · 638 阅读 · 0 评论 -
Hive metastore三种存储方式
测试环境下Hive总出问题,metastore的配置有问题。抽了点时间,把Hive的meta数据几种存储方式都配置了下。Hive的meta数据支持以下三种存储方式,其中两种属于本地存储,一种为远端存储。远端存储比较适合生产环境。Hive官方wiki详细介绍了这三种方式,链接为:Hive Metastore。一、使用derby数据库存储元数据。这种方式是最简单的存储方式,只需要在转载 2014-03-26 09:50:11 · 798 阅读 · 0 评论 -
hive+hbase设计细节
前言 近半年本人主要在倒腾数据,遇到海量数据去重的难题,曾经尝试过各种hivesql,然而随着数据量逐渐增大,处理耗时也越来越长,各种方案一一破产。2012年11月份提过使用HBase唯一主键的方案,随即做了相关预研(参看hive&hbase解决方案测评)。该方案由于HBase转化成hive表性能问题而搁浅。但在测评报告最后的总结中提到:或许我们可以选择数据“冷热”、以及部分字段切表来优化。转载 2014-03-26 09:50:44 · 1960 阅读 · 0 评论 -
Hive metastore三种存储方式
测试环境下Hive总出问题,metastore的配置有问题。抽了点时间,把Hive的meta数据几种存储方式都配置了下。Hive的meta 数据支持以下三种存储方式,其中两种属于本地存储,一种为远端存储。远端存储比较适合生产环境。Hive官方wiki详细介绍了这三种方式,链接为:Hive Metastore 。一、使用derby数据库存储元数据。这种方式是最简单的存储方式,只需转载 2014-03-26 09:53:33 · 1052 阅读 · 0 评论 -
Hive优化----10个总结
Hive 查询优化总结一、join优化Join查找操作的基本原则:应该将条目少的表/子查询放在 Join 操作符的左边。原因是在 Join 操作的 Reduce 阶段,位于 Join 操作符左边的表的内容会被加载进内存,将条目少的表放在左边,可以有效减少发生内存溢出错误的几率。Join查找操作中如果存在多个join,且所有参与join的表中其参与join的key转载 2014-03-25 11:28:10 · 826 阅读 · 0 评论 -
Hive优化----通过实例分析mapjoin的优越性
hive> create table lpx_mapjoin as > SELECT '2012-04-17' as stat_date > ,b.admin_member_id > ,a.category_level2_id > ,b.keywords > ,sum(shownum原创 2013-12-17 12:18:22 · 1174 阅读 · 0 评论 -
Hive优化----系统评估reduce数为1的MR Job优化
Hive优化之系统评估reduce数为1的MR Job优化名词解释:云霄飞车:hive本身对MR Job的 reduce数估算不合理,导致reduce分配过少,任务运行很慢,云霄飞车项目主要对hive本身reduce数的估算进行优化。map_input_bytes:map输入文件大小,单位:bytesmap_output_bytes:map输出文件大小,单位:byt原创 2013-12-17 12:18:35 · 3292 阅读 · 2 评论 -
Hive 入门详解
转自:http://www.zypx.cn/technology/20100606132430320046.htmlHive 是什么在接触一个新的事物首先要回到的问题是:这是什么?这里引用 Hive wiki 上的介绍:Hive is a data warehouse infrastructure built on top of Hadoop. It provide转载 2013-04-11 15:58:49 · 2731 阅读 · 0 评论 -
hive的3种数据存储格式
hive有textFile,SequenceFile,RCFile三种文件格式。其中textfile为默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到hdfs上不进行处理。 SequenceFile,RCFile格式的表不能直接从本地文件导入数据,数据要先导入到textfile格式的表中,然后再从textfile表中用insert导入到SequenceFile,R原创 2013-04-12 17:51:48 · 5309 阅读 · 0 评论 -
hive基础
(一): Hive 是什么 在接触一个新的事物首先要回到的问题是:这是什么? 这里引用 Hive wiki 上的介绍: Hive is a data warehouse infrastructure built on top of Hadoop. It provides tools to enable easy data ETL, a mechanism to put转载 2013-04-12 19:27:25 · 1167 阅读 · 0 评论 -
HIVE文件存储格式的测试比较
根据自身涉及到的数据分布和使用需求,对HIVE上的三类文件格式做了如下测试,指导HIVE的文件格式选型。测试存在环境、数据分布、测试偏重点的不同,本测试只供参考,不作为大家选型决策的绝对指导。HIVE的三种文件格式:TEXTFILE、SEQUENCEFILE、RCFILE中,TEXTFILE和SEQUENCEFILE的存储格式都是基于行存储的,RCFILE是基于行列混合的思想,先按行把转载 2013-04-12 18:07:32 · 1144 阅读 · 0 评论 -
hive优化
1.当hive执行join内存溢出时,可以修改hive的配置文件hive-site.xml,增大内存,如下: mapred.child.java.opts -Xmx 1024m2.hive默认建表时的路径也可以在hive-site.xml里配置,如下: hive.metastore.warehouse.dir value >/user/hive/warehouse description >l转载 2013-04-14 15:59:38 · 1764 阅读 · 0 评论 -
Pig Hive对比
Pig Latin:数据流编程语言一个Pig Latin程序是相对于输入的一步步操作。其中每一步都是对数据的一个简单的变换。用Pig Latin编程更像在RDBMS中“查询规划器”(query planner)这一层对数据进行操作,查询规划器决定了如何将描述型语句转化为一系列系统化执行的步骤。Pig对它所处理的数据要求则宽松得多;可以在运行时定义模式,而且这是可选的。本质上,Pig可以原创 2013-04-23 17:45:53 · 1022 阅读 · 0 评论 -
hive的插入操作
1.insert 语法格式为:基本的插入语法:INSERT OVERWRITE TABLE tablename [PARTITON(partcol1=val1,partclo2=val2)]select_statement FROM from_statementinsert overwrite table test_insert select * from test_table;原创 2013-07-08 14:35:28 · 3013 阅读 · 0 评论 -
hadoop+hive+hbase的整合开发(配置加测试)
用hbase做数据库,但由于hbase没有类sql查询方式,所以操作和计算数据非常不方便,于是整合hive,让hive支撑在hbase数据库层面 的 hql查询.hive也即 做数据仓库 1. 基于Hadoop+Hive架构对海量数据进行查询:http://blog.csdn.net/kunshan_shenbin/article/details/7105319 2. HBase 0.原创 2013-07-08 15:05:33 · 2565 阅读 · 0 评论 -
hive数据类型
翻译自 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types列类型Hive支持的数据类型如下:原生类型:TINYINTSMALLINTINTBIGINTBOOLEANFLOATDOUBLESTRINGBINARY (Hive 0.8.0以上才可用)TIMESTAMP (Hive 0.8.0以上翻译 2013-07-09 11:02:18 · 2321 阅读 · 0 评论 -
hive中的静态分区与动态分区
hive中创建分区表没有什么复杂的分区类型(范围分区、列表分区、hash分区、混合分区等)。分区列也不是表中的一个实际的字段,而是一个或者多个伪列。意思是说在表的数据文件中实际上并不保存分区列的信息与数据。下面的语句创建了一个简单的分区表:create table partition_test(member_id string,name string)partition原创 2013-07-13 22:49:40 · 986 阅读 · 0 评论 -
Hive与Hbase使用域
Hive和Hbase有各自的不同特性:hive是高延迟,结构化和面向分析的,hbase是低延迟,非结构化和面向编程的。hive数据仓库在hadoop上时高延迟的,hive集成hbase就是为了使用hbase的一些特性,hive集成hbase可以有效利用habse数据库的存储特性,如行更新和列索引等,在集成的过程中注意维持hbase jar包的一致性。hive集成hbase需要在hive表和原创 2013-09-11 09:52:00 · 1614 阅读 · 0 评论 -
一个关于MapJoin的测试用例
hive> create table lpx_mapjoin as > SELECT '2012-04-17' as stat_date > ,b.admin_member_id > ,a.category_level2_id > ,b.keywords > ,sum(shownum转载 2013-09-16 18:55:41 · 1188 阅读 · 0 评论 -
Hive中的mapjoin
1: 有一个极小的表2: 需要做不等值join操作(a.x 这种操作如果直接使用join的话语法不支持不等于操作,hive语法解析会直接抛出错误如果把不等于写到where里会造成笛卡尔积,数据异常增大,速度会很慢。甚至会任务无法跑成功~根据mapjoin的计算原理,MAPJION会把小表全部读入内存中,在map阶段直接拿另外一个表的数据和内存中表数据做匹配。这种情况原创 2013-09-16 18:52:58 · 2419 阅读 · 0 评论 -
让人头痛的大数据倾斜问题
在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。Hive的执行是分阶段的,map处理数据量的差异取决于上一个stage的reduce输出,所以如何将数据均匀的转载 2013-11-05 22:40:54 · 2685 阅读 · 2 评论 -
Hive优化----编写SQL时注意事项
Hive是将符合SQL语法的字符串解析生成可以在Hadoop上执行的MapReduce的工具。使用Hive尽量按照分布式计算的一些特点来设计sql,和传统关系型数据库有区别,所以需要去掉原有关系型数据库下开发的一些固有思维。 基本原则:1:尽量尽早地过滤数据,减少每个阶段的数据量,对于分区表要加分区,同时只选择需要使用到的字段select ... from Ajoin原创 2013-11-28 14:15:57 · 1259 阅读 · 0 评论 -
Hive优化--join
在hive中最长用到的就是对表之间的操作,在做join操作时,将小表放在左边,大表放在右边可提升集群的性能。原理很简单,hive对于join操作是:在做完map之后将左边的表的数据拷贝到右边的表所在的reducer上与右边的表进行join操作,这样reducer主要保存小表的数据,当右边的表来一条记录就可以和左边的表的数据(已拷贝到reducer保存)作join,然后直接将结果写入HDFS,而不用原创 2013-11-28 14:17:12 · 923 阅读 · 0 评论 -
Hiveql优化
hive相关优化方式:Column PruningAs name suggests -discard columns which are not needed> select a,b from t where e>t contains 5 columns (a,b,c,d,e)Columns c,d are discardedSelect only转载 2013-10-21 07:49:36 · 1245 阅读 · 0 评论