【问题标题】: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 命令的信息,但无法了解它的使用。 任何指针/参考文档将不胜感激..

【问题讨论】:

    标签: hadoop hive hiveql hadoop2


    【解决方案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
    

    【讨论】:

    • 我认为您误解了这个问题。这会执行一个脚本,而不是两个
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-23
    相关资源
    最近更新 更多