簡體   English   中英

使用“>”通過oozie保存配置單元輸出

[英]Saving hive output through oozie using “>”

在oozie中可能會發生這種情況嗎?

hive -f hiveScript.hql > output.txt

對於上面的代碼,我有以下oozie hive操作,如下所示:

    <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

我認為您最好的選擇是在hiveScript.hql文件中包含INSERT OVERWRITE DIRECTORY '/tmp/hdfs_out' SELECT * FROM ... ,然后將結果從HDFS中提取。

編輯:我剛剛想到的另一個選項是使用SSH操作。 https://oozie.apache.org/docs/3.2.0-incubating/DG_SshActionExtension.html您可能將SSH Action Shell置於目標計算機上並運行hive -f hiveScript.hql > output.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM