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)
>
>
>

Reply via email to