Unsubscribe On Fri, Feb 12, 2016 at 1:51 PM, Foster, Craig <[email protected]> wrote:
> I’m trying to do an ‘order by’ on my import query. I want the data to be > written to one partition in sequence. I can’t use an order by for some > reason. This is correct syntax in mysql: > "select * from test.sqooptest order by emails" > [works] > But when I try with Sqoop I get an error (below). Can someone clue me in > on how to do this? > > sqoop import --connect jdbc:mariadb://$HOSTNAME/test --query 'select * > from sqooptest order by emails where $CONDITIONS' -m 1 --target-dir import > --driver org.mariadb.jdbc.Driver --username sqooptest --password sqoop > > > 16/02/12 08:13:07 INFO manager.SqlManager: Executing SQL statement: select > * from sqooptest order by emails where (1 = 0) > > Feb 12, 2016 8:13:07 AM org.mariadb.jdbc.internal.mysql.MySQLProtocol > getResult > > WARNING: Could not execute query sql : 'select * from sqooptest order by > emails where (1 = 0) ': You have an error in your SQL syntax; check the > manual that corresponds to your MySQL server version for the right syntax > to use near 'where (1 = 0)' at line 1 > > 16/02/12 08:13:07 ERROR manager.SqlManager: Error executing statement: > java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; > check the manual that corresponds to your MySQL server version for the > right syntax to use near 'where (1 = 0)' at line 1 > > Query is: > > sql : 'select * from sqooptest order by emails where (1 = 0) ' > > java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; > check the manual that corresponds to your MySQL server version for the > right syntax to use near 'where (1 = 0)' at line 1 > > Query is: > > sql : 'select * from sqooptest order by emails where (1 = 0) ' > > at > org.mariadb.jdbc.internal.SQLExceptionMapper.get(SQLExceptionMapper.java:138) > > at > org.mariadb.jdbc.internal.SQLExceptionMapper.throwException(SQLExceptionMapper.java:106) > > at > org.mariadb.jdbc.MySQLStatement.executeQueryEpilog(MySQLStatement.java:252) > > at org.mariadb.jdbc.MySQLStatement.execute(MySQLStatement.java:278) > > at org.mariadb.jdbc.MySQLStatement.executeQuery(MySQLStatement.java:333) > > at > org.mariadb.jdbc.MySQLPreparedStatement.executeQuery(MySQLPreparedStatement.java:104) > > at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:758) > > at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:767) > > at > org.apache.sqoop.manager.SqlManager.getColumnInfoForRawQuery(SqlManager.java:270) > > at > org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:241) > > at > org.apache.sqoop.manager.SqlManager.getColumnTypesForQuery(SqlManager.java:234) > > at > org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:304) > > at org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1833) > > at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1645) > > at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:107) > > at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:478) > > at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605) > > at org.apache.sqoop.Sqoop.run(Sqoop.java:143) > > at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) > > at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179) > > at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218) > > at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227) > > at org.apache.sqoop.Sqoop.main(Sqoop.java:236) > > Caused by: org.mariadb.jdbc.internal.common.QueryException: You have an > error in your SQL syntax; check the manual that corresponds to your MySQL > server version for the right syntax to use near 'where (1 = 0)' at line 1 > > Query is: > > sql : 'select * from sqooptest order by emails where (1 = 0) ' > > at > org.mariadb.jdbc.internal.mysql.MySQLProtocol.getResult(MySQLProtocol.java:984) > > at > org.mariadb.jdbc.internal.mysql.MySQLProtocol.executeQuery(MySQLProtocol.java:1038) > > at > org.mariadb.jdbc.internal.mysql.MySQLProtocol.executeQuery(MySQLProtocol.java:1020) > > at org.mariadb.jdbc.MySQLStatement.execute(MySQLStatement.java:271) > > ... 19 more > > 16/02/12 08:13:07 ERROR tool.ImportTool: Encountered IOException running > import job: java.io.IOException: No columns to generate for ClassWriter > > at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1651) > > at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:107) > > at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:478) > > at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605) > > at org.apache.sqoop.Sqoop.run(Sqoop.java:143) > > at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) > > at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179) > > at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218) > > at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227) > > at org.apache.sqoop.Sqoop.main(Sqoop.java:236) > > >
