[ 
https://issues.apache.org/jira/browse/HADOOP-5967?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12716186#action_12716186
 ] 

Aaron Kimball commented on HADOOP-5967:
---------------------------------------

An ORDER BY clause is included in DBInputFormat's SQL statements that it sends 
over JDBC. But each mapper (necessarily) runs in a separate transaction, as 
it's on a separate node.

> Sqoop should only use a single map task
> ---------------------------------------
>
>                 Key: HADOOP-5967
>                 URL: https://issues.apache.org/jira/browse/HADOOP-5967
>             Project: Hadoop Core
>          Issue Type: Improvement
>            Reporter: Aaron Kimball
>            Assignee: Aaron Kimball
>            Priority: Minor
>         Attachments: single-mapper.patch
>
>
> The current DBInputFormat implementation uses SELECT ... LIMIT ... OFFSET 
> statements to read from a database table. This actually results in several 
> queries all accessing the same table at the same time. Most database 
> implementations will actually use a full table scan for each such query, 
> starting at row 1 and scanning down until the OFFSET is reached before 
> emitting data to the client. The upshot of this is that we see O(n^2) 
> performance in the size of the table when using a large number of mappers, 
> when a single mapper would read through the table in O(n) time in the number 
> of rows.
> This patch sets the number of map tasks to 1 in the MapReduce job sqoop 
> launches.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to