shanglifeecif_cron.sh 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #!/bin/bash
  2. #--------------------------------------------
  3. #Date: 2021/05/13
  4. #Author:koucx
  5. export LANG="en_US.UTF-8"
  6. source /etc/profile
  7. source ~/.bash_profile;
  8. source /BIreport/TDH-Client/init.sh
  9. ################################################
  10. shanglifeecif_sql="
  11. DECLARE
  12. bes dsj.batch_execu_status2%ROWTYPE
  13. curdate STRING
  14. BEGIN
  15. SELECT * INTO bes
  16. FROM dsj.batch_execu_status2 WHERE batch_number = to_char(sysdate,'yyyyMMdd');
  17. -- 确定IF的条件语句为v_price的值大于20。
  18. IF bes.batch_status = '00' THEN
  19. -- 执行跑批任务
  20. curdate:= to_char(sysdate,'yyyy-MM-dd HH:mm:ss')
  21. dbms_output.put_line(curdate || '跑批开始!');
  22. shanglifeecif.init_individual_main();
  23. shanglifeecif.same_customer();
  24. shanglifeecif.data_cleaning();
  25. shanglifeecif.init_insurancearrangement_main();
  26. shanglifeecif.insuranceclaimthread_main();
  27. shanglifeecif.init_indrelationship_main();
  28. shanglifeecif.partytimeline_main();
  29. shanglifeecif.age_sex_distribution();
  30. shanglifeecif.riskcode_statistics();
  31. shanglifeecif.bdnum_distribution();
  32. shanglifeecif.surrender_protection_temp();
  33. shanglifeecif.updateIndividualLable();
  34. shanglifeecif.effective_customer();
  35. --跑批完成后,向跑批状态表插入数据
  36. INSERT INTO dsj.batch_execu_status2
  37. VALUES (
  38. '客户统一视图' || to_char(sysdate,'yyyyMMdd'),
  39. 'ecif',
  40. '客户统一视图ETL任务',
  41. 'ecif_etl',
  42. to_char(sysdate,'yyyyMMddHHmmss'),
  43. curdate,
  44. to_char(sysdate,'yyyy-MM-dd HH:mm:ss'),
  45. '00',
  46. NULL,'ecif',to_char(sysdate,'yyyy-MM-dd HH:mm:ss'),NULL,NULL
  47. );
  48. END IF
  49. dbms_output.put_line(to_char(sysdate,'yyyy-MM-dd HH:mm:ss') || '跑批完成!');
  50. EXCEPTION
  51. -- 引用一个NO_DATA_FOUND的EXCEPTION。
  52. WHEN NO_DATA_FOUND THEN
  53. -- 输出变量v_comment的值。
  54. dbms_output.put_line('当天跑批未完成!')
  55. WHEN TOO_MANY_ROWS THEN
  56. dbms_output.put_line('当天出现多条跑批数据!')
  57. END;"
  58. beeline -u "jdbc:hive2://10.52.3.12:10000" --hiveconf hive.metastore.client.socket.timeout=86400000 --hiveconf hive.server2.idle.session.timeout=43200000 --hiveconf hive.server2.session.check.interval=900000 -e "${shanglifeecif_sql}"