[英]How can I run MapReduce ToolRunner jobs with Oozie?
我開發了一個使用ToolRunner
的MapReduce應用程序。 基於用戶傳遞的參數和配置屬性,應用程序以某種方式設置作業:選擇特定的輸入/輸出格式,選擇映射器和化簡器類等。此邏輯在run(String[] args)
我的主類中的run(String[] args)
方法,該方法實現了Configured
和Tool
。
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 Action 。 不幸的是,這並不理想,因為Oozie創建了一個作業,然后運行您的ToolRunner
來創建自己的作業。 它確實可以工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.