[Feature][Connector-V2] Support multi-table sink feature for HBase#7169
Conversation
|
Thanks @BruceWong96 for contribute this feature! Could you follow the guide to open github action on your fork repository? https://github.com/apache/seatunnel/pull/7169/checks?check_run_id=27312810188 |
OK |
|
@Hisoka-X |
Yes. Before we merge PR, we should make sure all test case passed. |
| sink { | ||
| Hbase { | ||
| zookeeper_quorum = "hbase_e2e:2181" | ||
| table = "seatunnel_test" |
There was a problem hiding this comment.
How does it support writing to multiple tables?
There was a problem hiding this comment.
Please add test cases to write to tables with different structures
There was a problem hiding this comment.
How does it support writing to multiple tables?
Maybe I have a problem with my understanding. Is it many-to-many that we're going to end up with ?
There was a problem hiding this comment.
You decide how to design this function.
e.g. multiple tables as input upstream:
source {
FakeSource {
tables_configs = [
{
schema {
table = "table-11111"
fields {
id = string
age = int
}
}
},
{
schema {
table = "table-2222"
fields {
f1 = boolean
f2 = boolean
f3 = tinyint
}
}
}
]
}
}
There was a problem hiding this comment.
You decide how to design this function.
e.g. multiple tables as input upstream:
source { FakeSource { tables_configs = [ { schema { table = "table-11111" fields { id = string age = int } } }, { schema { table = "table-2222" fields { f1 = boolean f2 = boolean f3 = tinyint } } } ] } }
env {
parallelism = 1
job.mode = "BATCH"
}
source {
FakeSource {
tables_configs = [
{
schema {
table = "table-11111"
fields {
id = string
age = int
}
}
},
{
schema {
table = "table-2222"
fields {
f1 = boolean
f2 = boolean
f3 = tinyint
}
}
}
]
}
}
sink {
Hbase {
zookeeper_quorum = "hadoop001:2181,hadoop002:2181,hadoop003:2181"
tables_configs = [
{
source_table_name = "table-11111"
table = "hbase_table_1"
rowkey_column = ["id"]
family_name {
id = "cf1"
age = "cf1"
}
},
{
source_table_name = "table-2222"
table = "hbase_table_2"
rowkey_column = ["f1"]
family_name {
f1 = "cf2"
f2 = "cf2"
f3 = "cf2"
}
}
]
}
}
Please check whether this configuration meets the requirements. If so, I will develop according to this configuration.
Thanks.
| sink { | ||
| Hbase { | ||
| zookeeper_quorum = "hbase_e2e:2181" | ||
| table = "seatunnel_test" |
There was a problem hiding this comment.
Please add test cases to write to tables with different structures
|
@BruceWong96 I found a duplicate PR, here #6969, This is the correct way to code, you can use it as a reference for learning @TaoZex @BruceWong96 Are you willing to collaborate with each other? |
OK , I'm going to learn about it. So you can close this PR. Thanks. |
I close that pr, you can use it as a reference to try to implement it. Feel free to contact me if you have any questions. |
Thanks a lot . I will commit the code at a later time. |
|
hi @BruceWong96 |
Yes, I am doing some local tests, sorry for the delay, I will update the code soon. Thanks. |
1c1273f to
945b883
Compare
8b7c393 to
75b3fc1
Compare
|
@hailin0 PTAL. |
|
@Hisoka-X PTAL. |
|
@hailin0 PTAL. |
Hisoka-X
left a comment
There was a problem hiding this comment.
LGTM if ci passes. Thanks @BruceWong96 !

Purpose of this pull request
[Feature][HBase] Support multi-table sink feature #5652
Does this PR introduce any user-facing change?
How was this patch tested?
new e2e test
Check list
New License Guide
release-note.