Hive:检查在会话或作业中设置了哪些参数?



我们在Hive中有几个参数,如下所示:

set hive.cbo.enable=true;
set hive.compute.query.using.stats=true;
set hive.stats.fetch.column.stats=true;
set hive.stats.fetch.partition.stats=true;
set mapreduce.job.running.map.limit=50;

如何检查设置了哪些参数(真(? 在 GUI 中可以看到特定作业正在使用多少个映射器,但如何检查其他参数的状态?有没有办法这样做??

只需打印set param_name;

hive> set hive.cbo.enable;
hive.cbo.enable=true

或者在查询中:

hive> select ${hiveconf:hive.cbo.enable};
OK
true
Time taken: 1.042 seconds, Fetched: 1 row(s)

更复杂的示例(检查案例中的布尔变量(:

hive> select case when ${hiveconf:hive.cbo.enable} then 1 else 0 end;
OK
1
Time taken: 0.041 seconds, Fetched: 1 row(s)
hive>

在外壳中:

hive_cbo_enable=$(hive -e 'select ${hiveconf:hive.cbo.enable} ;')
echo "$hive_cbo_enable"

所有参数都是真的:

hive -e 'set;' | grep "=true"
datanucleus.fixedDatastore=true
datanucleus.rdbms.useLegacyNativeValueStrategy=true
dfs.block.access.token.enable=true
dfs.client.block.write.replace-datanode-on-failure.enable=true
dfs.client.mmap.enabled=true
dfs.datanode.drop.cache.behind.reads=true
dfs.datanode.drop.cache.behind.writes=true
...

最新更新