[powershell] load_process_layer_pim_impala.sh

Viewer

copydownloadembedprintName: load_process_layer_pim_impala.sh
  1. #!/bin/bash
  2. #set -x
  3. #whoami
  4. ##########################################################################################################
  5. # Name: load_inges_tables.sh
  6. # Desc: 
  7. # Sqoop utility script to import column details of RDBMS into DB2 Metadata tables
  8. # Example : Command line > sh load_process_layer_hive.sh hive_script_name hive_db src_table_name src_table_name appl_cd APPL_CMP_NM Batch_type_cd 
  9. # Example : Command line > sh load_process_layer_hive.sh hive_load_rdx_ing.hql ctmctid01_itsecurityp hdp_v_pru_rdx_ing SECREPRT RDX DLY
  10. # !! HISTORY !!
  11. # DATE       NAME            Description of changes
  12. # 02/21/17   Tamilselvan    Created as part of IT expense dashboard project
  13. ##########################################################################################################
  14.  
  15. function print_log
  16. {
  17.         echo -e `date +"%y/%m/%d %H:%M:%S"`'\t'"${1}"'\t'"${2}"
  18. }
  19.  
  20. function impala_invalidate
  21. {
  22.         hive_tbl_name=$1
  23.         #Making the tgt_table_name available in imapla
  24.         $IMPALA_CMD$IMPALA_SERVER$RUN_IMP_QUERY "$IMPALA_INVLDT$hive_db.$hive_tbl_name"  >> $job_log_file 2>&1
  25.         if [ $? = 0 ]
  26.         then
  27.         {    
  28.         print_log "INFO" "Table $hive_tbl_name is available in impala"
  29.         }
  30.         else
  31.         {
  32.         print_log "ERROR" "Table $hive_tbl_name load will not be available in impala"
  33.         }
  34.         fi
  35. }
  36.  
  37. local_pid=$$
  38. hive_script_name=$1
  39. hive_db=$2
  40. src_table_name=$3
  41. tgt_table_name=$4
  42. appl_cd=$5
  43. appl_cmp_nm=$6
  44. batch_type_cd=$7
  45. USER=pimdlkfap01
  46.  
  47. #tgt_table_name=hdp_$table_name
  48.  
  49. APP_HOME=/opt/pimdlkfap01/gbts/pgim
  50. script_path=$APP_HOME/scripts
  51. java_path=$APP_HOME/jars
  52. HQL_PATH=$APP_HOME/hql
  53. config_path=$APP_HOME/config
  54. WORK_PATH=$APP_HOME/work
  55. log_path=$APP_HOME/logs
  56.  
  57. metadata_update_jar=$java_path/MetadataUpdate.jar
  58. job_log_file=$log_path/job_log_${local_pid}.log
  59. edl_config_file=$config_path/edl_config.cfg
  60. appl_config_file=$config_path/application_config.cfg
  61. CLOUDERA_CONFIG_FILE=$config_path/hive_impala_config.cfg
  62.  
  63. #Loading Configuration Files
  64. . ${edl_config_file}
  65. . ${CLOUDERA_CONFIG_FILE}
  66. . ${appl_config_file}
  67.  
  68. #Creating the batch ID
  69. curr_batch_id=`/usr/java/latest/bin/java -Xms20m -Xms10000m -jar $metadata_update_jar $metadata_conn_java_prop $metadata_schema batch start $appl_cd $batch_type_cd INPR`
  70. if [ "${curr_batch_id}" == "Last Batch Still Running" ] 
  71. then
  72.         curr_batch_id=`/usr/java/latest/bin/java -Xms20m -Xms10000m -jar $metadata_update_jar $metadata_conn_java_prop $metadata_schema batch get $appl_cd $batch_type_cd INPR`
  73. fi
  74. print_log "INFO" "Current Batch ID:$curr_batch_id"
  75.  
  76. #Creating the Job ID
  77. job_nm="Load_PROCESS_Layer/${appl_cd}/${batch_type_cd}/$tgt_table_name"
  78.  
  79. Curr_job_id=`/usr/java/latest/bin/java -Xms20m -Xms10000m -jar $metadata_update_jar $metadata_conn_java_prop $metadata_schema job start $curr_batch_id $job_nm PROCESS INPR`  > $job_log_file
  80. print_log "INFO" "Job ID is successfully created for the Current Job: $job_nm and the Job ID: $Curr_job_id"
  81.  
  82. /usr/java/latest/bin/java -Xms20m -Xms10000m -jar $metadata_update_jar $metadata_conn_java_prop $metadata_schema batch update $curr_batch_id $job_nm
  83.  
  84. print_log "INFO" "Running $hive_script_name in hive to populate the data for $tgt_table_name"
  85. #Loading the ingestion tables
  86. $IMPALA_CMD$IMPALA_SERVER$RUN_FILE $HQL_PATH/$hive_script_name --var=hive_db=$hive_db --var=current_usr=$USER --var=batch_id=$curr_batch_id --var=src_table_name=$src_table_name --var=tgt_table_name=$tgt_table_name >> $job_log_file 2>&1
  87.  
  88. stat_cd=$?
  89. if [ $stat_cd -ne 0 ]
  90. then
  91.         status="FAIL"
  92.  
  93.         EMAIL_EVENT_TYPE_CD="PROCESS_LAYER_LOAD_ERROR"
  94.         EVENTMSG="Loading Hive Process table "$tgt_table_name" is Failed. Please check the logfile at ${job_log_file}."
  95.        
  96.         print_log "ERROR" "${EVENTMSG}"      
  97.         sh $script_path/edl_email_notifn.sh $appl_cd $batch_type_cd PROCESS_LAYER_LOAD $EMAIL_EVENT_TYPE_CD "${EVENTMSG}^^HQL File: ${hive_script_name}" $curr_batch_id >> $job_log_file 2>&1
  98.        
  99.         exit_cd=1
  100. else
  101.         status="SUCC"
  102.         print_log "INFO" "Hive Process table "$tgt_table_name" is successfully loaded."
  103.     impala_invalidate $tgt_table_name
  104.         exit_cd=0
  105. fi
  106. /usr/java/latest/bin/java -Xms20m -Xms10000m -jar $metadata_update_jar $metadata_conn_java_prop $metadata_schema job end $curr_batch_id $job_nm PROCESS $status
  107. exit $exit_cd
  108.  

Editor

You can edit this paste and save as new:


File Description
  • load_process_layer_pim_impala.sh
  • Paste Code
  • 27 Jan-2023
  • 4.14 Kb
You can Share it: