[
https://issues.apache.org/jira/browse/NIFI-2620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15433242#comment-15433242
]
ASF GitHub Bot commented on NIFI-2620:
--------------------------------------
Github user asfgit closed the pull request at:
https://github.com/apache/nifi/pull/914
> 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)