#!/bin/bash . /opt/app/bi-app/energy/dayTask/config.sh if [ -n "$2" ] ;then echo "如果是输入的日期按照取输入日期" do_date=$2 else echo "====没有输入数据的日期,取当前时间的前一天====" do_date=`date -d yesterday +"%Y-%m-%d"` fi url=$MYSQL_URL username=$MYSQL_USER password=$MYSQL_PASSWORD mysql_to_hdfs_lzo() { sqoop import \ -D mapred.job.queue.name=hive \ --connect $1 \ --username $2 \ --password $3 \ --target-dir $4$7/$do_date \ --delete-target-dir \ --columns "$5" \ --query "$6 and \$CONDITIONS" \ --num-mappers 1 \ --hive-drop-import-delims \ --fields-terminated-by '\001' \ --compress \ --compression-codec lzo \ --hive-import \ --hive-database saga_dw \ --hive-table $7 \ --hive-overwrite \ --hive-partition-key dt \ --hive-partition-value $do_date \ --null-string '\\N' \ --null-non-string '\\N' } ods_energy_15_min(){ mysql_to_hdfs_lzo $url $username $password /warehouse/saga_dw/ods/tmp/ "building, func_id, meter, data_time, data_value" "select building, func_id, meter, data_time, data_value from energy_15_min where dt = '$do_date'" ods_energy_15_min } ods_energy_5_min(){ mysql_to_hdfs_lzo $url $username $password /warehouse/saga_dw/ods/tmp/ "building, func_id, meter, data_time, data_value" "select building, func_id, meter, data_time, data_value from energy_5_min where dt = '$do_date'" ods_energy_5_min } ods_energy_15_min_fjd(){ mysql_to_hdfs_lzo $url $username $password /warehouse/saga_dw/ods/tmp/ "building, func_id, meter, data_time, data_value" "select building, func_id, meter, data_time, data_value from energy_15_min_fjd where dt = '$do_date'" ods_energy_15_min_fjd } ods_energy_5_min_fjd(){ mysql_to_hdfs_lzo $url $username $password /warehouse/saga_dw/ods/tmp/ "building, func_id, meter, data_time, data_value" "select building, func_id, meter, data_time, data_value from energy_5_min_fjd where dt = '$do_date'" ods_energy_5_min_fjd } case $1 in "energy_15_min") ods_energy_15_min ods_energy_15_min_fjd ;; "energy_5_min") ods_energy_5_min ods_energy_5_min_fjd ;; "ods_energy_15_min") ods_energy_15_min ;; "ods_energy_5_min") ods_energy_5_min ;; "ods_energy_15_min_fjd") ods_energy_15_min_fjd ;; "ods_energy_5_min_fjd") ods_energy_5_min_fjd ;; esac