如何顺序运行Hue Hive查询

时间:2014-09-23 09:20:15

标签: hadoop mapreduce hive hue cloudera-cdh

我已经设置了Cloudera Hue并拥有一个200 Gib和16 Gib RAM的主节点集群以及每个150 Gib和8 Gib Ram的3个数据节点。

我的数据库大小为70 Gib。问题是当我尝试从hive编辑器(HUE GUI)运行Hive查询时。如果我提交5到6个查询(执行),则会启动作业,但它们会挂起并且永远不会运行。如何按顺序运行查询。我的意思是即使我可以提交查询,但新查询只应在上一次完成时开始。有没有什么方法可以让我逐个查询?

3 个答案:

答案 0 :(得分:1)

您可以一次性运行所有查询,并使用“;”将它们分开在HUE。

例如:

查询1; QUERY2; QUERY3

在这种情况下,query1,query2和query3将依次顺序运行

答案 1 :(得分:0)

Hue提交所有查询,如果它们挂起,则表示您可能在YARN中遇到错误配置,例如陷阱#5 http://blog.cloudera.com/blog/2014/04/apache-hadoop-yarn-avoiding-6-time-consuming-gotchas/

答案 2 :(得分:0)

所以YARN / MR2的整个流程如下

  1. 查询是从HUE Hive查询编辑器
  2. 提交的
  3. 作业已启动,资源管理器在datanode
  4. 之一上启动应用程序主服务器
  5. 此应用程序主机请求资源管理器的资源(例如2 * 1Gib / 1 Core)
  6. 资源管理器提供这些资源(称为nodemanagers,然后运行map和 将任务减少到应用程序主人。
  7. 所以现在资源分配由YARN处理。在cloudera集群的情况下,动态资源池(队列类型)是提交作业的地方,然后由纱线为这些作业完成资源分配。默认情况下,最大并发作业的值设置为资源管理器将所有资源分配给所有作业/应用程序主服务器,不为任务容器留出空间(后续阶段需要应用程序主机运行任务)。 / p>

    http://www.cloudera.com/content/cloudera/en/resources/library/recordedwebinar/introduction-to-yarn-and-mapreduce-2-slides.html

    因此,如果我们在HUE Hive编辑器中提交大量查询以供执行,它们将同时作为作业提交,并为它们的应用程序主机分配资源,不为任务容器留出空间,因此所有作业都将处于挂起状态。 / p>

    解决方案如上所述@Romain

    根据群集的大小和功能,将并发作业的最大值设置为相应值。在我的情况下,它的价值为4 现在,只有4个作业将同时从池中运行,资源管理器将为它们分配资源。