Hello @Shaoranlaos, I didn't manage to make it work with aggregate, on the other hand today, I managed to do it with jdbc_streaming like this:
input {
jdbc {
jdbc_connection_string => "myConnectionStringToDb1"
jdbc_user => "myDb1User"
jdbc_password => "myDb1UserPassword"
statement_ => "SELECT id, field1, field2 from TableDb1"
}
}
filter {
jdbc_streaming {
jdbc_connection_string => "myConnectionStringToDb2"
jdbc_user => "myDb2User"
jdbc_password => "myDb2UserPassword"
statement => "select field3, field4 from TableDb2 where id = :idparam"
parameters => { "idparam" => "id" }
target => "extra"
add_field => {
"field3" => "%{[extra][0][field3]}"
"field4" => "%{[extra][0][field4]}"
}
remove_field => ["extra"]
}
}
output {
elasticsearch{
index => "myIndex"
document_type => "myDocument"
document_id => "%{id}"
hosts => "localhost"
}
}
Thank you for your help.
Does anybody know why jdbc_streaming do not support the properties jdbc_password_filepath and statement_filepath??