sqoop 抽mysql,sqoop mysql 抽到hive

#默认抽昨天的数据,如果传入日期,则抽取传入日期那天的数据 dt=`date -d "1 days ago" +"%Y%m%d"` if [ $# -eq 1  ];then dt=`date -d "$1" +"%Y%m%d"` fi echo $dt HIVE_DB_NAME=bdpa MYSQL_HOST="10.202.12.12" MYSQL_USER="ss" MYSQL_PASSWORD="password" MYSQL_DB="eee" MYSQL_URL="jdbc:mysql://${MYSQL_HOST}:3306/${MYSQL_DB} --username ${MYSQL_USER} --password ${MYSQL_PASSWORD}" function sqoop_mysql_to_hdfs(){         TABLE_NAME="$1"         PATITION_TIME="$2"         APPEND_FIELD="$3"         #hadoop fs -rm -r /user/hive/warehouse/${HIVE_DB_NAME}.db/${TABLE_NAME}/${PATITION_TIME}         #hadoop fs -rm -r /user/hdfs/${TABLE_NAME}                 sqoop import  -m 1 \                 --connect ${MYSQL_URL} \                 --query "select * from  ${TABLE_NAME} where    DATE_FORMAT(${APPEND_FIELD},'%Y%m%d') = '${PATITION_TIME}'  and \$CONDITIONS" \                 --target-dir "/user/hive/warehouse/${HIVE_DB_NAME}.db/${TABLE_NAME}/${PATITION_TIME}" \                 --fields-terminated-by '\002' \                 --hive-drop-import-delims \                 --null-string '\\N'  \                 --null-non-string '\\N' } function sqoop_yesterday_append(){ TABLE_NAME="$1" APPEND_FIELD="$2" echo "aa" hive -e "alter table  ${HIVE_DB_NAME}.${TABLE_NAME} drop partition(inc_day='${dt}');" sqoop_mysql_to_hdfs "${TABLE_NAME}" "${dt}" "${APPEND_FIELD}" hive -e "alter table ${HIVE_DB_NAME}.${TABLE_NAME} add partition(inc_day='${dt}')  location '/user/hive/warehouse/${HIVE_DB_NAME}.db/${TABLE_NAME}/${dt}';" } echo "begin sqoop invoice_path" sqoop_yesterday_append  invoice_path create_tm echo "begin sqoop invoice_result" sqoop_yesterday_append  invoice_result create_tm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值