mysql_to_hdfs.sh 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #!/bin/bash
  2. . /opt/app/bi-app/energy/dayTask/config.sh
  3. if [ -n "$2" ] ;then
  4. echo "如果是输入的日期按照取输入日期"
  5. do_date=$2
  6. else
  7. echo "====没有输入数据的日期,取当前时间的前一天===="
  8. do_date=`date -d yesterday +"%Y-%m-%d"`
  9. fi
  10. url=$MYSQL_URL
  11. username=$MYSQL_USER
  12. password=$MYSQL_PASSWORD
  13. mysql_to_hdfs_lzo() {
  14. sqoop import \
  15. -D mapred.job.queue.name=default \
  16. --connect $1 \
  17. --username $2 \
  18. --password $3 \
  19. --target-dir $4$7/$do_date \
  20. --delete-target-dir \
  21. --columns "$5" \
  22. --query "$6 and \$CONDITIONS" \
  23. --num-mappers 1 \
  24. --hive-drop-import-delims \
  25. --fields-terminated-by '\001' \
  26. --compress \
  27. --compression-codec lzo \
  28. --hive-import \
  29. --hive-database saga_dw \
  30. --hive-table $7 \
  31. --hive-overwrite \
  32. --hive-partition-key dt \
  33. --hive-partition-value $do_date \
  34. --null-string '\\N' \
  35. --null-non-string '\\N'
  36. }
  37. ods_energy_15_min(){
  38. 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, from_unixtime(unix_timestamp(data_time) + 28800) as data_time, data_value from energy_15_min where 1 = 1 " ods_energy_15_min
  39. }
  40. ods_energy_5_min(){
  41. 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
  42. }
  43. ods_energy_15_min_fjd(){
  44. 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
  45. }
  46. ods_energy_5_min_fjd(){
  47. 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
  48. }
  49. case $1 in
  50. "energy_15_min")
  51. ods_energy_15_min
  52. ods_energy_15_min_fjd
  53. ;;
  54. "energy_5_min")
  55. ods_energy_5_min
  56. ods_energy_5_min_fjd
  57. ;;
  58. "ods_energy_15_min")
  59. ods_energy_15_min
  60. ;;
  61. "ods_energy_5_min")
  62. ods_energy_5_min
  63. ;;
  64. "ods_energy_15_min_fjd")
  65. ods_energy_15_min_fjd
  66. ;;
  67. "ods_energy_5_min_fjd")
  68. ods_energy_5_min_fjd
  69. ;;
  70. esac