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