在这里使用新的logstash连接器:
https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html后续的logstash如何运行影响已经编入ElasticSearch索引的内容?它是在ES索引中创建新文档,还是更新与已被索引的行匹配的文档?我试图处理的用例是将带有时间戳的行索引到弹性搜索中,但是表不断更新--我只想索引新数据,或者如果我必须再次读取表,只为新行添加新文档。
有什么建议吗?或者更多关于logstash插件的文档?
发布于 2015-08-14 03:41:42
我要做的是在查询语句中包含插件上一次运行的时间戳(即sql_last_start),因此它将只加载新更新的记录。
例如,您的jdbc输入插件如下所示:
input {
jdbc {
jdbc_driver_library => "mysql-connector-java-5.1.36-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://localhost:3306/mydb"
jdbc_user => "mysql"
schedule => "* * * * *"
statement => "SELECT * FROM mytable WHERE timestamp > :sql_last_start"
}
}确保使用包含上一次更新日期的字段的名称更改timestamp,用表的真实名称更改mytable。
https://stackoverflow.com/questions/31995648
复制相似问题