使用hadoop流jar将小文件合并到一个大文件中

时间:2018-06-13 07:51:40

标签: bash hdfs

我正在尝试将文件夹中的小文件合并到一个大文件中,然后用该文件夹中的那个大文件替换所有小文件。这是使用bash脚本完成的,该脚本每周运行一次。 我制作的剧本是:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

我试图首先将小文件移动到tmp文件夹,然后将它们合并到名为output的文件夹中的大文件中,但我面临的错误是:

#!/usr/bin/sh
tmp="/user/dir1/tmp_dir"
input="/user/dir1/small_files_dir"
hadoop fs -mkdir $tmp
hadoop fs -mv $input/* $tmp
hadoop jar /user/dir1/hadoop-streaming-2.6.0.jar \
                   -Dmapred.reduce.tasks=1 \
                   -input $tmp\
                   -output "/user/dir1/output" \
                   -mapper cat \
                   -reducer cat

请帮我解决错误

0 个答案:

没有答案