amazonemr的输出文件夹

bf1o4zei  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(317)

我想创建一个定制jar,它的主类是一系列map reduce作业,第一个作业的输出作为第二个jar的输入,以此类推。
在fileoutputformat.setoutputpath(“这里应该是什么路径?”)中设置什么;
如果在参数中指定-outputdir,则会得到错误filealraedy exists。如果我不指定,那么我不知道输出将在哪里着陆。我希望能够看到链接mapreduce作业的每个作业的输出。
谢谢你的帮助!

lkaoscv7

lkaoscv71#

好的做法是从命令行获取输出,因为这样可以增加代码的灵活性,并且只要更改与路径相关,就可以编译jar。如果您启动集群并编译jar
例如。

dfs_ip_folder=HDFS_IP_DIR
dfs_op_folder=HDFS_OP_DIR
hadoop jar hadoop-examples-*.jar wordcount ${dfs_ip_folder} ${dfs_op_folder}

注意:您必须创建dfs\u ip\u文件夹并在其中存储输入数据。dfs\u op\u文件夹将在hdfs上自动创建,而不是在本地文件系统上。要访问hdfs op文件夹,可以将其复制到本地文件系统,也可以执行cat操作。如。

hadoop fs -cat ${dfs_op_folder}/<file_name>
hadoop fs -copyToLocal ${dfs_op_folder} ${your_local_input_dir_path}
nukf8bse

nukf8bse2#

您可能会收到“filealraedy exists”错误,因为输出目录存在于您正在运行的作业之前。确保删除指定为hadoop作业输出的目录;否则您将无法运行这些作业。

相关问题