wget似乎突然退出了?

时间:2013-07-24 12:21:31

标签: bash hadoop wget put

我写了一个小的bash脚本,基本上有2个部分。 第1部分:wget 第2部分:hadoop put

第1部分

wget -r -nH –cut-dirs=1 -R index.html -P /home/snoiniM/data/in/ https://www.someWebSite.com/folder/level2 --user=someUserName --password=P@ssword

下载的文件保存到/ home / snoiniM / data / in /。完成下载文件后,我立刻告诉它加载/ home / snoiniM / data / in / to / place / in / hadoop / downloaded /

中的所有文件
hadoop fs -put /home/snoiniM/data/in/ /place/in/hadoop/downloaded/

问题是,脚本执行wget部分,但不执行hadoop put部分。但是,当我注释掉wget行(没有其他更改)时,它会运行hadoop -put部分而不会出错。

为什么两个部分不能一起工作?我似乎无法弄清楚为什么。有谁知道吗?

根据要求,这是我的实际代码。

代码段

#! /bin/bash

temp_dir=/tmp/snoiniM
paypal_date=2013-07-01
hdfsdir=/warehouse/hive/f_paypal_agg #target destination

Log INFO "Downloading Paypal Data..."
wget -r -nH -nd -R index.html -A *$paypal_date.zip -P $temp_dir/paypal https://secure.paypaldata.com/gru/ --user=$paypal_user --password=$paypal_passwd

echo "I'll sleep for 2 seconds. Meanwhile, when you see this you know wget is done."
sleep 2
echo "All done. Proceed to hadoop part"

Log INFO "Clearing down any old/duplicate files or data in HDFS..."
for file in /tmp/snoiniM/paypal/*.zip
        do
#               hadoop fs -rm -f /warehouse/hive/f_paypal_agg/${file##*/}
                hadoop fs -rm -f /warehouse/hive/f_paypal_agg/paypal/${file##*/}
done

Log INFO "Loading all trackpal export zip files to HDFS..."
hadoop fs -put $temp_dir/paypal/ $hdfsdir
Log INFO "------------------------------------------------------------"
Log INFO "Paypal exports for $paypal_date loaded to HDFS."

rm -f $temp_dir/paypal/*$paypal_date.zip
Log INFO "Contents in $temp_dir/paypal cleaned and is ready for next run."

快速回顾:程序运行没有错误,但它在wget之后立即停止 - 我没有看到睡眠消息。但是,如果我然后注释掉wget并且第二次运行它,那么它会睡眠部分然后再进入hadoop put。

0 个答案:

没有答案