我試圖通過第一列 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
}
]
}
我需要這個輸出,創建一個名為薪水的陣列,其中只包含薪水值:
{
"emp_no": 10001,
"salaries": [
60117,
62102,
66074,
66596,
66961,
71046,
...,
]
}
uj5u.com熱心網友回復:
map['salaries'] << {'salary' => event.get('salary')}
將其更改為
map['salaries'] << event.get('salary')
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/444277.html
