Visibility Labels:

PutHBaseRecord provides the ability to define a branch of the record as a map which contains an association between column qualifiers and the visibility label that they should have assigned to them.

Example Schema

{
    "type": "record",
    "name": "SampleRecord",
    "fields": [
        { "name": "name", "type": "string" },
        { "name": "address", "type": "string" },
        { "name": "dob", "type": "string" },
        { "name": "attendingPhysician", "type": "string" },
        { "name": "accountNumber", "type": "string" },
        { "name": "visibility_labels", "type": { "type" : "map", "values": "string" } }
    ]
}

Example Record

{
    "name": "John Smith",
    "address": "12345 Main Street",
    "dob": "1970-01-01",
    "attendingPhysician": "Dr. Jane Doe",
    "accountNumber": "1234-567-890-ABC",
    "visibility_labels": {
        "name": "OPEN",
        "address": "PII",
        "dob": "PII",
        "attendingPhysician": "PII&PHI",
        "accountNumber": "PII&BILLING"
    }
}

Results in HBase

Example is for row with ID patient-1 and column family patient

Row Value Visibility
patient-1:patient:name John Smith OPEN
patient-1:patient:address 12345 Main Street PII
patient-1:patient: 1970-01-01 PII
patient-1:patient:attendingPhysician Dr. Jane Doe PII&PHI
patient-1:patient:accountNumber 1234-567-890-ABC PII&BILLING

In addition to the branch for visibility labels, the same methods used for PutHBaseCell and PutHBaseJSON can be used. They are:

When the dynamic properties are defined on the processor, they will be the default value, but can be overridden by attributes set on the flowfile. The naming convention for both (property name and attribute name) is: