需要将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.
分析上面的命令,需要参数*