如何通过Oozie工作流中的Hive Action删除Hive数据库?

时间:2015-04-20 09:00:21

标签: database hadoop hive oozie

我有一个Hive数据库,它由一个外部表(指向/ user / hive / warehouse中的一个位置)和一个普通表组成。我使用以下命令删除数据库:

DROP DATABASE IF EXISTS DBNAME CASCADE;

当我在hive命令行上运行它时,此命令有效,但是当我通过从Oozie工作流中的Hive操作调用的Hive .ql脚本运行它时,此命令不起作用。

任何线索都会有所帮助。

1 个答案:

答案 0 :(得分:0)

为什么不创建一个完全相同的脚本,将其保存在HDFS上,然后从Hive或HiveServer2操作中调用它?

 <action name="clean_temporary_tables">
    <hive2 xmlns="uri:oozie:hive2-action:0.1">
        <jdbc-url>${jdbcURL}</jdbc-url>
        <script>${hiveScript_999}</script>
        <param>TMP_TABLE=${tmp_table}</param>
    </hive2>
    <ok to="failure_email"/>
    <error to="failure_email"/>
</action>