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

ASF subversion and git services commented on NIFI-2620:
-------------------------------------------------------

Commit 0303805c014b54c095827a7b191e5efb136a4e2e in nifi's branch 
refs/heads/master from [~apsaltis]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=0303805 ]

NIFI-2620 Adding support for Binary Row Keys for both PutHBaseCell and 
PutHBaseJSON. This also involved making changes to PutFlowFile and PutColumn to 
carry around byte[] and not all strings. This closes #914.

Signed-off-by: Bryan Bende <[email protected]>


> Add ability to write Row Identifier as binary in hbase using the PutHbaseCell
> -----------------------------------------------------------------------------
>
>                 Key: NIFI-2620
>                 URL: https://issues.apache.org/jira/browse/NIFI-2620
>             Project: Apache NiFi
>          Issue Type: Improvement
>    Affects Versions: 1.0.0, 0.7.0, 0.6.1
>            Reporter: Andrew Psaltis
>            Assignee: Andrew Psaltis
>             Fix For: 1.0.0
>
>
> Today the PutHBaseCell processor makes the assumption that all row keys are 
> text. However, this does not work when the row key in the HBase table is 
> binary. 
> If the row key is specified in the binary string format, such as:
> \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 
> 00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 
> \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 
> 00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 
> \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 
> 00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 
> \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 
> 00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 
> \x00\x00\x00\x00\x00\x00\x00\x01\x01\x00\x 
> 00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 
> \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 
> 00\x00\x00\x00\x00\x00\x01\x00\x00\x01\x00 
> \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 
> 00\x00\x01\x00\x00\x01\x00\x00\x00\x00\x01 
> \x01\x01\x00\x01\x00\x01\x01\x01\x00\x00\x 
> 00\x00\x00\x00\x01\x01\x01\x01\x00\x00\x00 
> \x00\x00\x00\x01\x01\x00\x01\x00\x01\x00\x 
> 00\x01\x01\x01\x01\x00\x00\x01\x01\x01\x00 
> \x01\x00\x00
> Which is the textual representation that the HBase CLI would return, NiFi 
> calls getBytes on that string. Appropriately HBase will encode the '\' with 
> the hex code: x5C, resulting in an output string that looks like:
> x5Cx00\x5Cx00\ ...........
> To address this the proposed solution would be to:
> *  Add "toBytesBinary" method to HBaseClientService  similar to the ones 
> already added [1]. 
> * Update the PutFlowFile and PutColumn to pass around mostly byte[] and not 
> strings that they do today.
> For this JIRA only support for Text and Binary will be added for the RowKey
> [1] 
> https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-services/nifi-hbase_1_1_2-client-service-bundle/nifi-hbase_1_1_2-client-service/src/main/java/org/apache/nifi/hbase/HBase_1_1_2_ClientService.java#L427



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

Reply via email to