【sqoop】同步脚本


一、首日全量同步

#! /bin/bash

APP=hospital_data_center

APP2=hospital_data_center_sh

if [ -n "$2" ] ;then
   do_date=$2
else 
   echo "请传入日期参数"
   exit
fi

import_data(){
sqoop import \
--connect jdbc:mysql://192.168.29.42:3306/$APP  \
--username zhyx \
--password zhyx \
--query "$2 where \$CONDITIONS" \
--target-dir /origin_data/$APP/db/$1/$do_date \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by '\t' \
--hive-drop-import-delims  \
--lines-terminated-by "\n"  \
--hive-import \
--hive-database $APP2 \
--hive-table $1 \
--null-string '\\N' \
--null-non-string '\\N'
}

import_v_user_info(){
  import_data v_user_info "select
                            id,
                            hospital_code,
                            primary_id,
                            patient_id,
                            admission_number,
                            card_no,
                            out_patient_no,
                            patient_name,
                            patient_sex,
                            birthday,
                            id_card_no,
                            phone,
                            age,
                            height,
                            weight,
                            patient_type,
                            in_state_code,
                            in_state,
                            create_time,
                            update_time
                        from v_user_info"
}

import_v_user_hospital(){
  import_data v_user_hospital "select
                            id,
                            hospital_code,
                            primary_id,
                            patient_id,
                            admission_number,
                            hospital_pipeline_no,
                            in_time,
                            out_time,
                            in_state_code,
                            in_state,
                            dept_code,
                            dept_name,
                            charge_doctor,
                            charge_doctor_num,
                            out_come,
                            remarks,
                            hospitalized_diagnosis,
                            hospitalized_diagnosis_id,
                            hospitalized_diagnosis_icd,
                            create_time,
                            update_time,
                            out_patient_number
                        from v_user_hospital"
}


import_v_user_record(){
  import_data v_user_record "select
                           id,
							hospital_code,
							primary_id,
							patient_id,
							admission_number,
							hospital_pipeline_no,
							primary_diagnosis_str,
							main_suit,
							now_medical_history,
							past_history,
							allergy_history,
							physical_examin,
							supp_examin,
							create_time,
							update_time
                        from v_user_record"
}


import_v_diagnosis_info(){
  import_data v_diagnosis_info "select
                           id,
							hospital_code,
							primary_id,
							patient_id,
							admission_number,
							hospital_pipeline_no,
							diagnosis_num,
							diagnosis_type,
							diagnosis_name,
							diagnosis_icd,
							diagnosis_code,
							diagnosis_time,
							create_time,
							update_time,
							cancel,
							is_main
                        from v_diagnosis_info"
}


import_v_advice_info(){
  import_data v_advice_info "select
                           id,
							hospital_code,
							primary_id,
							doctor_advice_id,
							patient_id,
							admission_number,
							hospital_pipeline_no,
							category_code,
							category,
							type_code,
							type,
							advice_name,
							advice_code,
							lis_advice_code,
							state_code,
							state,
							submit_advice_time,
							advice_auit_time,
							advice_execution_time,
							advice_stop_time,
							execution_user,
							execution_user_id,
							doctor_num,
							doctor_name,
							remarks,
							create_time,
							update_time,
							cancel
                        from v_advice_info"
}


import_v_drug_info(){
  import_data v_drug_info "select
                           id,
                           hospital_code,
                           primary_id,
                           doctor_advice_id,
                           patient_id,
                           admission_number,
                           hospital_pipeline_no,
                           drug_name,
                           groud_id,
                           gross,
                           gross_unit,
                           drug_code,
                           frequency,
                           dose,
                           dose_uint_code,
                           dose_uint,
                           drug_route_code,
                           drug_route,
                           spec,
                           is_antibiotic,
                           create_time,
                           update_time,
                           cancel
                        from v_drug_info"
}


import_v_operation_info(){
  import_data v_operation_info "select
                           id,
                            hospital_code,
                            primary_id,
                            patient_id,
                            admission_number,
                            hospital_pipeline_no,
                            operation_apply_num,
                            operation_code,
                            operation_name,
                            operation_level,
                            operation_cut_type,
                            main_doctor,
                            main_doctor_name,
                            operation_start_time,
                            operation_end_time,
                            operation_time,
                            operation_anesthesia_type_code,
                            operation_anesthesia_type,
                            operation_diagnose,
                            operation_type_code,
                            operation_type,
                            operation_diagnose_icd,
                            operation_diagnose_id,
                            source,
                            create_time,
                            update_time,
                            cancel
                        from v_operation_info"
}


import_v_treatment_info(){
  import_data v_treatment_info "select
                           id,
                           hospital_code,
                           primary_id,
                           patient_id,
                           admission_number,
                           hospital_pipeline_no,
                           doctor_advice_id,
                           treatment_name,
                           treatment_code,
                           remarks,
                           create_time,
                           update_time
                        from v_treatment_info"
}



import_v_vital_signs_info(){
  import_data v_vital_signs_info "select
                           id,
							hospital_code,
							primary_id,
							patient_id,
							series,
							admission_number,
							hospital_pipeline_no,
							patient_name,
							sign_time,
							sign_name,
							sign_code,
							sign_value,
							sign_value2,
							sign_unit,
							create_time,
							update_time
                        from v_vital_signs_info"
}


import_v_user_info_mz(){
  import_data v_user_info_mz "select
                           id,
                           hospital_code,
                           primary_id,
                           patient_id,
                           card_no,
                           out_patient_number,
                           out_patient_no,
                           patient_name,
                           patient_sex,
                           birthday,
                           id_card_no,
                           phone,
                           age,
                           height,
                           weight,
                           create_time,
                           update_time
                        from v_user_info_mz"
}


