1
我開發了一個使用ToolRunner
的MapReduce應用程序。基於用戶傳遞的參數和配置屬性,應用程序以某種方式設置作業:選擇特定的輸入/輸出格式,選擇映射器和減速器類等。此邏輯在run(String[] args)
方法中由我的主該類實現Configured
和Tool
。如何使用Oozie運行MapReduce ToolRunner作業?
Oozie支持MapReduce動作節點,但問題是我無法將它們與我的自定義ToolRunner
應用程序一起使用。 MapReduce操作僅允許通過配置輸入/輸出格式,映射器/縮減器類和鍵/值類來定義靜態作業。我的應用程序基於更高級別的業務邏輯動態執行此操作。
動作要能夠執行這樣的命令行:
hadoop jar my.jar com.example.MyMainClass -D my.config1=a -D my.config2=b arg1 arg2
我可以創建支持ToolRunner
MapReduce應用Oozie的行動?
根據你的回答,我閱讀了更多關於Java Actions的內容,並發現它們是從一個映射器運行的,就像Shell Actions一樣。 Pig和Hive動作是否也從映射器開始? –
好問題。我沒有嘗試過Pig或Hive操作,所以我不知道他們在做什麼。但我不會感到驚訝。 – climbage
是的,豬的動作也是從一個映射器開始的。 – Oleksii