ETLのバッチスクリプトは、データを実行します

 

 

################################################## #####

####################################
##制御
zhangpengfeiによって作成##
    

EBIHOME = / dwdata / dwetl_v5 / agent_A01 /更新/ 141127_EBI / EBI
LOG = / dwdata / dwetl_v5 / agent_A01 /更新/ 141127_EBI / EBI_LOG


mon_max_day()
{
 日= 0
 であれば[$ 1 -gt 0 -a $ 1 -lt 13]
 次に、
 $ 1をケース
             1 | 01 | 3 | 03 | 5 | 05 | 7 | 07 | 8 | 08 | 10 | 12)日= 31 ;;
             4 | 04 | 6 | 06 | 9 | 09 | 11)日= 30 ;;
             2 | 02)
                 [ `exprの$ 2%4` -eq 0]であれば、その後、
                         [ `exprの$ 2%400` -eq 0]であれば、その後、
                                 日= 29
                         のelif [ `exprの$ 2%100` -eq 0]; その後、
                                 日= 28
                         それ以外の
                                 日= 29
                         Fiの
                 他の
                         日= 28
                 Fiの;;
 ESACの
 Fiの
 printf関数の$日
 }



endt_etl()
{

tx_date = $ 1
エコー"$ tx_dateのETLスタート!" 


DY = `エコー$ tx_date |カット-c 1-4`


DM =`エコー$ tx_date |カット-c 5-6`
DD = `エコー$ tx_date |カット-c 7-8`
etl_dt = $ dy- $ DM- $ DD



SH /home/rong/rdw/bin/run_hive.sh RMK t70_vw_risk_approve_duty_mnit $ etl_dt
SH /home/rong/rdw/bin/run_hive.sh RPT t70_vw_risk_approve_duty_mnit $ etl_dt
SH /home/rong/rdw/bin/run_sqoop_export_hive.sh RPT t70_vw_risk_approve_duty_mnit rdsst t70_vw_risk_approve_duty_mnit I 0 $ etl_dt



}

 strdt = $ 1
 enddt = $ 2  


 SY = `エコー$ strdt |カット-c 1-4`
 SM =`エコー$ strdt |カット-c 5-6`
 SD = `エコー$ strdt |カット-c 7-8`
 EY =`エコー$ enddt | 1-4` -cカット
 EMは`エコー$ enddt = | 5-6` -cカット
 編= `エコー$ enddt | 7-8` -cカット


[$ strdt -le $ enddt]は、一方で 
やる
    マックス=` mon_max_day $ SM $ sy`を
    
 [$ SD -ne $マックス]ながら 
   行う
  
  [$ SD -eq 0場合は## ] || [$ SD -eq 31];その後、   
  ## endt_etl $ strdt
  ##エコー"********************コンプリートの$ tx_date!" 
  ## Fiの
   endt_etl $ strdt
   エコー"********************コンプリートの$ tx_date!" 

  
  次に、[$ strdt -eq $ enddt]あれば
   0終了
  Fiが
#########

  、SD = 'はexpr $ SD + 1'
  であれば[10 -lt $ SD];次に、
   SD = 0 $ SD
  Fiの
  
  strdt = $ SY $ SM $ SD
 行わ
 
##########
 場合[$ SD -eq $マックス];次に、
  SM = 'はexpr $ SM + 1'
  であれば[$ SM -lt 10];次に、
   SM = 0 $ SM
  Fiの
  SD = 0
   Fiの
   
##########    
   [$ SM -eq 13]であれば、次に 
  SY = 'はexpr $ SY + 1'
  SM = 0
   Fiを
   
行います

おすすめ

転載: www.cnblogs.com/bjxdd/p/12131440.html