我尝试创建一个数组组的第一列emp_no,我有这样的结构在一个mysql表:
emp_no|salary|
------+------+
10001| 60117|
10001| 62102|
10001| 66074|
10001| 66596|
10001| 66961|
10001| 71046|
10001| 74333|
10001| 75286|
在logstash中,我尝试使用以下配置进行聚合筛选:
filter {
aggregate {
task_id => "%{emp_no}"
code => "
map['emp_no'] = event.get('emp_no')
map['salaries'] ||= []
map['salaries'] << {'salary' => event.get('salary')}
event.cancel()
"
push_previous_map_as_event => true
timeout => 3
}
}
但这样我就有了这个输出:
{
"emp_no": 10001,
"salaries": [
{
"salary": 60117
},
{
"salary": 62102
},
{
"salary": 66074
},
{
"salary": 66596
},
{
"salary": 66961
},
{
"salary": 71046
},
{
"salary": 74333
}
]
}
我需要这个输出,创建一个名为salaries的数组,其中只包含salaries值:
{
"emp_no": 10001,
"salaries": [
60117,
62102,
66074,
66596,
66961,
71046,
...,
]
}
1条答案
按热度按时间mlmc2os51#
将此更改为