[ 
https://issues.apache.org/jira/browse/SQOOP-1096?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14638914#comment-14638914
 ] 

Filippo commented on SQOOP-1096:
--------------------------------

I have uploaded 1096.patch  to use select  statement on DB2 with "with ur" 
clause.
For example:
sqoop import  --driver com.ibm.db2.jcc.DB2Driver --connect 
jdbc:db2://host:port/database --username user --password  pwd --check-column 
date --incremental append --suffix "with ur" --use-alias "as a" --query "SELECT 
* from table where \$CONDITIONS " --m 1  --target-dir target_directory 
--fields-terminated-by '\t'
You can see new parameters:
* use-alias
* suffix

suffix: append parameter to the  end of statement (dinamically)
use-alias: for nested query, it append alias in the query like select 
max(incremental_field) from (statement)



> Sqoop generates bounding vals queries with synatx error, when the number of 
> mappers is greater than 1 and there is WITH UR option in the query for DB2
> ------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SQOOP-1096
>                 URL: https://issues.apache.org/jira/browse/SQOOP-1096
>             Project: Sqoop
>          Issue Type: Bug
>          Components: build, connectors/generic
>    Affects Versions: 1.4.2, 1.4.4
>            Reporter: Thomas Sebastian
>              Labels: sqoop
>         Attachments: 1096.patch
>
>
> To reproduce this error, execute the sqoop query connecting to DB2 with the 
> option WITH UR and number of mappers > 1 and a split by column:
> {code:title=Sample query|borderStyle=solid}
> sqoop import --connect jdbc:db2://<host>/hadoopguide --username <uname> 
> --password <password>  --query 'SELECT A_I,B_I,C_I,D_I FROM A where 
> $CONDITIONS WITH UR' --split-by A_I -m 8 --target-dir 
> /user/sample/test_with_ur;
> {code} 
> Then the sqoop log is printed like :
> {code:title=Sample query|borderStyle=solid}
> INFO db.DataDrivenDBInputFormat: BoundingValsQuery: SELECT MIN(A_I), MAX(A_I) 
> FROM (SELECT A_I,B_I,C_I,D_I FROM A where  (1 = 1)  WITH UR) AS t1
> ERROR tool.ImportTool: Encountered IOException running import job: 
> java.io.IOException: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL 
> Error: SQLCODE=-199, SQLSTATE=42601, SQLERRMC=WITH;AND OR HAVING GROUP 
> INTERSECT ORDER FETCH EXCEPT UNION ), DRIVER=
>         at 
> org.apache.sqoop.mapreduce.db.DataDrivenDBInputFormat.getSplits(DataDrivenDBInputFormat.java:167)
> {code} 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to