[英]Shift JOLT transformation - facing problem with below transformation
我试图将下面的输入json转换为展平必要的列名称及其值,同时保留所有元数据。
以下是我为CDC用例提供的输入json 。
{
"type": "update",
"timestamp": 1558346256000,
"binlog_filename": "mysql-bin-changelog.000889",
"binlog_position": 635,
"database": "books",
"table_name": "publishers",
"table_id": 111,
"columns": [
{
"id": 1,
"name": "id",
"column_type": 4,
"last_value": 2,
"value": 2
},
{
"id": 2,
"name": "name",
"column_type": 12,
"last_value": "Suresh",
"value": "Suresh123"
},
{
"id": 3,
"name": "email",
"column_type": 12,
"last_value": "Suresh@yahoo.com",
"value": "Suresh@yahoo.com"
}
]
}
以下是预期的输出json
[
{
"type": "update",
"timestamp": 1558346256000,
"binlog_filename": "mysql-bin-changelog.000889",
"binlog_position": 635,
"database": "books",
"table_name": "publishers",
"table_id": 111,
"columns": {
"id": "2",
"name": "Suresh123",
"email": "Suresh@yahoo.com"
}
}
]
我尝试了以下规范,可以从中检索column对象,但无法检索其余的元数据。
[
{
"operation": "shift",
"spec": {
"columns": {
"*": {
"@(value)": "[#1].@(1,name)"
}
}
}
}
]
任何线索将不胜感激。
我得到了上述转换的JOLT规范。 我将其发布在这里,以防万一有人偶然发现这样的东西。
[
{
"operation": "shift",
"spec": {
"columns": {
"*": {
"@(value)": "columns.@(1,name)"
}
},
"*": "&"
}
}
]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.