Eric Lin created SQOOP-3473: ------------------------------- Summary: --autoreset-to-one-mapper does not work well with --query Key: SQOOP-3473 URL: https://issues.apache.org/jira/browse/SQOOP-3473 Project: Sqoop Issue Type: Bug Affects Versions: 1.4.7 Reporter: Eric Lin
In sqoop doc, it mentions that *--autoreset-to-one-mapper* Cannot be used with *--split-by <col>* option. However, when running Sqoop command with *--autoreset-to-one-mapper* and *--query*, it fails and says *--split-by* is missing. Example below: {noformat} sqoop import --connect jdbc:mysql://mysql-host.com/test --username username --password password --query "SELECT * FROM test_table WHERE 1=1 AND \$CONDITIONS" --delete-target-dir --target-di/tmp/test_table_data --autoreset-to-one-mapper Warning: /opt/cloudera/parcels/CDH-5.13.3-1.cdh5.13.3.p3573.3750/bin/../lib/sqoop/../accumulo does not exist! Accumulo imports will fail. Please set $ACCUMULO_HOME to the root of your Accumulo installation. 20/04/23 17:07:18 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6-cdh5.13.3 20/04/23 17:07:18 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead. When importing query results in parallel, you must specify --split-by. Try --help for usage instructions. {noformat} It fails here, and I think we should add extra checking to skip it if *--autoreset-to-one-mapper* is already passed. I tested in older version, but I can see code logic is the same in the latest version https://github.com/apache/sqoop/blob/release-1.4.7-rc0/src/java/org/apache/sqoop/tool/ImportTool.java#L1068-L1072 To workaround, simply add "-m 1" at the end to force with one mapper. -- This message was sent by Atlassian Jira (v8.3.4#803005)