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

Gabriel Reid commented on PHOENIX-2154:
---------------------------------------

I think that writing to HFiles with a single reducer basically eliminates any 
performance advantage that you can get via writing to HFiles, as it essentially 
turns the job into a serial process. [~tdsilva]'s performance numbers reflect 
this.

Note that the work that the reducer does when writing to HFiles isn't simply 
deduplication -- it also ensures ordering per region. At a high level it does 
the same thing as a compaction in a region server.

Seeing as having a decently-split table doesn't sound like it's too feasible, 
the idea of writing via the "normal" HBase API and then having a single reducer 
whose only task is to mark the index as active sounds like a great idea.

> Failure of one mapper should not affect other mappers in MR index build
> -----------------------------------------------------------------------
>
>                 Key: PHOENIX-2154
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2154
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>         Attachments: IndexTool.java
>
>
> Once a mapper in the MR index job succeeds, it should not need to be re-done 
> in the event of the failure of one of the other mappers. The initial 
> population of an index is based on a snapshot in time, so new rows getting 
> *after* the index build has started and/or failed do not impact it.
> Also, there's a 1:1 correspondence between index rows and table rows, so 
> there's really no need to dedup. However, the index rows will have a 
> different row key than the data table, so I'm not sure how the HFiles are 
> split. Will they potentially overlap and is this an issue?



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

Reply via email to