Sqoop2.0 mysql sql查询结果导入hdfs脚本
2017-06-20 14:08
1011 查看
使用脚本原因
使用脚本的原因是为了适配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
相关文章推荐
- MySql导入sql脚本问题
- 实现MySQL导入sql脚本
- mysql导入sql脚本的source命令使用方法
- MySQL循环遍历执行查询SQL语句结果的方法
- 通过sqoop 实现hdfs与mysql的数据导入导出
- MySQL导出和导入SQL脚本
- Mysql导入大尺寸sql脚本文件
- Ubuntu下Mysql 如何导入.sql脚本
- mysql导入sql 脚本
- 使用sqoop将mysql数据导入到hdfs
- MySQL的一个一条SQL语句查询所有不同种类产品的一部分结果实例的SQL语句
- 实现MySQL导入sql脚本
- MySql导入导出sql脚本
- mysql导入sql脚本
- mysql执行导出导入sql脚本
- MySQL导出和导入SQL脚本
- MySQL导入和导出sql脚本-导出表中前n条数据
- MySQL导入SQL脚本
- MySQL导入的sql脚本文件过大解决方案