[ https://issues.apache.org/jira/browse/SQOOP-3473?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eric Lin updated SQOOP-3473: ---------------------------- Description: 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. was: 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. > --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 > Priority: Major > > 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)