我想要jun一个定制的jar,其主要类是一系列map减少作业,第一个作业的输出作为第二个jar的输入,依此类推。亚马逊EMR的输出文件夹
我在FileOutputFormat.setOutputPath(“什么路径应该在这里?”)中设置什么?
如果我在参数中指定-outputdir,则会出现FileAlraedy存在的错误。如果我没有说明,那么我不知道输出的地方在哪里。我希望能够看到链式映射减少作业的每个作业的输出。
谢谢你。请帮忙!
我想要jun一个定制的jar,其主要类是一系列map减少作业,第一个作业的输出作为第二个jar的输入,依此类推。亚马逊EMR的输出文件夹
我在FileOutputFormat.setOutputPath(“什么路径应该在这里?”)中设置什么?
如果我在参数中指定-outputdir,则会出现FileAlraedy存在的错误。如果我没有说明,那么我不知道输出的地方在哪里。我希望能够看到链式映射减少作业的每个作业的输出。
谢谢你。请帮忙!
您可能会收到“FileAlraedy exists”错误,因为该输出目录存在于您正在运行的作业之前。确保删除您为Hadoop作业指定的输出目录;否则你将无法运行这些工作。
好的做法是从命令行取得输出,因为它会增加代码的灵活性如果更改与路径相关,您将只编译一次jar。 EMR如果您启动您的群集并编译您的罐子
例如,
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_ip_folder并将输入数据存储在其中。 将在HDFS上自动创建dfs_op_folder而不是在本地文件系统上 要访问HDFS操作系统文件夹,您可以将其复制到本地文件系统,也可以做猫。 例如。
hadoop fs -cat ${dfs_op_folder}/<file_name>
hadoop fs -copyToLocal ${dfs_op_folder} ${your_local_input_dir_path}