如何以編程方式將任務添加到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中並行運行的Mapreduce任務
- 4. 正在運行的任務進程ID
- 5. Hadoop的 - 增加XML映射任務不增加地圖的任務時運行
- 6. Hadoop服務未運行
- 7. GAE任務隊列保持管理控制檯中「任務正在運行」部分運行的負面任務
- 8. hadoop jobtracker如何處理長時間運行的任務
- 9. 監控運行Hadoop任務的CPU內核
- 10. 運行任務
- 11. 的Hadoop reduce任務運行,即使在命令行告訴作爲-D mapred.reduce.tasks = 0
- 12. 如何在gradle中運行任務後運行集成任務?
- 13. Gruntfile任務運行不正常
- 14. hadoop - 作業完成後任務繼續運行
- 15. 如果在當前正在運行的任務中發生異常,停止執行半任務任務
- 16. Hadoop WordCount示例 - 在Hadoop(Eclipse)上運行選項不提示選擇Hadoop服務器在窗口上運行
- 17. Hadoop推測性任務執行
- 18. Hadoop的map任務從
- 19. 在django中取消Celery中的正在運行的任務
- 20. 運行rake任務
- 21. 試圖在android中獲取所有正在運行的任務?
- 22. 如何殺死當前正在運行的任務在Android Marshmallow
- 23. progressbar IsIndeterminate無法正常運行而其他重任務運行
- 24. Android的搖籃正在運行的任務建設
- 25. 運行的gradle從任務
- 26. 從任務內運行任務。 (手錶)
- 27. ContinueWith任務完成前任務運行
- 28. 運行並行任務SciLuigi
- 29. 爲什麼Android:在Desktop中運行Gradle任務:在IntelliJ 2016.2中運行任務?
- 30. 當所有正在運行的任務正在等待時,GCD死鎖不會啓動掛起的任務
您可以將作業提交給Hadoop,並讓它們通過羣集上的Java應用程序運行。你是這個意思嗎? – 2011-04-08 12:53:42
是的,這就是我想要做的。但是如何? – Gravedigger 2011-04-08 13:40:45
k看我的回答;) – 2011-04-08 13:49:46