SQOOP从mysql导入数据到hive问题

本文介绍了在使用SQOOP从MySQL数据库向Hive导入数据时遇到的问题及解决办法,包括了-split-by参数的使用、-num-mappers参数的设置以及SQL查询条件的正确构建,特别是对于字符串类型的字段和where条件中的$CONDITIONS变量处理的细节。
摘要由CSDN通过智能技术生成

需要将mysql一张表的数据导入到hive表当中
初始的执行命令如下:

sqoop import --connect jdbc:mysql://10.1.x.x:3306/dbname?characterEncoding=utf-8
--username root 
--password 123456 
--table test
--target-dir /home/hdfs/data/test/insert_time=20180911 
--delete-target-dir 
--fields-terminated-by '|'

执行没有问题,将表中的所有数据导入到了hive。注意**- -delete-target-dir参数,如果这个目录是已经存在而没有配置这个delete参数,会包路径已存在的错误。现在以- -query**参数执行sql筛选数据:

sqoop import --connect jdbc:mysql://10.1.x.x:3306/dbname?characterEncoding=utf-8 
--username root 
--password 123456 
--query 'select * from test where Id='86461a32-37bf-42b9' ' 
--target-dir /home/hdfs/data/test/insert_time=20180911 
--delete-target-dir 
--fields-terminated-by '|'

执行出现问题,提示:

When importing query results in parallel, you must specify --split-by.

分析上面的命令,需要参数*

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值