鉴于我在Windows系统中开发MapReduce任务,在将它们移动到HDFS集群之前,我想在本地运行MapReduce。我只想检查如何使用我的映射器逻辑、输入拆分、输入/输出格式等。可能吗?
Hadoop以3种模式运行。
1.local mode
2.psuedo mode
3.distributed mode.
您正在寻找的是本地模式。您可以在 eclipse 中调试 mapreduce 代码,然后再以 2 或 3 种模式运行它。
此在本地模式下运行应用程序的分步指南可帮助您调试应用程序。
希望对您有所帮助!
在Windows中执行和测试Map Reduce代码,我们需要借助cygwin(A windows to Unix模拟器)。
要遵循的步骤:1.首先安装赛温。2.设置天鹅座环境变量
现在我们可以将本地文件作为MR程序的输入。
我们可以通过以下命令在本地进行测试:
cat ./*.csv | python pythonProgram.py | python mapper.py | python reducer.py
要在本地机器上运行Hadoop MapReduce作业,您可以使用mrjob。
您可以使用 -r
/--runner
选项指定如何运行作业。默认选项是-r inline
(可以省略选项),这意味着MapReduce作业将在本地机器上的单个Python进程中运行。
python my_job.py input.txt
使用选项-r local
您的作业将在多个子流程中运行,其中包含
模拟了一些Hadoop功能
python my_job.py -r local input.txt
使用选项-r hadoop
作业将在Hadoop集群上运行(需要配置集群的地址)
python my_job.py -r hadoop hdfs://my_home/input.txt
请参阅此快速入门教程。