- 博客(256)
- 资源 (20)
- 收藏
- 关注
转载 Hive优化
Hive性能调校提高Hive总体性能的若干技巧本报告主要就如何提高Hive执行的总体性能进行了调研,下面以分条的形式列举出来。1.设置hive.map.aggr=true,提高HiveQL聚合的执行性能。这个设置可以将顶层的聚合操作放在Map阶段执行,从而减轻清洗阶段数据传输和Reduce阶段的执行时间,提升总体性能。缺点:该设置会消耗更多的内存。注:顶层的聚合操作(t
2014-03-25 11:33:14
1273
原创 Hive开发中面临的问题以及解决方案
Hive在计算海量数据时,经常会因为数据的倾斜导致任务进行的进度会停滞,甚至最终会任务失败。数据倾斜一般是由于代码中的join或group by或distinct的key分布不均导致的,大量经验表明数据倾斜的原因是人为的建表疏忽或业务可以规避的。如果确认业务需要这样倾斜的逻辑。1.对于是join出的错,那么就是用对于mapjoin;2.对于是group by出的错,使用两次MR
2014-03-25 11:33:02
1765
转载 Hive优化----控制hive任务中的map数和reduce数
hive优化之------控制hive任务中的map数和reduce数博客分类: hadoop 一、 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务。 主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通
2014-03-25 11:31:11
1049
转载 Hive优化----10个总结
Hive 查询优化总结一、join优化Join查找操作的基本原则:应该将条目少的表/子查询放在 Join 操作符的左边。原因是在 Join 操作的 Reduce 阶段,位于 Join 操作符左边的表的内容会被加载进内存,将条目少的表放在左边,可以有效减少发生内存溢出错误的几率。Join查找操作中如果存在多个join,且所有参与join的表中其参与join的key
2014-03-25 11:28:10
846
转载 Hive优化----基础知识以及效率的优化
Hive基础及效率优化阅读这篇文章后,会对hive 与 map/reduce有基本了解,并掌握简单的优化方法一、Hive map reduce个数优化Map的个数是怎么产生的主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通过set dfs.block.size;命令查看到,该参数不能自
2014-03-25 11:21:20
1446
转载 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
1525
转载 Hive优化----十八个问题
Hive性能调校 ---提高Hive总体性能的若干技巧 刘宗全 2012-12-20 本报告主要就如何提高Hive执行的总体性能进行了调研,下面以分条的形式列举出来。 1. 设置hive.map.aggr=true,提高HiveQL聚合的执行性能。
2014-03-25 11:17:28
1332
转载 Hive优化----利用随机数避免数据倾斜
Hive优化之随机数避免数据倾斜发生数据倾斜时,通常的现象是:任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成。查看未完成的子任务,可以看到本地读写数据量积累非常大,通常超过10GB可以认定为发生数据倾斜。数据倾斜一般是由于代码中的join或group by或distinct的key分布不均导致的,大
2014-03-25 11:03:09
2535
转载 linux shell awk 语法
linux shell awk 语法 Awk 是一种非常好的语言,同时有一个非常奇怪的名称。在本系列(共三篇文章)的第一篇文章中,Daniel Robbins 将使您迅速掌握 awk 编程技巧。随着本系列的进展,将讨论更高级的主题,最后将演示一个真正的高级 awk 演示程序。捍卫 awk在本系列文章中,我将使您成为精通 awk 的编码人员。我承认,awk 并没有一个非常好听且又
2014-03-21 15:24:02
902
转载 dirname和shell常用命令解读
$ cd `dirname $0` 和PWD%} 显示当前目录名称${#var} 替换为变量字符个数$ cd `dirname $0` 和PWD%} 显示当前目录名称${#var} 替换为变量字符个数特殊变量$ 当前SHELL的PID? 前一个命令的退出状态! 后台执行的上一个工作的PID读取用户输入read 从终端读取输入存入内置变量REPLYread
2014-03-21 11:58:51
1263
转载 linux中shell变量$#,$@,$0,$1,$2的含义解释
linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出
2014-03-21 11:00:11
1011
原创 Hive优化---mapjoin和union all避免数据倾斜
hive优化(4)之mapjoin和union all避免数据倾斜发生数据倾斜时,通常的现象是:任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成。查看未完成的子任务,可以看到本地读写数据量积累非常大,通常超过10GB可以认定为发生数据倾斜。数据倾斜一般是由于代码中的join或group by或
2014-01-08 16:10:56
2427
原创 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
2049
原创 Hbase优化之十
HBase数据库性能调优(1)因官方Book Performance Tuning部分章节 没有按配置项进行索引,不能达到快速查阅的效果。所以我以配置项驱动,重新整理了原文,并补充一些自己的理解,如有错误,欢迎指正。配置优化zookeeper.session.timeout默认值:3分钟(180000ms)说明:RegionServer与Zo
2014-01-08 16:10:13
807
原创 Hbase优化之九
HBase性能优化方法总结(二):写表操作写表操作相关的优化方法。2. 写表操作2.1 多HTable并发写创建多个HTable客户端用于写操作,提高写数据的吞吐量,一个例子:static final Configuration conf = HBaseConfiguration.create();static final String table_log_n
2014-01-08 16:09:52
869
原创 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
1173
转载 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
2354
原创 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
3336
1
原创 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
1208
原创 Hbase优化之八
HBase性能优化方法总结(一):表的设计表的设计相关的优化方法。1. 表的设计1.1 Pre-Creating Regions默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分。一种可以加快批量写入速度的方法是通过预先创建一些空的regions,这
2013-12-17 12:18:05
819
原创 Hbase优化之七
[转载]HBase性能优化0转自:http://www.binospace.com/index.php/make-your-hbase-better-2/使用Filter降低客户端压力Hbase是加强版的Mysql,存储容量更大、逻辑形式更加灵活。至于BigTable那篇论文的内容,它的意义在于提供了一种更加灵活地组织数据的形式。Hbase以Di
2013-12-17 12:17:05
1253
原创 Hbase优化之六
hbase优化原文地址:http://blog.csdn.net/chuanzhongdu1/article/details/7287125修改noprc nofileubuntu/etc/security/limits.conf增加username soft noproc 32000username ha
2013-12-17 12:16:29
896
转载 Hbase优化之五
HBase在淘宝的应用和优化小结 部署、运维和监控 Facebook之前曾经透露过Facebook的HBase架构,可以说是非常不错的。如他们将message服务的HBase集群按用户分为数个集群,每个集群100台服务器,拥有一台namenode以及分为5个机架,每个机架上一台zookeeper。可以说对于大数据量的服务这是一种优良的架构。对于淘宝来说,由于数据量远没有那么
2013-12-17 12:16:14
908
原创 Hbase优化之四
HBase性能优化方法总结(三):读表操作本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法。有关HBase系统配置级别的优化,可参考:淘宝Ken Wu同学的博客。下面是本文总结的第三部分内容:读表操作相关的优化方法。3. 读表操作3.1 多HTable并发读创建多个HTable客户端用于读操作,提高读数据的吞吐量,一个例子:stat
2013-11-28 14:17:33
1044
原创 Hive优化--join
在hive中最长用到的就是对表之间的操作,在做join操作时,将小表放在左边,大表放在右边可提升集群的性能。原理很简单,hive对于join操作是:在做完map之后将左边的表的数据拷贝到右边的表所在的reducer上与右边的表进行join操作,这样reducer主要保存小表的数据,当右边的表来一条记录就可以和左边的表的数据(已拷贝到reducer保存)作join,然后直接将结果写入HDFS,而不用
2013-11-28 14:17:12
948
原创 Hive优化----编写SQL时注意事项
Hive是将符合SQL语法的字符串解析生成可以在Hadoop上执行的MapReduce的工具。使用Hive尽量按照分布式计算的一些特点来设计sql,和传统关系型数据库有区别,所以需要去掉原有关系型数据库下开发的一些固有思维。 基本原则:1:尽量尽早地过滤数据,减少每个阶段的数据量,对于分区表要加分区,同时只选择需要使用到的字段select ... from Ajoin
2013-11-28 14:15:57
1272
原创 Hive优化----9大常见问题
Hive优化总结---by 食人花 优化时,把hive sql当做map reduce程序来读,会有意想不到的惊喜。理解hadoop的核心能力,是hive优化的根本。这是这一年来,项目组所有成员宝贵的经验总结。 长期观察hadoop处理数据的过程,有几个显著的特征:1.不怕数据多,就怕数据倾斜。2.对jobs数比较多的作业运行效率相对比较低,比如
2013-11-28 14:15:45
1608
原创 Hbase优化之三
hbase参数配置及优化接触hbase已有半年的时间,查了很多资料,也参考了很多别人心得,也希望把自己的心得以及理解写出来,我把配置hbase必调的几个参数写一下,以及它们的意义。zookeeper.session.timeout这个参数的意义是regionserver在zookeeper的会话过期时间,默认是3分钟,如果regionserver 在zookeepe
2013-11-28 14:15:26
884
原创 Hbase优化之二
HBase 性能优化笔记1 hbase.hregion.max.filesize应该设置多少合适2 autoflush=false的影响3 从性能的角度谈table中family和qualifier的设置4 hbase.regionserver.handler.count详解1 hbase.hregion.max.filesize应该设置
2013-11-28 14:15:07
873
转载 让人头痛的大数据倾斜问题
在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。Hive的执行是分阶段的,map处理数据量的差异取决于上一个stage的reduce输出,所以如何将数据均匀的
2013-11-05 22:40:54
2712
2
转载 mapreduce的全排序问题
关于全排序的问题 Tom White的书中提出的数据取样方法 ,最近学习了一下,下面做个比较,以防后患!! 主要思想就是在要排序的所有数据中随机取出一定量的数据,这些数据取自三个部分,1. 选取总得数据 ( 键值对 ) 数目2. 选取的 split 数目3. 每个 split 选取的键值对数目(只要达到总得键值对数目马上停止采集) 接下来对整个选取得键值对进行全
2013-11-03 13:34:07
953
转载 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
1257
原创 Hbase优化之一
因官方Book Performance Tuning部分章节没有按配置项进行索引,不能达到快速查阅的效果。所以我以配置项驱动,重新整理了原文,并补充一些自己的理解,如有错误,欢迎指正。配置优化zookeeper.session.timeout默认值:3分钟(180000ms)说明:RegionServer与Zookeeper间的连接超时时间。当超时时间到后,ReigonSe
2013-10-21 07:48:40
800
原创 union and union all
假设我们有一个表Student,包括以下字段与数据: [c-sharp] view plaincopydrop table student; create table student ( id int primary key, name nvarchar2(50) not null, score number not null );
2013-10-08 11:03:56
866
原创 SQL中的批量替换
UPDATE [dbo].[TABLE] SET [FullPath]=REPLACE([FullPath],'XXXX','YYYY') WHERE update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,'原本内容','想要替换成什么')sql用replace 替换字符语法 REPLACE ( orig
2013-10-08 10:47:05
1903
翻译 sql中的group by 和 having 用法解析
--sql中的group by 用法解析:-- Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”。--它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。--注意:group by 是先排序后分组;--举例子说明:如果要用到group by 一般用到的就是“每这个字” 例如说明现在有一个这样的表:
2013-10-08 10:24:56
1154
原创 replace和replaceAll
1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串); 2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号; 相同点是都是全部替换,即把源字符串中的某一
2013-10-08 09:41:03
853
转载 mysql函数coalesce
很多人知道ISNULL函数,但是很少人知道Coalesce函数,人们会无意中使用到Coalesce函数,并且发现它比ISNULL更加强大,其实到目前为止,这个函数的确非常有用,本文主要讲解其中的一些基本使用: 首先看看联机丛书的简要定义: 返回其参数中第一个非空表达式 语法: COALESCE ( expression [ ,.
2013-09-17 17:41:17
2020
转载 一个关于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
1215
原创 Hive中的mapjoin
1: 有一个极小的表2: 需要做不等值join操作(a.x 这种操作如果直接使用join的话语法不支持不等于操作,hive语法解析会直接抛出错误如果把不等于写到where里会造成笛卡尔积,数据异常增大,速度会很慢。甚至会任务无法跑成功~根据mapjoin的计算原理,MAPJION会把小表全部读入内存中,在map阶段直接拿另外一个表的数据和内存中表数据做匹配。这种情况
2013-09-16 18:52:58
2464
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