2017-02-05 15 views
0

start.sh開始copy_file.shを作成していないし、それを渡しディレクトリが存在するかどうかをチェックするためにsupoosedされる2つのパラメータエラーは、ディレクトリを作成していない場合、それを作成していない場合は何のディレクトリが

yeasterday_with_dash=2017-01-31 
today_without_dash=20170201 

echo "-----------RUN copy mta-------------" 
bash copy_file.sh mta $today_without_dash 
echo "-----------RUN copy rcr-------------" 
bash copy_file.sh rcr $today_without_dash 
echo "-----------RUN copy sub-------------" 
bash copy_file.sh sub $today_without_dash 

copy_file.shをしてました。

hdfs_dir=/apps/hive/warehouse/mydb.db/fct_evkuzmin/${2}/file_${1} 

if hadoop fs -test -d $hdfs_dir ; then 
    echo "Directory "$hdfs_dir" exists" 
else 
    hadoop fs -mkdir $hdfs_dir 
    echo "Creating "$hdfs_dir 
fi 

スクリプトは正常に実行されているようです。

ログ。

yeasterday_with_dash=2017-01-31 
today_without_dash=20170201 
-----------RUN copy mta------------- 
mkdir: `/apps/hive/warehouse/mydb.db/fct_evkuzmin/20170201/file_mta': No such file or directory 
Creating /apps/hive/warehouse/mydb.db/fct_evkuzmin/20170201/file_mta 
end copy mta files 
-----------RUN copy rcr------------- 
mkdir: `/apps/hive/warehouse/mydb.db/fct_evkuzmin/20170201/file_rcr': No such file or directory 
Creating /apps/hive/warehouse/mydb.db/fct_evkuzmin/20170201/file_rcr 
end copy rcr files 
-----------RUN copy sub------------- 
mkdir: `/apps/hive/warehouse/mydb.db/fct_evkuzmin/20170201/file_sub': No such file or directory 
Creating /apps/hive/warehouse/mydb.db/fct_evkuzmin/20170201/file_sub 
end copy sub files 

実際のディレクトリは作成されていません。どうしたの?

+1

二重引用符を使用できますか? 'hadoop fs -mkdir" $ hdfs_dir "' – Inian

答えて

2

mkdir-p引数を使用すると、親ディレクトリも作成できます。

hadoop fs -mkdir -p etc 
関連する問題