shell中如何调用hive

#!/bin/bash

#cd /DPI_ETL/transfer/liming/

cd /home/noc/xwtec/down_list/data

suflist=`ls label_*.dat|head -1|cut -d '_' -f2` 1>>/dev/null 2>>/dev/null

#echo $suflist

#cp label_$suflist /home/noc/xwtec/down_config/data/label_$suflist

sufcfg=`ls label_appct_*.cfg|head -1|cut -d '_' -f3`

#echo $sufcfg

list=`echo $suflist|cut -d '.' -f1`

cfg=`echo $sufcfg|cut -d '.' -f1`

if [[ -e label_$suflist ]] && [[ -e label_cfg_$sufcfg ]] && [[ $list = $cfg ]]

then

    cp label_$suflist /home/noc/xwtec/down_config/data/label_$suflist

    sufresult=`echo $suflist|cut -d '.' -f1`

    echo $sufresult

    sed 's/[ \t]*$//g' -i label_$suflist

    appdate1=`cat label_appct_$sufcfg|awk 'BEGIN{FS=":"}{print substr($2,1,8)}'|head -1`

    appdate2=`cat label_appct_$sufcfg|awk 'BEGIN{FS=":"}{print substr($2,1,8)}'|head -1|sort -r|head -1`

    echo $appdate1

    echo $appdate2

    mv label_$suflist   liming_test_mdn.txt 

#rm /DPI_ETL/transfer/liming/liming_test_mdn.txt

    mv liming_test_mdn.txt /DPI_ETL/transfer/liming/

    cd /DPI_ETL/transfer/liming/

    sh  move_yym_mdn.sh

    cd /home/noc/xwtec 

#hive -f hive.sql

    echo "use noc_dpi;CREATE table IF NOT EXISTS tmp_yym_app(appname STRING, mdn_num int, inputoctets int,outputoctet int)

row format delimited fields terminated by '|' stored as textfile

location '/user/noc/private/tmp_yym_app';

insert overwrite table tmp_yym_app

select tt.appname,count(distinct mdn),sum(tt.inputoctets),sum(tt.outputoctets) from

(select t.*  from NOC_3G_APP_USER_SUMMARY  t join liming_test_mdn m on

 t.mdn=m.mdn and m.mdn<>'' and m.mdn is not null where t.dt>=$appdate1 and t.dt<=$appdate1

union all

  select t.*  from NOC_4G_APP_USER_SUMMARY  t join liming_test_mdn m on

 t.mdn=m.mdn and m.mdn<>'' and m.mdn is not null where t.dt>=$appdate1 and t.dt<=$appdate2) tt

 group by tt.appname;"|hive

    sleep 10s

    rm -r /home/noc/xwtec/tmp_yym_app

    hadoop fs -get /user/noc/private/tmp_yym_app /home/noc/xwtec/tmp_yym_app

    cat  /home/noc/xwtec/tmp_yym_app/* >>label_appct_$sufresult.tmp

    iconv -f utf-8 -t gbk label_appct_$sufresult.tmp>>label_appct_$sufresult.result

    rm label_appct_$sufresult.tmp

    cd  /home/noc/xwtec/down_list/data/

    mv label_appct_$sufresult.result /home/noc/xwtec/up_result/data/

    mv label_appct_$sufcfg /home/noc/xwtec/down_config/data

else

   exit 0

fi

你可能感兴趣的:(shell中如何调用hive)