Moritz Manner created FLINK-20955:
-------------------------------------
Summary: Refactor HBase Source in accordance with FLIP-27
Key: FLINK-20955
URL:
https://issues.apache.org/jira/browse/FLINK-20955 Project: Flink
Issue Type: Improvement
Components: Connectors / HBase
Reporter: Moritz Manner
Fix For: 1.12.0
The HBase connector source implementation should be updated in accordance with [FLIP-27: Refactor Source Interface|
https://cwiki.apache.org/confluence/display/FLINK/FLIP-27%3A+Refactor+Source+Interface].
One source should map to one table in HBase. Users can specify which column[families] to watch; each change in one of the columns triggers a record with change type, table, column family, column, value, and timestamp.
h3. Idea
The new Flink HBase Source makes use of the internal [replication mechanism of HBase|
https://hbase.apache.org/book.html#_cluster_replication]. The Source is registering at the HBase cluster and will receive all WAL edits written in HBase. From those WAL edits the Source can create the DataStream.
h3. Split
We're still not 100% sure which information a Split should contain. We have the following possibilities:
# There is only one Split per Source and the Split contains all the necessary information to connect with HBase. The SourceReader which processes the Split will receive all WAL edits for all tables and filters the relevant edits.
# There are multiple Splits per Source, each Split representing one HBase Region to read from. This assumes that it is possible to only receive WAL edits from a specific HBase Region and not receive all WAL edits. This would be preferable as it allows parallel processing of multiple regions, but we still need to figure out how this is possible.
In both cases the Split will contain information about the HBase instance and table.
h3. Split Enumerator
Depending on which Split we'll decide on, the split enumerator will connect to HBase and get all relevant regions or just create one Split.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)