Sqoop 如何导出Hive指定分区数据到Mysql
--hcatalog-partition-keys dt \ #hive表的分区字段
--hcatalog-partition-values ${PARTITION} \ #分区的值
#!/bin/bash
# 获取配置文件内容
URL1=${URL1}
# 连接参数
#MYSQL_ADDR="pro-bd-dw.mysql.rds.aliyuncs.com"
MYSQL_ADDR=${URL1}
MYSQL_DB="xxxx"
MYSQL_TABLE="xxxx"
HIVE_DB="xxxx"
HIVE_TABLE="xxxx"
MYSQL_PORT=3306
URL="jdbc:mysql://${MYSQL_ADDR}:${MYSQL_PORT}/${MYSQL_DB}"
USERNAME="xxxxxx"
PASSWORD="xxxxxx"
PARTITION=$(date -d "1 days ago" +%Y-%m-%d)
# 源表|目标表
NUM=1
mysql ${MYSQL_DB} -h ${MYSQL_ADDR} -P ${MYSQL_PORT} -u${USERNAME} -p${PASSWORD} << EOF
truncate table ${MYSQL_TABLE};
EOF
sqoop export \
-Dsqoop.export.records.per.statement=5000 \
--connect $URL \
--username ${USERNAME} \
--password ${PASSWORD} \
--table ${MYSQL_TABLE} \
--hcatalog-database ${HIVE_DB} \
--hcatalog-table ${HIVE_TABLE} \
--columns exchange_date,goods_code,goods_name,sku_id,sku_name,product_id,product_name,cast_price,goods_count,cast_sum \
--hcatalog-partition-keys dt \ #hive表的分区字段
--hcatalog-partition-values ${PARTITION} \ #分区的值
-m ${NUM}
591

被折叠的 条评论
为什么被折叠?



