【发布时间】:2019-06-23 08:42:18
【问题描述】:
背景: 1) 我们正在构建一个 CDC 管道(使用 kafka & connect 框架)
2) 我们使用 debezium 来捕获 mysql Tx 日志
3) 我们正在使用 Elastic Search 连接器将文档添加到 ES 索引中
Debezium 生成的示例更改事件:
{
"source" : {
"before" : {
"Id" : 97,
"name" : "Northland",
"code" : "NTL",
"country_id" : 6,
"is_business_mapped" : 0
},
"after" : {
"Id" : 97,
"name" : "Northland",
"code" : "NTL",
"country_id" : 6,
"is_business_mapped" : 1
},
"source" : {
"version" : "0.7.5",
"name" : "__",
"server_id" : 252639387,
"ts_sec" : 1547805940,
"gtid" : null,
"file" : "mysql-bin-changelog.000570",
"pos" : 236,
"row" : 0,
"snapshot" : false,
"thread" : 614,
"db" : "bazaarify",
"table" : "state"
},
"op" : "u",
"ts_ms" : 1547805939683
}
我们想要什么:
我们只想在 kibana 中可视化 3 列:
1) before - 包含嵌套的 JSON 作为字符串
2) after - 包含嵌套的 JSON 作为字符串
3) source - 包含嵌套的 JSON 作为字符串
我可以在这里想到以下可能性:
a) 将嵌套的 JSON 转换为字符串 b) 在弹性搜索中合并列数据
我是弹性搜索的新手。有人可以指导我如何做到这一点。
我也尝试定义自定义映射,但它给了我例外。
【问题讨论】:
标签: elasticsearch kibana apache-kafka-connect