因此,我在jdbc logstash输入中使用以下查询。
statement => "SELECT * from mydata WHERE updated_on > :sql_last_value ORDER BY updated_on"
或
statement => "SELECT * from mydata WHERE :sql_last_value > updated_on ORDER BY updated_on"
这里,我的: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_value
为true
(不是最后运行时间值为您建议否则use_column_value
为false
)。
因此您的配置已经在执行您的期望。