1. 程式人生 > 其它 >【同步指令碼】資料庫表字段不變

【同步指令碼】資料庫表字段不變

一、全量同步指令碼

#! /bin/bash

if [ -n "$1" ] ;then
   do_date=$1
else 
   echo "請傳入日期引數"
   exit
fi 

for all in v_user_info  v_user_hospital  v_user_record  v_diagnosis_info  v_advice_info  v_drug_info  v_operation_info  v_treatment_info  v_vital_signs_info  v_user_info_mz  v_user_mz  v_user_record_mz  v_diagnosis_info_mz  v_prescription_info_mz  v_inspect_report  v_examine_report  v_examine_details  v_doctor_info
do
sqoop import \
--connect jdbc:mysql://192.168.29.:3306/hospital_data_center  \
--username zh \
--password zh \
--query " select * from $all where \$CONDITIONS" \
--delete-target-dir \
--hive-import \
--hive-overwrite \
--hive-partition-key dt \
--hive-partition-value $do_date \
--hive-database hospital \
--hive-table ods_$all \
--target-dir /warehouse/hospital/ods/ods_$all/dt=$do_date/  \
--num-mappers 1 \
--fields-terminated-by '\t' \
--hive-drop-import-delims  \
--lines-terminated-by "\n"  \
--null-string '\\N' \
--null-non-string '\\N'
done

  

二、每天同步

#! /bin/bash

do_date=`date -d '-1 day' +%F`

sqoop import \
--connect jdbc:mysql://192.168.29.42:3306/hospital_data_center  \
--username zhyx \
--password zhyx \
--query " select * from v_doctor_info where  \$CONDITIONS" \
--delete-target-dir \
--hive-import \
--hive-overwrite \
--hive-partition-key dt \
--hive-partition-value $do_date \
--hive-database hospital \
--hive-table ods_v_doctor_info \
--target-dir /warehouse/hospital/ods/ods_v_doctor_info/dt=$do_date/  \
--num-mappers 1 \
--fields-terminated-by '\t' \
--hive-drop-import-delims  \
--lines-terminated-by "\n"  \
--null-string '\\N' \
--null-non-string '\\N'


for all in v_user_info v_user_hospital  v_user_record  v_diagnosis_info  v_advice_info  v_drug_info  v_operation_info  v_treatment_info  v_vital_signs_info  v_user_info_mz  v_user_mz  v_user_record_mz  v_diagnosis_info_mz  v_prescription_info_mz  v_inspect_report  v_examine_report  v_examine_details
do
sqoop import \
--connect jdbc:mysql://192.168.22:3306/hospital_da\
--username z \
--password zx \
--query " select * from $all where (date_format(create_time,'%Y-%m-%d')='$do_date' or date_format(update_time,'%Y-%m-%d')='$do_date') and  \$CONDITIONS" \
--delete-target-dir \
--hive-import \
--hive-overwrite \
--hive-partition-key dt \
--hive-partition-value $do_date \
--hive-database hospital \
--hive-table ods_$1 \
--target-dir /warehouse/hospital/ods/ods_$1/dt=$do_date/  \
--num-mappers 1 \
--fields-terminated-by '\t' \
--hive-drop-import-delims  \
--lines-terminated-by "\n"  \
--null-string '\\N' \
--null-non-string '\\N'
done