Sqoop2.0 mysql sql查询结果导入hdfs脚本

使用脚本原因

使用脚本的原因是为了适配hue操作,因为hue上sqoop的命令--query查询分隔符和其自身命令分隔冲突,无法使用空格区分是sqoop命令还是--query下命令。

 Sqoop支持将任意的查询结果集导入,不使用--table、--columns和--where,使用SQL语句--query参数执行自由查询导入,但是必须指定--target-dir目录,必须指定--split-by 分隔列,同时必须使用where且在其后加个$CONDITIONS,使Sqoop进程替代为一个唯一的条件表达式达到条件查询效果。

 脚本如下:

sqoop import --connect jdbc:mysql://ip/xxx?characterEncoding=UTF-8 --username user --password passowrd --query "SELECT ad.id,ad.budget_perday,acc.total_money FROM ad_group ad LEFT JOIN transfer_accounts acc ON acc.customer_id = ad.customer_info_id WHERE acc.total_money IS NOT NULL and \$CONDITIONS" --split-by id --fields-terminated-by '\t' --m 1 --target-dir /dw/ods/ods_ifengad_ids_advert_info/$1/budget
 
if [ $? -ne 0 ]
then
        echo "执行失败"
        exit 255
fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值