我觉得是系统性能问题。 |
本帖最后由 pig2 于 2015-4-2 18:55 编辑 langke93 发表于 2015-4-2 13:51 hive查询好像还很慢,3钱多条数据 用:select distinct trace_id from tb_watchmen; 能用338.991 seconds才能出结果。 |
langke93 发表于 2015-4-2 13:51 我的linux是 4g内存怎么会内存不够呢 |
mjjian0 发表于 2015-4-2 13:45 那就是内存不够了 |
我把RM节点移到namenode节点上,再启动就好了。是rm,nm没有启动起来或是后来挂掉了,因为我在stop-all.SH的时候,提示说没有nm,rm进程。 |
mjjian0 发表于 2015-4-2 12:51 详细参考 Hive如何创建索引 |
desehawk 发表于 2015-4-2 11:08 我重新见了张表,在这张表里存了 60条数据,用那条语句查,也是卡在那不动了。 |
langke93 发表于 2015-4-2 12:24 我重新见了张表,在这张表里存了 60条数据,用那条语句查,也是很慢的 |
这里面还是比较复杂的 取决于存储是否有小文件,还 有map和reduce的个数设置等 map个数控制可以通过下面方式控制:
reduce个数控制 1. 调整reduce个数方法一: 调整hive.exec.reducers.bytes.per.reducer参数的值; set hive.exec.reducers.bytes.per.reducer=500000000; (500M) select pt,count(1) from popt_tbaccountcopy_mes where pt = '2012-07-04' group by pt; 这次有20个reduce 2. 调整reduce个数方法二; set mapred.reduce.tasks = 15; select pt,count(1) from popt_tbaccountcopy_mes where pt = '2012-07-04' group by pt;这次有15个reduce |