You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sqoop.apache.org by Sowmya Ramesh <sr...@hortonworks.com> on 2016/01/27 23:11:20 UTC
Review Request 42874: Cannot import table from Oracle with column with
spaces in name
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/42874/
-----------------------------------------------------------
Review request for Sqoop.
Bugs: SQOOP-2737
https://issues.apache.org/jira/browse/SQOOP-2737
Repository: sqoop-trunk
Description
-------
When importing database containing table(s) with spaces in column name(s) following error is displayed:
When importing database containing table(s) with spaces in column name(s) following error is displayed:
Error: java.io.IOException: SQLException in nextKeyValue
at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:277)
at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:553)
at org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80)
at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:91)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
Caused by: java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not found where expected
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:886)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1175)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1296)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3613)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3657)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1495)
at org.apache.sqoop.mapreduce.db.DBRecordReader.executeQuery(DBRecordReader.java:111)
at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:235)
... 11 more
As a enterprise user I would expect that I can import tables with spaces in a column name with no issues.
Diffs
-----
src/java/org/apache/sqoop/manager/OracleManager.java d088265
src/java/org/apache/sqoop/manager/oracle/OraOopConnManager.java 9d74625
src/java/org/apache/sqoop/manager/oracle/OraOopOracleQueries.java 82e4266
src/java/org/apache/sqoop/manager/oracle/OraOopOutputFormatBase.java 8f7016a
src/java/org/apache/sqoop/manager/oracle/OracleUtils.java PRE-CREATION
src/java/org/apache/sqoop/mapreduce/db/OracleDBRecordReader.java 9058a55
Diff: https://reviews.apache.org/r/42874/diff/
Testing
-------
Manual testing
Thanks,
Sowmya Ramesh
Re: Review Request 42874: Cannot import table from Oracle with column
with spaces in name
Posted by Venkat Ranganathan <n....@live.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/42874/#review119752
-----------------------------------------------------------
Will commit after making sure tests pass
- Venkat Ranganathan
On Feb. 18, 2016, 10:14 a.m., Sowmya Ramesh wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/42874/
> -----------------------------------------------------------
>
> (Updated Feb. 18, 2016, 10:14 a.m.)
>
>
> Review request for Sqoop.
>
>
> Bugs: SQOOP-2737
> https://issues.apache.org/jira/browse/SQOOP-2737
>
>
> Repository: sqoop-trunk
>
>
> Description
> -------
>
> When importing database containing table(s) with spaces in column name(s) following error is displayed:
>
> When importing database containing table(s) with spaces in column name(s) following error is displayed:
>
> Error: java.io.IOException: SQLException in nextKeyValue
> at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:277)
> at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:553)
> at org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80)
> at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:91)
> at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
> at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784)
> at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
> at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:422)
> at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)
> at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
> Caused by: java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not found where expected
>
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
> at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)
> at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)
> at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
> at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
> at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
> at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:886)
> at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1175)
> at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1296)
> at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3613)
> at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3657)
> at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1495)
> at org.apache.sqoop.mapreduce.db.DBRecordReader.executeQuery(DBRecordReader.java:111)
> at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:235)
> ... 11 more
>
>
> As a enterprise user I would expect that I can import tables with spaces in a column name with no issues.
>
>
> Diffs
> -----
>
> src/java/org/apache/sqoop/manager/OracleManager.java d088265
> src/java/org/apache/sqoop/manager/oracle/OraOopConnManager.java 9d74625
> src/java/org/apache/sqoop/manager/oracle/OraOopOracleQueries.java 82e4266
> src/java/org/apache/sqoop/manager/oracle/OraOopOutputFormatBase.java 8f7016a
> src/java/org/apache/sqoop/manager/oracle/OracleUtils.java PRE-CREATION
> src/java/org/apache/sqoop/mapreduce/db/OracleDBRecordReader.java 9058a55
>
> Diff: https://reviews.apache.org/r/42874/diff/
>
>
> Testing
> -------
>
> Manual testing
>
>
> Thanks,
>
> Sowmya Ramesh
>
>
Re: Review Request 42874: Cannot import table from Oracle with column
with spaces in name
Posted by Venkat Ranganathan <n....@live.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/42874/#review119751
-----------------------------------------------------------
Ship it!
Ship It!
- Venkat Ranganathan
On Feb. 18, 2016, 10:14 a.m., Sowmya Ramesh wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/42874/
> -----------------------------------------------------------
>
> (Updated Feb. 18, 2016, 10:14 a.m.)
>
>
> Review request for Sqoop.
>
>
> Bugs: SQOOP-2737
> https://issues.apache.org/jira/browse/SQOOP-2737
>
>
> Repository: sqoop-trunk
>
>
> Description
> -------
>
> When importing database containing table(s) with spaces in column name(s) following error is displayed:
>
> When importing database containing table(s) with spaces in column name(s) following error is displayed:
>
> Error: java.io.IOException: SQLException in nextKeyValue
> at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:277)
> at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:553)
> at org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80)
> at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:91)
> at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
> at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784)
> at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
> at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:422)
> at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)
> at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
> Caused by: java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not found where expected
>
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
> at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)
> at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)
> at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
> at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
> at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
> at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:886)
> at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1175)
> at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1296)
> at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3613)
> at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3657)
> at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1495)
> at org.apache.sqoop.mapreduce.db.DBRecordReader.executeQuery(DBRecordReader.java:111)
> at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:235)
> ... 11 more
>
>
> As a enterprise user I would expect that I can import tables with spaces in a column name with no issues.
>
>
> Diffs
> -----
>
> src/java/org/apache/sqoop/manager/OracleManager.java d088265
> src/java/org/apache/sqoop/manager/oracle/OraOopConnManager.java 9d74625
> src/java/org/apache/sqoop/manager/oracle/OraOopOracleQueries.java 82e4266
> src/java/org/apache/sqoop/manager/oracle/OraOopOutputFormatBase.java 8f7016a
> src/java/org/apache/sqoop/manager/oracle/OracleUtils.java PRE-CREATION
> src/java/org/apache/sqoop/mapreduce/db/OracleDBRecordReader.java 9058a55
>
> Diff: https://reviews.apache.org/r/42874/diff/
>
>
> Testing
> -------
>
> Manual testing
>
>
> Thanks,
>
> Sowmya Ramesh
>
>
Re: Review Request 42874: Cannot import table from Oracle with column
with spaces in name
Posted by Sowmya Ramesh <sr...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/42874/
-----------------------------------------------------------
(Updated Feb. 18, 2016, 6:14 p.m.)
Review request for Sqoop.
Changes
-------
Handle case where len(<SCHEMA.TABLENAME>) > 30 to avoid "ORA-00972: identifier is too long" error.
Added logic to handle escaping of tablename for cases where SCHEMA.TABLENAME is passed. escapeIdentifier utility method will split on "." and quote each identifier.
Bugs: SQOOP-2737
https://issues.apache.org/jira/browse/SQOOP-2737
Repository: sqoop-trunk
Description
-------
When importing database containing table(s) with spaces in column name(s) following error is displayed:
When importing database containing table(s) with spaces in column name(s) following error is displayed:
Error: java.io.IOException: SQLException in nextKeyValue
at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:277)
at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:553)
at org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80)
at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:91)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
Caused by: java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not found where expected
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:886)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1175)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1296)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3613)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3657)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1495)
at org.apache.sqoop.mapreduce.db.DBRecordReader.executeQuery(DBRecordReader.java:111)
at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:235)
... 11 more
As a enterprise user I would expect that I can import tables with spaces in a column name with no issues.
Diffs (updated)
-----
src/java/org/apache/sqoop/manager/OracleManager.java d088265
src/java/org/apache/sqoop/manager/oracle/OraOopConnManager.java 9d74625
src/java/org/apache/sqoop/manager/oracle/OraOopOracleQueries.java 82e4266
src/java/org/apache/sqoop/manager/oracle/OraOopOutputFormatBase.java 8f7016a
src/java/org/apache/sqoop/manager/oracle/OracleUtils.java PRE-CREATION
src/java/org/apache/sqoop/mapreduce/db/OracleDBRecordReader.java 9058a55
Diff: https://reviews.apache.org/r/42874/diff/
Testing
-------
Manual testing
Thanks,
Sowmya Ramesh