Hive “设置”的好处是什么;“蜂巢执行并行”;在蜂房里做假?

Hive “设置”的好处是什么;“蜂巢执行并行”;在蜂房里做假?,hive,Hive,我知道当hive.exec.parallel在hive中设置为true时 set hive.exec.parallel=true; 然后,查询中的独立任务可以并行运行 感谢Qubole的帮助: 将此参数设置为false有什么好处吗? 我将在这里重复我自己:显然,只要可能,您都希望并行运行,并获得更高的吞吐量。为什么有人会将此参数设置为false?是否也存在任何缺点 它只是一个参数,因为当它被引入时,不清楚它会有多稳定,所以你应该能够关闭它。一旦有足够多的人尝试并发现它稳定,默认值就会切换为t

我知道当hive.exec.parallel在hive中设置为true时

set hive.exec.parallel=true;
然后,查询中的独立任务可以并行运行

感谢Qubole的帮助:

将此参数设置为false有什么好处吗?
我将在这里重复我自己:显然,只要可能,您都希望并行运行,并获得更高的吞吐量。为什么有人会将此参数设置为false?是否也存在任何缺点

它只是一个参数,因为当它被引入时,不清楚它会有多稳定,所以你应该能够关闭它。一旦有足够多的人尝试并发现它稳定,默认值就会切换为true:


目前没有实际的缺点。

根据我的经验,唯一的缺点是资源使用。如果您的可用资源有限,那么总体而言,让查询连续运行会更好。当查询并行运行时,一个查询可以同时管理多个作业,这可能会耗尽集群的资源。如果您不需要速度,并且集群有大量工作负载,那么总体而言,让事情连续运行可能会更好。

Mayank,此属性还具有一些星形条件的优点。我的意思是说,当在该数据库上运行多个查询时,Hive具有数据库锁定功能。

例如-
您有一个包含多个阶段的复杂查询 在一个数据库上运行,并行属性可以增加 但它也会在数据库上创建“锁”,这可能会 暂时停止在同一数据库上运行的其他进程 它自己的执行。

我最近遇到了这个问题,并通过将此属性设置为“FALSE”
我希望这个答案可以帮助你理解在什么情况下我们必须使它成为假的