3
我開發了一些使用java和hadoop 1.0.1的MR作業。但是,EMR僅支持Hadoop 0.20。是否有可能在EMR上運行Hadoop 1.0.1作業,還是必須降級我的庫堆棧以符合EMR hadoop版本?支持Amazon EMR上的Hadoop 1.0.1作業
我開發了一些使用java和hadoop 1.0.1的MR作業。但是,EMR僅支持Hadoop 0.20。是否有可能在EMR上運行Hadoop 1.0.1作業,還是必須降級我的庫堆棧以符合EMR hadoop版本?支持Amazon EMR上的Hadoop 1.0.1作業
取決於您是否使用任何1.0.1特定類。核心Mapper和Reducer類(新舊API類型)在0.20和1.0.1之間沒有變化。
您可以嘗試將您的hadoop依賴項更改爲0.20.2並重建您的MR作業jar - 如果沒有編譯錯誤,那麼您非常接近(可能會在0.20和1.0.1之間修復一些錯誤,但是我會想象一下你會沒事的)。
如果您發現作業無法編譯,並且它涉及某些輸入/輸出格式在0.20中不可用(如某些多輸入/輸出),您可以檢查Hadoop的源代碼版本1.0。 1(或確實是Cloudera 0.20.2源代碼)來查看是否可以「回溯」缺少的格式,然後將其添加到作業jar中。
隨時將編譯錯誤重新發布回原始問題,以便人們評論潛在的解決方法。