解析binLog data中的一个字段,将字段json格式解析成starrocks表数据

【详述】只获取binlog中的一个json字段,并将该json字段解析成starrocks表的字段
【背景】无
【业务影响】
【StarRocks版本】例如:1.19.5
【集群规模】单节点
【机器信息】
【附件】
CREATE TABLE testj (
id int(11) not NULL COMMENT “”,
name varchar(65533) not NULL COMMENT “”,
age int(11) NULL COMMENT “”
) ENGINE=OLAP
PRIMARY key (id,name)
COMMENT “OLAP”

DISTRIBUTED BY HASH(id) BUCKETS 2
PROPERTIES (
“replication_num” = “1”,
“in_memory” = “false”,
“storage_format” = “DEFAULT”
);

insert into test values(23,’{id:11,name:“aaaa”,age:11}’,2),(22,’{id:22,name:“aaaa”,age:11}’,2);

starrocks建表:
CREATE TABLE testj (
id int(11) not NULL COMMENT “”,
name varchar(65533) not NULL COMMENT “”,
age int(11) NULL COMMENT “”
) ENGINE=OLAP
PRIMARY key (id,name)
COMMENT “OLAP”

DISTRIBUTED BY HASH(id) BUCKETS 2
PROPERTIES (
“replication_num” = “1”,
“in_memory” = “false”,
“storage_format” = “DEFAULT”
);

routine load
create routine load test.testj on testj
columns (id, name,age)
PROPERTIES (
“format”=“json”,
“json_root”="$.data",
“desired_concurrent_number”=“1”,
“strip_outer_array” =“true”,
“max_error_number”=“20”
)
FROM KAFKA (
“kafka_broker_list”= “192.168.235.136:9092”,
“kafka_topic” = “z” ,
“kafka_partitions”=“0,1,2”,
“kafka_offsets”=“1,2,4”
);
image
只需要name字段,并且把name字段中的json解析到starrock表

尝试以下routine load配置,失败
create routine load test.testj on testj
columns (id, name,age)
PROPERTIES (
“format”=“json”,
“json_root”="$.data",
“jsonpaths” = “[”$.name.id","$name.name","$.name.age"]",
“desired_concurrent_number”=“1”,
“strip_outer_array” =“true”,
“max_error_number”=“20”
)
FROM KAFKA (
“kafka_broker_list”= “192.168.235.136:9092”,
“kafka_topic” = “z” ,
“property.group.id” = “starrocks-group”,
“property.client.id” = “starrocks-client”,
“kafka_partitions”=“0,1,2”,
“kafka_offsets”=“1,2,4”
);

可以参考下https://forum.mirrorship.cn/t/topic/851/3