2009-10-26 29 views

回答

1

您可以使用python文件函數寫入本地文件系統的文本文件,或者如果您想使用HDFS,請使用Thrift API

+0

在寫入本地文件系統或hdfs時,同時寫入同一文件的多個映射器如何處理? – 2011-10-11 00:58:46

+0

這樣做很糟糕。它與重試任務相沖突,並保證你需要照顧你的工作。 – nkadwa 2013-04-22 14:27:50

1

使用流時,可以替換outputFormatClass嗎? 在原生Java實現中,您將擴展MultipleTextOutputFormat類並修改命名輸出文件的方法。然後使用JobConf的setOutputFormat方法將您的實現定義爲新的輸出格式

您應該驗證是否可以在流中使用。我不知道: -/

7

可以使用-inputformat和-outputformat命令行參數來替換input和outputformat類。

如何做到這一點的一個例子可以在dumbo project中找到,它是一個用於編寫流式作業的Python框架。它具有寫入多個文件的功能,並在內部使用其姐妹項目feathers - fm.last.feathers.output.MultipleTextFiles中的類替換輸出格式。

然後reducer需要發出一個元組作爲鍵,元組的第一個組件是指向具有鍵/值對的文件應寫入的目錄的路徑。可能仍然有多個文件,這取決於reducer和應用程序的數量。

我推薦查看dumbo,它具有許多功能,可以更容易在Python中的Hadoop上編寫Map/Reduce程序。

相關問題