LindormStreams通过推送的方式,将HBase增强版(Lindorm)表的数据变更推送到下游消息队列。
投递方式
HBase表数据变更后,LindormStreams会实时把数据变更消息主动推送到下游Kafka:

消息投递语义
顺序性 - 当前消息发送不保证有序,后续将支持Key级别保序,同一个主键数据的更新严格按照更新顺序发送。
重复性 - LindormStreams支持At Least once语义,有可能出现消息重复。
消息格式
LindormStreams消息目前只包含更新的内容,比如表有a、b、c三个字段,当用户只更新了c字段时消息中只会包含主键和c字段最新的值 (后续会支持获取更新后整行的数据以及更新前的值),详细消息内容:
{
"op" : <opType> // 操作类型: Put/DeleteFamily
"table" : <tableName> // 表名
"ts" : <defaultVersion> // 默认版本,列数据中如果没有ts健时取该值做为版本
"keyOnly":<keyOnly> // 是否只包含主键数据
"data" : [
{
"type" : <type> // 列数据类型
"name" : <name> // 列名
"ts" : <version> // 数据版本,如果没有该值,取dts的值做为版本
"value" : <value> // 值,如果没有该值,则表中值为null
},
{
"type" : <type> // 列数据类型
"name" : <name> // 列名
"ts" : <version> // 数据版本,如果没有该值,取dts的值做为版本
"value" : <value> // 值,如果没有该值,则表中值为null
}
]
}
消息内容配置:
参数名 | 类型 | 是否必选 | 示例值 | 描述 |
key_only | boolean | 否 | false | 是否只同步主键, 默认为false。 |
unique_key | boolean | 否 | false | 是否同一批次,相同主键只发送一次,默认为false。 |
即将上线功能
功能 | 说明 |
支持newImage/oldImage |
|
Key级别保序 | 增量导出的数据支持保证同一个key消息的输出是有序的。 |
数据保留时间、数据回放 | 支持设置增量数据保留时间,支持重置同步点位,从指定时间拉取数据。 |
UDF | 支持用户自定义UDF,用户可以根据自己的业务逻辑实现对数据进行简单的转换或过滤。 |
Streams Api | 直接使用Streams Api,直接拉取Streams消息,不需要对接下游中间消息或存储。 |
函数计算 | 支持对接函数计算。 |
在文档使用中是否遇到以下问题
更多建议
匿名提交