可以从另一个配置单元脚本运行配置单元脚本吗?
Posted
技术标签:
【中文标题】可以从另一个配置单元脚本运行配置单元脚本吗?【英文标题】:Can a hive script be run from another hive script? 【发布时间】:2018-03-28 13:27:56 【问题描述】:我创建了两个配置单元脚本 script1.hql 和 script2.hql。
是否可以从 script1.hql 运行脚本 script2.hql?
我阅读了有关使用 source 命令的信息,但无法了解它的使用。 任何指针/参考文档将不胜感激..
【问题讨论】:
【参考方案1】:使用source <filepath>
命令:
source /tmp/script2.hql; --inside script1
文档在这里:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Cli
Hive 将包含 /tmp/script2.hql 的文本并在相同的上下文中执行它,因此为主脚本定义的所有变量都可以通过 script2 命令访问。
source
命令查找本地路径(不是 HDFS)。执行前将文件复制到本地目录。
【讨论】:
非常感谢。传递给 script1.hql 的 hivevar 是否会自动提供给 script2.hql? @Djeah 传递给 script1.hql 的 hivevars 将自动对 script2.hql 可用。【参考方案2】:用命令试试看能不能执行
hive -f /home/user/sample.sql
【讨论】:
我认为您误解了这个问题。这会执行一个脚本,而不是两个以上是关于可以从另一个配置单元脚本运行配置单元脚本吗?的主要内容,如果未能解决你的问题,请参考以下文章