gpt4 book ai didi

elasticsearch - 使用 logstash 输入 jdbc 插件将从 Mysql 拉取到 Elasticsearch 的空值设置为默认值

转载 作者:行者123 更新时间:2023-11-29 02:56:06 24 4
gpt4 key购买 nike

我想用默认值获取它们的字段在 MYSQL 中可能是 NULL。这是我对 logstash 插件的配置。

input {
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:3306/elements"
jdbc_user => "user"
jdbc_password => "admin"
jdbc_validate_connection => true
jdbc_driver_library => "C:/work/Wildfly/wildfly-9.0.2.Final/modules/com/mysql/main/mysql-connector-java-5.1.36.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
statement_filepath => "query.sql"
use_column_value => true
tracking_column => id
#schedule => "*/3 * * * *"
clean_run => true

}
}

output {
elasticsearch {
index => "emptytest"
document_type => "history"
document_id => "%{id}"
hosts => "localhost"
}
}

我试图做一个过滤器来测试空值,但它没有检测到它们。

if [sourcecell_id] == "NULL" {

mutate {

}
}

我做的最远的事情是通过 ruby​​ 脚本删除该字段,但我不想删除我想用默认值替换它,例如 0。

这是 ruby 脚本:

   filter {
ruby {
code => "
hash = event.to_hash
hash.each do |k,v|
if v == nil
event.remove(k)
end
end
"
}

}

最佳答案

我发现解决方案是一个 ruby​​ 脚本。我希望它能帮助其他人。

filter {
ruby {
code => "
hash = event.to_hash
hash.each do |k,v|
if v == nil
event[k] = 0
end
end
"
}

}

关于elasticsearch - 使用 logstash 输入 jdbc 插件将从 Mysql 拉取到 Elasticsearch 的空值设置为默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39274420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com