Hive 通过oozie使用“保存配置单元输出”&燃气轮机&引用;

Hive 通过oozie使用“保存配置单元输出”&燃气轮机&引用;,hive,oozie,oozie-coordinator,Hive,Oozie,Oozie Coordinator,在oozie有可能发生这样的事吗 hive -f hiveScript.hql > output.txt 对于上述代码,我有如下oozie配置单元操作: <hive xmlns="uri:oozie:hive-action:0.1"> <job-tracker>${jobTracker}</job-tracker> <name-node>${nameNode}</

在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>

${jobTracker}
${nameNode}
mapred.job.queue.name
${queueName}
hiveScript.hql

我怎样才能告诉脚本输出应该放在哪里?

这在Oozie中是不可能实现的。这是因为Oozie在集群内的节点上启动(大部分)它的工作流操作

有了它,您可以运行Oozie Shell操作来运行
hive-f hiveScript.hql>output.txt
。。。但是,这有不同的含义,要求配置单元到处安装,hiveScript.hql到处都安装,等等。另一种情况是,这不起作用的是,您的输出文件将位于分配运行此shell操作的任何节点上

我认为最好的办法是在hiveScript.hql文件中包含
INSERT OVERWRITE DIRECTORY'/tmp/hdfs_out'SELECT*FROM…
,然后从hdfs下拉结果

编辑: 我刚才想到的另一个选择是使用SSH操作。您可以将SSH操作shell潜在地连接到目标计算机,并运行
hive-f hiveScript.hql>output.txt