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

Gabriel Reid commented on PHOENIX-1973:
---------------------------------------

I just took a look through it and gave it a test run on a single-node cluster.

It appears to work as intended, with a much lighter shuffle, which is good. 
HFiles seem to be created correctly (i.e. the issue from before is gone), and 
things look to make sense in terms of the actual implementation.

There are a few small things that could use some touching up though:
* TargetTableRefFunctions#LOGICAN_NAMES_TO_JSON appears to be spelled 
incorrectly (should be LOGICAL_NAMES_TO_JSON), and I don’t understand why it’s 
a Function instead of just a static method (it matches other Functions in that 
class, but the general use of Functions in that way makes no sense)
* FormatToKeyValueMapper should probably be renamed to accurately describe what 
it does, as well as definitely updating the class-level javadoc to explain what 
it does (i.e. it’s not creating KeyValues any more)
* Pretty minor code format issues, such as lack of correct spacing in 
FormatToKeyValueMapper#findIndex and elsewhere, and the use of wildcard imports 
in FormatToKeyValueMapper
* Minor nit, but why is TrustedByteArrayOutputStream being used in 
FormatToKeyValueMapper#writeAggregatedRow?

> Improve CsvBulkLoadTool performance by moving keyvalue construction from map 
> phase to reduce phase
> --------------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-1973
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1973
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: Rajeshbabu Chintaguntla
>            Assignee: Sergey Soldatov
>             Fix For: 4.7.0
>
>         Attachments: PHOENIX-1973-1.patch, PHOENIX-1973-2.patch, 
> PHOENIX-1973-3.patch, PHOENIX-1973-4.patch, PHOENIX-1973-5.patch, 
> PHOENIX-1973-6.patch, PHOENIX-1973-7.patch
>
>
> It's similar to HBASE-8768. Only thing is we need to write custom mapper and 
> reducer in Phoenix. In Map phase we just need to get row key from primary key 
> columns and write the full text of a line as usual(to ensure sorting). In 
> reducer we need to get actual key values by running upsert query.
> It's basically reduces lot of map output to write to disk and data need to be 
> transferred through network.



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

Reply via email to