我是靠谱客的博主 开心钥匙,最近开发中收集的这篇文章主要介绍Hive执行脚本时传参,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用-hiveconf传参

测试脚本

-- test.sql

select 'Start Testing ...';

select ${hiveconf:day}, '${hiveconf:url}';

select 'Test End!';

命令行

hive -hiveconf day=20180716 -hiveconf url='www.baidu.com' -S -f test.sql

结果

Start Testing ...
20180716	www.baidu.com
Test End!

注意

hive -hiveconf day='monday' -hiveconf url='www.baidu.com' -S -f test.sql

运行上述命令,会报如下错误:

Start Testing ...
FAILED: SemanticException [Error 10004]: Line 3:7 Invalid table alias or column reference 'monday': (possible column names are: )

其原因在于,sql脚本中的${hiveconf:day}没有加引号,即day默认为数字型参数。然而,上述命令传入了字符型参数day=‘monday’,导致解析错误。

因此,字符型参数传参时,在脚本中必须加引号(如’${hiveconf:url}’),才能正确获得参数。


参考

Hive脚本接受参数

最后

以上就是开心钥匙为你收集整理的Hive执行脚本时传参的全部内容,希望文章能够帮你解决Hive执行脚本时传参所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部