当前位置:网站首页 > R语言数据分析 > 正文

查询yarn上运行的任务(yarn 查看 任务计划)



内存溢出

Client端内存溢出
 
  
ApplicationMaster端内存溢出

为了演示,先将am的内存调小到 512M。 之后客户端输入如下的报错信息:

set yarn.app.mapreduce.am.resource.mb=512;
select count(1) from (select num, count(1) from default.test_tb_1_1 where part>180 and part<190 group by num) a;


 
  
Map端 和 Reduce端内存溢出
 
  

数据倾斜

现象
常见容易出现数据倾斜的操作
join

参数:

  1. mapjoin
  1. Skew Join
 
  

解决方法:把空置变成一个字符串加上随机数,把倾斜的数据分布到不同的reduce上

 
  

可以考虑把数据类型转化为同一数据类型

 
  
groupby

group by 维度过小,某值的数量过多

set hive.map.aggr=true;
set hive.groupby.skewindata=true;


count distinct

调整map/reduce个数

控制hive任务中的map数
  1. 通常情况下,作业会通过input的目录产生一个或者多个map任务。

主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通过set dfs.block.size;命令查看到,该参数不能自定义修改);

  1. 举例:
  1. 是不是map数越多越好?

答案是否定的。如果一个任务有很多小文件(远远小于块大小128m),则每个小文件也会被当做一个块,用一个map任务来完成,而一个map任务启动和初始化的时间远远大于逻辑处理的时间,就会造成很大的资源浪费。而且,同时可执行的map数是受限的。

  1. 是不是保证每个map处理接近128m的文件块,就高枕无忧了?
如何合并小文件,减少map数?

假设一个SQL任务:

 
  
 
  
如何适当的增加map数?
 
  
 
  
控制hive任务的reduce数
1. Hive自己如何确定reduce数:
2. 调整reduce个数:
3. 什么情况下只有一个reduce;

自动合并输出的小文件

hive tez insert union all问题

查看对应的sql,发现存在insert union操作,查看往上信息,发现tez对于insert union操作会进行优化,通过并行加快速度,为防止有相同文件输出,所以对并行的输出各自生成成了一个子目录,在子目录中存放结果。如果此时全部hive客户端引擎及相关都设定为tez,则无问题。如果有客户端还在使用mr引擎,则会出现读取不到数据的情况。而在hive中,对于表目录存放信息有如下策略:

同时为了查看tez的此种情况对其他引擎的兼容性,又对sparktThriftServer的sql访问进行了测试:

到此这篇查询yarn上运行的任务(yarn 查看 任务计划)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • ueditor编辑器图片配置(ueditor编辑器上传图片)2026-01-21 23:27:06
  • 甲骨文oracal(甲骨文oracle中国)2026-01-21 23:27:06
  • ettercap dns欺骗(ettercap dns欺骗目标怎么填)2026-01-21 23:27:06
  • spark面试宝典(spark 面试题)2026-01-21 23:27:06
  • store翻译成中文(restore翻译成中文)2026-01-21 23:27:06
  • emr+apc(emrapc术)2026-01-21 23:27:06
  • tldr(tldr缩写)2026-01-21 23:27:06
  • auto不可用(autostart不可用)2026-01-21 23:27:06
  • cruise2020安装教程(cruise2014安装教程)2026-01-21 23:27:06
  • treeworld破解版(treeworld游戏)2026-01-21 23:27:06
  • 全屏图片