Hive HQL 中参数的持久性?
Persistance of parameter in Hive HQL?
我使用 Hive 集群。
集群具有特定的 tez continer 大小(通过 Ambari 设置)。
但是,我们有一个特定的配置单元操作比另一个处理更多的数据。这是唯一的。
因此,我们计划仅针对此过程更改 tez 容器大小。这带来了两个问题:
- 是否可以在 HQL 中设置
hive.tez.container.size
和 hive.tez.java.opts
(如 set hive.tez.java.opts=XXX
)?
- 这项行动的范围和持久性是什么?如果我为一个查询设置这个,我是否必须将它设置回原始值,或者只考虑这个 query/tez session/other ?
您可以像这样在脚本中设置这些参数:
set tez.am.resource.memory.mb=8192;
set tez.am.java.opts=-Xmx6144m;
set tez.reduce.memory.mb=6144;
set hive.tez.container.size=9216;
set hive.tez.java.opts=-Xmx6144m;
如果在查询前不重新定义,范围将是整个session。如果您在单个脚本中有许多查询并且每个查询需要不同的参数,请在每个查询之前设置参数。不能像map1和map2一样为不同的顶点设置不同的参数。
我使用 Hive 集群。
集群具有特定的 tez continer 大小(通过 Ambari 设置)。
但是,我们有一个特定的配置单元操作比另一个处理更多的数据。这是唯一的。
因此,我们计划仅针对此过程更改 tez 容器大小。这带来了两个问题:
- 是否可以在 HQL 中设置
hive.tez.container.size
和hive.tez.java.opts
(如set hive.tez.java.opts=XXX
)? - 这项行动的范围和持久性是什么?如果我为一个查询设置这个,我是否必须将它设置回原始值,或者只考虑这个 query/tez session/other ?
您可以像这样在脚本中设置这些参数:
set tez.am.resource.memory.mb=8192;
set tez.am.java.opts=-Xmx6144m;
set tez.reduce.memory.mb=6144;
set hive.tez.container.size=9216;
set hive.tez.java.opts=-Xmx6144m;
如果在查询前不重新定义,范围将是整个session。如果您在单个脚本中有许多查询并且每个查询需要不同的参数,请在每个查询之前设置参数。不能像map1和map2一样为不同的顶点设置不同的参数。