所以即时通讯在我的jdbc logstash输入中使用以下查询。

statement => "SELECT * from mydata WHERE updated_on > :sql_last_value  ORDER BY updated_on"
use_column_value =>true
tracking_column =>updated_on
tracking_column_type => "@timestamp"

要么
statement => "SELECT * from mydata WHERE  :sql_last_value > updated_on ORDER BY updated_on"
use_column_value =>true
tracking_column =>updated_on
tracking_column_type => "@timestamp"

在这里,我的:sql_last值被视为配置文件的最后运行时间。
例:
"updated_on": "2019-09-26T08:11:00.000Z",
"@timestamp": "2019-09-26T08:17:52.974Z"

这里我的sql_last_value对应于@timestamp,
我希望它改用updated_on。

我如何更改它以考虑上次更新日期而不是执行时间?

最佳答案

所以这是your current configuration:

    statement => "SELECT * from agedata WHERE updated_on > :sql_last_value ORDER BY updated_on"
    use_column_value => true
    tracking_column => updated_on
    tracking_column_type => "timestamp"

它的基本含义是sql_last_value变量将存储/记住上次运行时updated_on列的最后一个值,因为use_column_valuetrue(不是您建议的最后一个运行时值,否则use_column_value将是false)。

因此,您的配置已经达到了您的期望。

关于elasticsearch - 从上次更新日期推送数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58114816/

10-12 23:50