我想创建一个定制jar,它的主类是一系列map reduce作业,第一个作业的输出作为第二个jar的输入,以此类推。
在fileoutputformat.setoutputpath(“这里应该是什么路径?”)中设置什么;
如果在参数中指定-outputdir,则会得到错误filealraedy exists。如果我不指定,那么我不知道输出将在哪里着陆。我希望能够看到链接mapreduce作业的每个作业的输出。
谢谢你的帮助!
我想创建一个定制jar,它的主类是一系列map reduce作业,第一个作业的输出作为第二个jar的输入,以此类推。
在fileoutputformat.setoutputpath(“这里应该是什么路径?”)中设置什么;
如果在参数中指定-outputdir,则会得到错误filealraedy exists。如果我不指定,那么我不知道输出将在哪里着陆。我希望能够看到链接mapreduce作业的每个作业的输出。
谢谢你的帮助!
2条答案
按热度按时间lkaoscv71#
好的做法是从命令行获取输出,因为这样可以增加代码的灵活性,并且只要更改与路径相关,就可以编译jar。如果您启动集群并编译jar
例如。
注意:您必须创建dfs\u ip\u文件夹并在其中存储输入数据。dfs\u op\u文件夹将在hdfs上自动创建,而不是在本地文件系统上。要访问hdfs op文件夹,可以将其复制到本地文件系统,也可以执行cat操作。如。
nukf8bse2#
您可能会收到“filealraedy exists”错误,因为输出目录存在于您正在运行的作业之前。确保删除指定为hadoop作业输出的目录;否则您将无法运行这些作业。