Project: SeaTunnel (App Definition and Development / Streaming & Messaging)
File: Kudu.md

Kudu sink connector 1.11.1/1.12.0/1.13.0/1.14.0/1.15.0 Spark<br/> Flink<br/> SeaTunnel Zeta<br/> | SeaTunnel Data Type | Kudu Data Type | ||--| | BOOLEAN | BOOL | | INT | INT8<br/>INT16<br/>INT32 | | BIGINT | INT64 | | DECIMAL | DECIMAL | | FLOAT | FLOAT | | DOUBLE | DOUBLE | | STRING | STRING | | TIMESTAMP | UNIXTIME_MICROS | | BYTES | BINARY | | Name | Type | Required | Default | Description | |-|--|-||| | kudu_masters | String | Yes | - | Kudu master address. Separated by ',',such as '192.168.88.110:7051'. | | table_name | String | Yes | - | The name of kudu table. | | clientworkercount | Int | No | 2 * Runtime.getRuntime().availableProcessors() | Kudu worker count. Default value is twice the current number of cpu cores. | | clientdefaultoperationtimeoutms | Long | No | 30000 | Kudu normal operation time out. | | clientdefaultadminoperationtimeout_ms | Long | No | 30000 | Kudu admin operation time out. | | enable_kerberos | Bool | No | false | Kerberos principal enable. | | kerberos_principal | String | No | - | Kerberos principal. Note that all zeta nodes require have this file. | | kerberos_keytab | String | No | - | Kerberos keytab. Note that all zeta nodes require have this file. | | kerberos_krb5conf | String | No | - | Kerberos krb5 conf. Note that all zeta nodes require have this file. | | save_mode | String | No | - | Storage mode, support `overwrite` and `append`. | | sessionflushmode | String | No | AUTOFLUSHSYNC | Kudu flush mode. Default AUTOFLUSHSYNC. | | batch_size | Int | No | 1024 | The flush max size (includes all append, upsert and delete records), over this number of records, will flush data. The default value is 100 | | bufferflushinterval | Int | No | 10000 | The flush interval mills, over this time, asynchronous threads will flush data. | | ignorenotfound | Bool | No | false | If true, ignore all not found rows. | | ignorenotduplicate | Bool | No | false | If true, ignore all dulicate

| | common-options | | No | - | Source plugin common parameters, please refer to for details. | The following example refers to a FakeSource named "kudu" cdc write kudu table "kudusinktable" ```hocon env { parallelism = 1 job.mode = "BATCH" } source { FakeSource { resulttablename = "kudu" schema = { fields { id = int val_bool = boolean val_int8 = tinyint val_int16 = smallint val_int32 = int val_int64 = bigint val_float = float val_double = double val_decimal = "decimal(16, 1)" val_string = string valunixtimemicros = timestamp } } rows = [ { kind = INSERT fields = [1, true, 1, 2, 3, 4, 4.3,5.3,6.3, "NEW", "2020-02-02T02:02:02"] }, { kind = INSERT fields = [2, true, 1, 2, 3, 4, 4.3,5.3,6.3, "NEW", "2020-02-02T02:02:02"] }, { kind = INSERT fields = [3, true, 1, 2, 3, 4, 4.3,5.3,6.3, "NEW", "2020-02-02T02:02:02"] }, { kind = UPDATE_BEFORE fields = [1, true, 1, 2, 3, 4, 4.3,5.3,6.3, "NEW", "2020-02-02T02:02:02"] }, { kind = UPDATE_AFTER fields = [1, true, 2, 2, 3, 4, 4.3,5.3,6.3, "NEW", "2020-02-02T02:02:02"] }, { kind = DELETE fields = [2, true, 1, 2, 3, 4, 4.3,5.3,6.3, "NEW", "2020-02-02T02:02:02"] } ] } } sink { kudu{ sourcetablename = "kudu" kudu_masters = "kudu-master-cdc:7051" tablename = "kudusink_table" enable_kerberos = true kerberos_principal = "xx@xx.COM" kerberos_keytab = "xx.keytab" } } ``` ```hocon env { parallelism = 1 job.mode = "BATCH" } source { FakeSource { tables_configs = [ { schema = { table = "kudusink1" fields { id = int val_bool = boolean val_int8 = tinyint val_int16 = smallint val_int32 = int val_int64 = bigint val_float = float val_double = double val_decimal = "decimal(16, 1)" val_string = string valunixtimemicros = timestamp } } rows = [ { kind = INSERT fields = [1, true, 1, 2, 3, 4, 4.3,5.3,6.3, "NEW", "2020-02-02T02:02:02"] } ] }, { schema = { table = "kudusink2" fields { id = int val_bool = boolean val_int8 = tinyint val_int16 = smallint val_int32 = int val_int64 = bigint val_float = float val_double = double val_decimal = "decimal(16, 1)" val_string = string valunixtimemicros = timestamp } } rows = [ { kind = INSERT fields = [1, true, 1, 2, 3, 4, 4.3,5.3,6.3, "NEW", "2020-02-02T02:02:02"] } ] } ] } } sink { kudu{ kudu_masters = "kudu-master-multiple:7051" } } ``` Add Kudu Sink Connector ) Change plugin name from `KuduSink` to `Kudu`