do_date=`date` ==> Thu Jun 3 14:33:58 CST 2020
do_date=`date +%F` ==> 2020-06-03
do_date=`date -d "-1 day" +%F` ==>2020-06-02
date +"%Y-%m-%d %H:%M:%S" 2020-06-03 14:20:25
eg:
1)在hadoop001的/home/hadoop/bin目錄下創建腳本 [hadoop@hadoop001 bin]$ vim ods_log.sh 在腳本中編寫如下內容 #!/bin/bash # 定義變量方便修改 APP=gmall hive=/soft/install/hive/bin/hive # 如果是輸入的日期按照取輸入日期;如果沒輸入日期取當前時間的前一天 if [ -n "$1" ] ;then do_date=$1 else do_date=`date -d "-1 day" +%F` fi echo "===日志日期為 $do_date===" sql=" load data inpath '/origin_data/gmall/log/topic_start/$do_date' into table "$APP".ods_start_log partition(dt='$do_date'); load data inpath '/origin_data/gmall/log/topic_event/$do_date' into table "$APP".ods_event_log partition(dt='$do_date'); " $hive -e "$sql" 說明1: [ -n 變量值 ] 判斷變量的值,是否為空 -- 變量的值,非空,返回true -- 變量的值,為空,返回false 說明2: 查看date命令的使用,[hadoop@hadoop001 ~]$ date --help 2)增加腳本執行權限 [hadoop@hadoop001 bin]$ chmod 777 ods_log.sh 3)腳本使用 [hadoop@hadoop001 module]$ ods_log.sh 2019-02-11