使用">"通过 oozie 保存蜂巢输出



这样的事情在oozie中可能发生吗?

hive -f hiveScript.hql > output.txt

我对上面的代码有如下的oozie蜂窝操作:

    <hive xmlns="uri:oozie:hive-action:0.1">
                <job-tracker>${jobTracker}</job-tracker>
                <name-node>${nameNode}</name-node>
                <configuration>
                    <property>
                        <name>mapred.job.queue.name</name>
                        <value>${queueName}</value>
                    </property>
                </configuration>        
               <script>hiveScript.hql</script>  
            </hive>
            <ok to="end" />
            <error to="kill" /> 
    </hive>

如何告诉脚本输出应该放在哪里?

Oozie不可能以您想要的方式做到这一点。这是因为Oozie在集群中的节点上启动(大部分)工作流操作。

有了这个,你可以运行Oozie Shell操作来运行hive -f hiveScript.hql > output.txt。。。然而,这有不同的含义,要求Hive到处都安装,hiveScript.hql到处都安装等等。另一种不太可行的方式是,你的输出文件将位于指定运行这个shell操作的任何节点上。https://oozie.apache.org/docs/3.3.0/DG_ShellActionExtension.html

我认为您最好将INSERT OVERWRITE DIRECTORY '/tmp/hdfs_out' SELECT * FROM ...包含在hiveScript.hql文件中,然后从HDFS中提取结果。

编辑:我刚才想到的另一个选项是使用SSH操作。https://oozie.apache.org/docs/3.2.0-incubating/DG_SshActionExtension.html您可能将SSH Action shell连接到目标计算机并运行hive -f hiveScript.hql > output.txt

相关内容

  • 没有找到相关文章

最新更新