2015-04-01 72 views
2

我是Oozie和Hadoop的新手。我想問我是否可以在Oozie中運行shell操作,並將輸出存儲到Hadoop分佈式文件系統上的文件中。Oozie shell操作可以在HDFS上創建輸出文件嗎?

+0

你可以把輸出直接放在hdfs內的shell腳本本身 – 2015-04-02 11:10:47

+0

我試過這樣做,但是我做不到。到目前爲止,我所見過的所有教程都只使用stdout而不是創建文件。你可以請我參考一些例子把輸出到hdfs? – Tato 2015-04-02 20:16:02

+0

你嘗試將結果複製到hdfs? – Mzf 2015-04-05 12:13:21

回答

0

當然 - 使用下面的腳本殼行動:

#!/bin/bash 

echo "foo" > output.txt 
hdfs dfs -moveFromLocal output.txt /your/path/in/hdfs 
+0

它給出了hdfs命令的錯誤命令或文件名。 – Tato 2015-04-10 18:55:23

+0

那麼Hadoop命令是否在oozie正在運行的節點上工作?您可以將'hostname'作爲腳本的第二行,以便將oozie運行shell操作的主機名後退,然後手動登錄到該節點並檢查一切是否正確設置。 – 2015-04-11 03:22:08

+0

我配置了相同的節點來運行Hadoop和Oozie。儘管hadoop命令是hadoop fs -moveFromLocal。如果我在本地運行腳本,腳本工作正常,但在提交給Oozie時顯示錯誤的命令或文件名。 – Tato 2015-04-11 20:57:48

0

我遇到了同樣的問題,這個解決它。您必須添加HADOOP_USER_NAME環境變量。 Go through this once

+0

而不是發佈鏈接作爲答案添加一些文本來解釋這個答案如何幫助OP在修復當前issue.Thanks – 2016-06-09 06:16:15

相關問題