tanjialiang created FLINK-33164:
-----------------------------------

             Summary: HBase connector support ignore null value for partial 
update
                 Key: FLINK-33164
                 URL: https://issues.apache.org/jira/browse/FLINK-33164
             Project: Flink
          Issue Type: Improvement
          Components: Connectors / HBase
    Affects Versions: hbase-3.0.0
            Reporter: tanjialiang


Sometimes, user want to write data and ignore null value to achieve partial 
update. So i suggest adding an options: sink.ignore-null-value.

 
{code:java}
CREATE TABLE hTable (
 rowkey STRING,
 cf1 ROW<q1 STRING, q2 STRING>,
 PRIMARY KEY (rowkey) NOT ENFORCED
) WITH (
 'connector' = 'hbase-2.2',
 'table-name' = 'default:test',
 'zookeeper.quorum' = 'localhost:2181',
 'sink.ignore-null-value' = 'true' -- default is false, true is enabled
);

INSERT INTO hTable VALUES('1', ROW('10', 'hello, world'));
INSERT INTO hTable VALUES('1', ROW('30', CAST(NULL AS STRING))); -- null value 
to cf1.q2

-- when sink.ignore-null-value is false
// after first insert
{rowkey: "1", "cf1": {q1: "10", q2: "hello, world"}} 
// after second insert, cf1.q2 update to null
{rowkey: "1", "cf1": {q1: "30", q2: "null"}} 


-- when sink.ignore-null-value is true
// after first insert 
{rowkey: "1", "cf1": {q1: "10", q2: "hello, world"}}
// after second insert, cf1.q2 is still the old value 
{rowkey: "1", "cf1": {q1: "30", q2: "hello, world"}} {code}
 

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to