我们只需要填写8个参数,就能实现源系统数据到hive
参数一源系统ip
参数二源系统端口号
参数三源系统账号
参数四源系统密码
参数五源系统库名
参数六源系统表名
参数七hive库名
参数八hive表名
#!/bin/bash
HOSTNAME=$1
PORT=$2
USERNAME=$3
PASSWORD=$4
DBNAME=$5
ytable=$6
HDBNAME=$7
htable=$8
tmp_dir=/home/infa/bin/lin
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} -D${DBNAME} --default-character-set=utf8 -s -e "select *,'|' from ${ytable}" > ${tmp_dir}/tmp.txt
oldIFS=$IFS
IFS="|"
while read zidinyi
do
lie1=`echo ${zidinyi} | awk -F '\t' '{print $1}' | awk '$1=$1'`
lie2=`echo ${zidinyi} | awk -F '\t' '{print $2}' | awk '$1=$1'`
lie3=`echo ${zidinyi} | awk -F '\t' '{print $3}' | awk '$1=$1'`
hive -e"insert into table ${HDBNAME}.${htable} values('${lie1}','${lie2}','${lie3}');"
done < ${tmp_dir}/tmp.txt
IFS=$oldIFS