我正在尝试对大量数据(几乎是petabyte的一半)运行配置单元查询,这些查询在内部运行map reduce。生成数据集需要很长时间(map reduce才能完成)我可以使用什么样的优化机制来加快这些查询,还有一个更重要的问题,map reduce或in/tmp目录中的可用磁盘数量对加快map reduce很重要吗?
zpgglvta1#
你能做的不多,但我可以给你一些通常可以用Hive做的指导:您应该选择导致较少洗牌的sql。例如,在可能的情况下,可以尝试导致Map侧连接。您还可以通过某种方式执行某些操作,从而生成仅Map的查询。另一种方法是调整reducer的数量——有时hive定义的reducer比需要的少得多——所以您可以手动设置它以更好地利用集群如果要运行大量查询来执行转换,那么可以在hdfs中为此临时数据定义低复制因子如果我们知道你在做什么,我们可以提供更多的帮助。
1条答案
按热度按时间zpgglvta1#
你能做的不多,但我可以给你一些通常可以用Hive做的指导:
您应该选择导致较少洗牌的sql。例如,在可能的情况下,可以尝试导致Map侧连接。您还可以通过某种方式执行某些操作,从而生成仅Map的查询。
另一种方法是调整reducer的数量——有时hive定义的reducer比需要的少得多——所以您可以手动设置它以更好地利用集群
如果要运行大量查询来执行转换,那么可以在hdfs中为此临时数据定义低复制因子
如果我们知道你在做什么,我们可以提供更多的帮助。