hadoop getfile exercise

#!/bin/sh

#Hostname Prefix
localPath="/work/tda/yunion/unionfactfile"
hadoopPath="/workspace/tda/yunion/thive"
hadoop="/opt/hadoop-1.0.3/bin/hadoop"
hive="/opt/hadoop-1.0.3/hive/bin/hive"

#格式化日期.
function formatDate()
{
    d=$1
    echo `echo ${d}|awk '{print substr($0,1,4)"-"substr($0,5,2)"-"substr($0,7,2)}'`
}

#设置全局变量.
export hadoop=${hadoop};
export hive=${hive}


fdate=`date -d yesterday +%F`
date=`date -d yesterday +%Y%m%d`
if [ $#  -eq  "1" ]
then
    date=$1
    fdate=`formatDate ${date}`
    echo $date $fdate
fi
N=0;
N2=0;
cd $localPath
rm -rf ${date}; mkdir -p ${date}
for file_tmp in `${hadoop} fs -ls /workspace/tda/yunion/thive/*|grep f_ |grep ${date} `;do
    let "N++"
    if [ $(($N%8)) == 0 ]
    then
        let "num++"
        echo $file_tmp
        for file in `${hadoop} fs -ls ${file_tmp}/* |grep 000`;do
            let "N2++"
            if [ $(($N2%8)) == 0 ]
            then
                fileName=`echo $file |awk -F"/" '{print $6}'`
                fileName1=`echo $fileName|awk '{printf("%s",tolower($0))}' `
                echo $num ".." $file $fileName1
            #/tudou/pvOutput/20120109/searchnum/part-00000
            ${hadoop} fs -cat ${file} |awk -F"\t" '$1=='${date}'{print $0}' |awk -F"\t" '$NF>0 && $0 !~/\\N/ && $0 !~/"/{print $0} '  >> ${date}/${fileName1}
            fi
        done
    fi
done

#tar czvf ${date}.tgz ${date}/
#sz ${date}.tgz

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值