15

我的系统会定期执行许多配置单元查询。当您查看工作跟踪器时,它们显示为“SELECT field, other_field ..... (Stage-1)”等。这对我不是特别有帮助,所以我

set mapred.job.name = more helpful name;
在查询中添加了:现在我可以更好地区分它们了。但是,现在我分成多个阶段的查询都显示为相同的名称。理想情况下,我想要的是类似于

set mapred.job.name = more helpful name (Stage-%d);
%d 将被当前阶段编号替换的内容。
这可能吗,有人知道怎么做吗?

4

3 回答 3

18

我不确定是否有一种方法可以完全实现您的愿望,但我可以提供其他东西。您可以在查询的开头添加评论,
而不是使用,如下所示:set mapred.job.namemore helpful name
-- this is a more helpful name
SELECT field, other_field ....

然后,在 jobtracker 中你会看到-- this is a more helpful name ..... (Stage-%d)

于 2013-10-31T19:49:25.400 回答
0

我找到了这个网站: https ://cwiki.apache.org/confluence/display/Hive/AdminManual+Configuration

上面有一个属性叫做: hive.query.string

所以set hive.query.string = even more helpful name应该工作。

它非常适合我。

于 2016-09-13T18:58:05.460 回答
-2

我知道这是一个很晚的回复,但无论如何如果这有助于让我知道。

发生这种情况是因为 HIVE 不允许在运行时设置某些参数。如果你想设置它,请按照以下步骤操作:

  1. 以管理员身份登录 Ambari UI。
  2. 转到配置单元配置
  3. 打开自定义 HiveSite.xml
  4. 添加以下键值对
    KEY: hive.security.authorization.sqlstd.confwhitelist.append
    VALUE: mapred.job.name
  5. 重启 HIVE 服务

您可以在此配置中获得此运行时错误的任何键值对

于 2016-12-27T09:39:45.333 回答