Hive简单优化;workflow调试
1. 定义job名字
SET mapred.job.name='customer_rfm_analysis_L1';
这样在job任务列表里可以第一眼找到自己的任务。
2. 少用distinct, 尽量用group by
因为会把数据弄在一个reduce中,造成数据倾斜。distinct数据数量大于1000条时。
3. join时小表最好放左边
否则会引起磁盘和内存的大量消耗
4. 小表和超大的表join时,可以使用map join
能把小表写入内存中,便于多次读写。
5. 如果union all的部分个数大于2
或者每个union部分数据量大,应该拆成多个insert into 语句
6. SQL里的通用设置
--每个sql的代码都一样
SET mapred.max.split.size=256000000;
SET hive.exec.compress.output=true;
SET mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;
SET mapred.output.compression.type=BLOCK;
SET hive.exec.dynamic.partition=true;
SET hive.exec.dynamic.partition.mode=nonstrict;
set mapreduce.map.output.compress=true;
set mapred.map.output.compress.codec = org.apache.hadoop.io.compress.SnappyCodec;
set mapreduce.reduce.shuffle.input.buffer.percent =0.6;
set mapreduce.reduce.shuffle.parallelcopies = 5;
set hive.exec.max.created.files=655350;
set hive.exec.max.dynamic.partitions=10000000;
set hive.exec.max.dynamic.partitions.pernode=10000000;
7. workflow
1) coordinator 动态日期获取
${coord:formatTime(coord:dateOffset(coord:nominalTime(),-2,'DAY'), 'yyyy-MM-dd')}
表示取当天的两天之前的日期(格式是 yyyy-MM-dd)
${coord:formatTime(coord:nominalTime(), 'yyyy-MM-dd')}
表示取当天的日期(格式是 yyyy-MM-dd)
注意: 当修改workflow后,需要重新提交coordinator才会生效。
2) coordinator 时间设置
要选用utc时区;
设置时间为需求的执行时间 - 8 hours;
3) coordinator 可以自动识别出 workflow中调用的参数,赋值给它即可。
SQL中的参数要设置成 ${参数名这种},如果是字符串,'${字符串名}'
workflow中设置参数为 ${参数名},不需要引号。
4)workflow 参数可以上传一个文件。 文件该是什么格式??
5) 半路结束,状态为failed。
Halting due to Out Of Memory Error...
GC overhead limit exceeded
尝试方法:调大oozie的heapsize,解决!
6)并发子workflow相互不能执行成功,状态为Succeeded。但实际上任务并未完成。是因为有相邻子workflow出现错误
GC overhead limit exceeded
Closing: 0: jdbc:hive2://spark-02:10000/default
Intercepting System.exit(2)
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.Hive2Main], exit code [2]
8 oozie 可以调用 Hive QL,Spark, Java,Shell
9 Bundle 跟workflow, coordinator 在同一个设置区。
可以把多个coordinator打包成一个。
Hive简单优化;workflow调试的更多相关文章
- GCC(警告.优化以及调试选项)
		GCC(警告.优化以及调试选项) [介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件 预处 ... 
- Hive 常用优化参数
		常用调优测试语句 : ①显示当前hive环境的参数值: set 参数名; 如: hive> set mapred.map.tasks;mapred.map.tasks; ②设置hi ... 
- Hive SQL 优化面试题整理
		Hive优化目标 在有限的资源下,执行效率更高 常见问题: 数据倾斜 map数设置 reduce数设置 其他 Hive执行 HQL --> Job --> Map/Reduce 执行计划 ... 
- Serverless 工程实践 | Serverless 应用优化与调试秘诀
		作者|刘宇 前言:本文将以阿里云函数计算为例,提供了在线调试.本地调试等多种应用优化与调试方案. Serverless 应用调试秘诀 在应用开发过程中,或者应用开发完成,所执行结果不符合预期时,我 ... 
- 一次千万级别的SQL查询简单优化体验
		背景:从两张有关联的表查询数据,A表数据量1400万,B表数据量8000万.A与B通过ID逻辑关联,没有实际的外键.B表是后来扩展出来的. 问题:根据某个ID查询时超时,运行时跑不出结果. 原因:使用 ... 
- Hive性能优化
		1.概述 继续<那些年使用Hive踩过的坑>一文中的剩余部分,本篇博客赘述了在工作中总结Hive的常用优化手段和在工作中使用Hive出现的问题.下面开始本篇文章的优化介绍. 2.介绍 首先 ... 
- 双数组trie树的基本构造及简单优化
		一 基本构造 Trie树是搜索树的一种,来自英文单词"Retrieval"的简写,可以建立有效的数据检索组织结构,是中文匹配分词算法中词典的一种常见实现.它本质上是一个确定的有限状 ... 
- [mysql] 2进制安装和简单优化
		##################################mysql 2进制安装和简单优化################################################## ... 
- Hive篇---Hive使用优化
		一.前述 本节主要描述Hive的优化使用,Hive的优化着重强调一个 把Hive SQL 当做Mapreduce程序去优化 二.主要优化点 1.Hive运行方式:本地模式集群模式 本地模式开启本地模式 ... 
随机推荐
- linux上的常见命令掌握
			http://coolshell.cn/articles/8883.html 这篇文章来源于Quroa的一个问答<What are some time-saving tips that ever ... 
- Mybaits学习总结1
			http://www.cnblogs.com/xdp-gacl/p/4261895.html 参考了这篇文章搭建了Mybaits环境,原作者有些地方没有标注使用某种编码,我是自学SQL的,所以深知编码 ... 
- ArcGis 中MapControl 框选
			void mCtrl_OnMouseDown(object sender, ESRI.ArcGIS.Controls.IMapControlEvents2_OnMouseDownEvent e) ... 
- 分享一例脚本发版和tomcat重启脚本
			线上有个网站业务部署在tomcat上,由于频繁上线修改,需要经常启动tomcat.tomcat服务自带的bin下没有重启脚本,下面分享一例脚本发版和tomcat重启脚本: 1)现将业务代码从svn里下 ... 
- linux下安装php的imagick扩展模块(附php升级脚本)
			imagick是一个PHP的扩展,是一套软件系列,用ImageMagick提供的API来进行图片的创建与修改,不过这些操作已经包装到扩展imagick中去了,最终调用的是ImageMagick提供的A ... 
- NSURLSession学习笔记
			NSURLSession学习笔记(一)简介 一.URL Session的基本概念 1.三种工作模式: 默认会话模式(default):工作模式类似于原来的NSURLConnection,使用的是基于磁 ... 
- RelayCommand命令
			原文:http://www.cnblogs.com/xiepeixing/archive/2013/08/13/3255152.html 常用Wpf开发中我们在ViewModel中实现INotifyP ... 
- 整理MAC下Eclipse的常用快捷键
			整理Eclipse常用快捷键 开发环境切换到Mac下后原来Window下的快捷键很大一部分是不相容的,习惯了快捷键的生活忽然哪天快捷键不起作用了,跟着的就是开发效率明显降低,频繁录入错误的快捷键让Ec ... 
- WPF使用cefsharp
			最近在公司项目上会用到cefsharp.wpf,不知道为什么按照网上的配置一直无法运行成功,怎么配置可以参考以下这篇博文: http://www.cnblogs.com/TianFang/p/4573 ... 
- [转]开发Visual Studio风格的用户界面--MagicLibrary使用指南
			本文的示例代码为可以从这里下载: 1 概述 微软Visual Studio.NET开发工具推出已经好几年了,这个开发工具一推出就以其易用性和强大功能深受开发者的喜爱.尤其是.NET ... 
