所以即时通讯在我的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_value
是true
(不是您建议的最后一个运行时值,否则use_column_value
将是false
)。因此,您的配置已经达到了您的期望。
关于elasticsearch - 从上次更新日期推送数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58114816/