热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

使用脚本原因

使用脚本的原因是为了适配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


推荐阅读
author-avatar
你不知道的人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有