表结构-
hive> desc table1;
OK
col1 string
col2 string
col3 string
col4 bigint
col5 string
Time taken: 0.454 seconds, Fetched: 5 row(s);
基础文件数-
[user@localhost ~]$ hadoop fs -ls /user/hive/warehouse/database.db/table | wc -l
58822
[user@localhost ~]$
不同查询- select distinct concat(col1,'~',col2,'~',col3) from vn_req_tab;
```
Total records - ~2M Above query runs for 8 hours.
问题的起因是什么,如何调试此查询。
1条答案
按热度按时间mf98qq941#
你有大量的小文件,这是主要的问题。当您执行查询时,1个Map器在每个文件上执行,因此有很多Map器在一小块数据(每个文件一个)上运行每个Map器,这意味着它们正在消耗集群中不必要的资源,并等待其他Map器完成。
请注意,hadoop非常适合于包含大数据的大文件。
如果您在更大的文件上执行相同的查询,它的性能会更好。
尝试设置以下属性
尝试调整属性中的值以达到最佳Map器数