gpt4 book ai didi

hadoop - -hivevar 和 -hiveconf 之间有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 14:07:44 26 4
gpt4 key购买 nike

来自 hive -h :

--hiveconf <property=value>   Use value for given property
--hivevar <key=value> Variable subsitution to apply to hive
commands. e.g. --hivevar A=B

最佳答案

我不太觉得文档中的示例是足够的,所以这是我尝试回答的问题。

一开始只有--hiveconf,变量替换不存在。

--hiveconf 选项允许用户设置 Hive configuration values从命令行就是这样。所有 Hive 配置值都存储在 hiveconf 命名空间下,即 hiveconf:mapred.reduce.tasks。这些值允许您控制诸如映射器和缩减器的数量、是否应显示状态消息以及脚本是否应在出现错误时继续执行之类的事情。

稍后,variable substitution was added .这意味着您现在可以使用 ${...} 语法在查询中使用变量。但是,您可以从命令行设置的唯一变量是使用 --hiveconfhiveconf 命名空间下,因此这是用户放置变量的地方。

将您的个人变量放在 Hive 配置命名空间下可能不会破坏任何东西,但这也不是好的形式。后来,it was suggested hivevar 命名空间专门为用户变量添加,这些用户变量也可以使用 --hivevar 在命令行中定义。这意味着 Hive 配置值和用户定义的变量之间的分离更加清晰。

总结:
hiveconf 命名空间和 --hiveconf 应该用于设置 Hive 配置值。
hivevar 命名空间和--hivevar 应该用于定义用户变量。
hiveconf 命名空间下设置用户变量可能不会破坏任何东西,但不推荐这样做。

关于hadoop - -hivevar 和 -hiveconf 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37997008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com