import_v_user_mz(){
  import_data v_user_mz "select
                          id,
                          hospital_code,
                          primary_id,
                          patient_id,
                          card_no,
                          out_patient_number,
                          out_patient_no,
                          out_patient_time,
                          dept_code,
                          dept_name,
                          charge_doctor,
                          charge_doctor_num,
                          create_time,
                          is_first_visit,
                          update_time
                        from v_user_mz"
}


import_v_user_record_mz(){
  import_data v_user_record_mz "select
                          id,
                          hospital_code,
                          primary_id,
                          patient_id,
                          card_no,
                          out_patient_number,
                          out_patient_no,
                          out_patient_time,
                          dept_code,
                          dept_name,
                          charge_doctor,
                          charge_doctor_num,
                          primary_diagnosis_str,
                          main_suit,
                          now_medical_history,
                          past_history,
                          allergy_history,
                          physical_examin,
                          supp_examin,
                          create_time,
                          update_time
                        from v_user_record_mz"
}


import_v_diagnosis_info_mz(){
  import_data v_diagnosis_info_mz "select
                          id,
						  hospital_code,
						  primary_id,
						  patient_id,
						  card_no,
						  out_patient_number,
						  out_patient_no,
						  diagnosis_num,
						  diagnosis_type,
						  diagnosis_name,
						  diagnosis_icd,
						  diagnosis_code,
						  diagnosis_time,
						  create_time,
						  update_time,
						  cancel,
						  is_main
                        from v_diagnosis_info_mz"
}


import_v_prescription_info_mz(){
  import_data v_prescription_info_mz "select
                          id,
                          hospital_code,
                          primary_id,
                          patient_id,
                          doctor_advice_id,
                          card_no,
                          out_patient_number,
                          out_patient_no,
                          weight,
                          height,
                          drug_name,
                          groud_id,
                          gross,
                          gross_unit,
                          drug_code,
                          frequency,
                          dose,
                          dose_uint_code,
                          dose_uint,
                          drug_route_code,
                          drug_route,
                          spec,
                          is_antibiotic,
                          preserve_time,
                          cancel,
                          create_time,
                          update_time
                        from v_prescription_info_mz"
}


import_v_inspect_report(){
  import_data v_inspect_report "select
                          id,
                          hospital_code,
                          primary_id,
                          patient_id,
                          admission_number,
                          hospital_pipeline_no,
                          inspect_name,
                          inspect_code,
                          inspect_time,
                          report_time,
                          report_id,
                          report_result,
                          report_content,
                          positive,
                          report_type,
                          report_type_name,
                          create_time,
                          update_time
                        from v_inspect_report"
}


import_v_examine_report(){
  import_data v_examine_report "select
                          id,
                          hospital_code,
                          primary_id,
                          patient_id,
                          admission_number,
                          hospital_pipeline_no,
                          examine_name,
                          examine_code,
                          examine_time,
                          source,
                          sample_num,
                          specimen_name,
                          in_menstrual_period,
                          report_time,
                          colle_time,
                          receive_time,
                          create_time,
                          update_time,
                          cancel,
                          his_examine_code,
                          report_id
                        from v_examine_report"
}


import_v_examine_details(){
  import_data v_examine_details "select
                          id,
                          hospital_code,
                          primary_id,
                          examine_code,
                          examine_subitems_name,
                          examine_subitems_code,
                          examine_subitems_value,
                          normal_value,
                          examine_subitems_uint,
                          abnormal_value,
                          crisisval_value,
                          create_time,
                          update_time,
                          his_examine_code,
                          report_id
                        from v_examine_details"
}


import_v_doctor_info(){
  import_data v_doctor_info "select
                          id,
                          hospital_code,
                          primary_id,
                          doctor_no,
                          doctor_name,
                          doctor_phone,
                          dept_code,
                          dept_name,
                          doctor_level,
                          doctor_sex,
                          create_time,
                          update_time
                        from v_doctor_info"
}


case $1 in
  "v_user_info")
     import_v_user_info
;;
  "v_user_hospital")
     import_v_user_hospital
;;
  "v_user_record")
     import_v_user_record
;;
  "v_diagnosis_info")
     import_v_diagnosis_info
;;
  "v_advice_info")
     import_v_advice_info
;;
  "v_drug_info")
     import_v_drug_info
;;
  "v_operation_info")
     import_v_operation_info
;;
  "v_treatment_info")
     import_v_treatment_info
;;
  "v_vital_signs_info")
     import_v_vital_signs_info
;;
  "v_user_info_mz")
     import_v_user_info_mz
;;
  "v_user_mz")
     import_v_user_mz
;;
  "v_user_record_mz")
     import_v_user_record_mz
;;
  "v_diagnosis_info_mz")
     import_v_diagnosis_info_mz
;;
  "v_prescription_info_mz")
     import_v_prescription_info_mz
;;
  "v_inspect_report")
     import_v_inspect_report
;;
  "v_examine_report")
     import_v_examine_report
;;
  "v_examine_details")
     import_v_examine_details
;;
  "v_doctor_info")
     import_v_doctor_info
;;

  "all")
   import_v_user_info
   import_v_user_hospital
   import_v_user_record
   import_v_diagnosis_info
   import_v_advice_info
   import_v_drug_info
   import_v_operation_info
   import_v_treatment_info
   import_v_vital_signs_info
   import_v_user_info_mz
   import_v_user_mz
   import_v_user_record_mz
   import_v_diagnosis_info_mz
   import_v_prescription_info_mz
   import_v_inspect_report
   import_v_examine_report
   import_v_examine_details
   import_v_doctor_info
;;
esac

相关