如何以編程方式將任務添加到hadoop並在我的Java應用程序中運行? 任何想法?謝謝。Hadoop,正在運行的任務
2
A
回答
4
在Java中,這是很容易的:
Configuration conf = new Configuration();
Job job = new Job(conf);
job.setJarByClass(YOUR_MAPPER.class);
job.setMapperClass(YOUR_MAPPER.class);
job.setReducerClass(YOUR_REDUCER.class);
job.setOutputKeyClass(YOUR_OUTPUT_KEY.class);
job.setOutputValueClass(YOUR_OUTPUT_VALUE.class);
FileInputFormat.addInputPath(job, new Path("YOUR_INPUT_PATH"));
FileOutputFormat.setOutputPath(job, new Path("YOUR_OUTPUT_PATH"));
System.exit(job.waitForCompletion(true) ? 0 : 1);
如果您需要將其提交給您必須將這些值添加到配置對象集羣:
conf.set("fs.default.name", "hdfs://localhost:9000");
conf.set("mapred.job.tracker", "localhost:9001");
此時應更換端口和主機名到羣集conf的目錄中配置的值。
+0
但是,爲了執行hadoop上的作業,我必須每次輸入「bin/hadoop jar hadoop.jar main.UrlFetch輸入輸出」。 我想從我的web應用程序運行作業(例如解析許多網站),有時會控制完成並將結果傳遞給我的web應用程序。 – Gravedigger 2011-04-08 14:28:22
+0
實際上,這個片段可以在任何應用程序中使用。 – 2011-04-08 14:39:59
相關問題
- 1. 獲取當前正在運行的Hadoop任務的任務嘗試ID
- 2. 在Apache Marathon上運行Hadoop/Storm任務
- 3. 正在運行Hadoop DbCountPageView.java
- 4. 在僞分佈式hadoop中並行運行的Mapreduce任務
- 5. 正在運行的任務進程ID
- 6. Hadoop任務可以在單個節點上並行運行
- 7. Hadoop的 - 增加XML映射任務不增加地圖的任務時運行
- 8. Hadoop服務未運行
- 9. Hadoop中的Reducer任務不像預期的那樣運行
- 10. GAE任務隊列保持管理控制檯中「任務正在運行」部分運行的負面任務
- 11. 監控運行Hadoop任務的CPU內核
- 12. hadoop jobtracker如何處理長時間運行的任務
- 13. 運行任務
- 14. 在Hadoop中,有沒有辦法查看發送到Reducer的鍵/值對以執行正在運行的任務?
- 15. 正在運行的任務平行在asp.net
- 16. 如何在gradle中運行任務後運行集成任務?
- 17. 的Hadoop reduce任務運行,即使在命令行告訴作爲-D mapred.reduce.tasks = 0
- 18. AWS ECS - 正在運行的任務與服務
- 19. Gruntfile任務運行不正常
- 20. 如果在當前正在運行的任務中發生異常,停止執行半任務任務
- 21. Hadoop任務分配
- 22. Hadoop任務進度
- 23. Hadoop一臺機器只運行一項任務
- 24. hadoop - 作業完成後任務繼續運行
- 25. msinfo命令行只導出正在運行的任務
- 26. 運行rake任務,在Heroku
- 27. 在backgound運行任務NativeScript
- 28. Hadoop 2.2 namenode正在運行,但datanode未運行
- 29. 在django中取消Celery中的正在運行的任務
- 30. Hadoop WordCount示例 - 在Hadoop(Eclipse)上運行選項不提示選擇Hadoop服務器在窗口上運行
您可以將作業提交給Hadoop,並讓它們通過羣集上的Java應用程序運行。你是這個意思嗎? – 2011-04-08 12:53:42
是的,這就是我想要做的。但是如何? – Gravedigger 2011-04-08 13:40:45
k看我的回答;) – 2011-04-08 13:49:46