elasticsearch 从上次更新的日期推送数据,elasticsearch,logstash,elastic-stack,elasticsearch,Logstash,Elastic Stack" /> elasticsearch 从上次更新的日期推送数据,elasticsearch,logstash,elastic-stack,elasticsearch,Logstash,Elastic Stack" />

elasticsearch 从上次更新的日期推送数据

elasticsearch 从上次更新的日期推送数据,elasticsearch,logstash,elastic-stack,elasticsearch,Logstash,Elastic Stack,因此,我在jdbc日志存储输入中使用下面的查询 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" 或 这里,my:sql\u last值被视为配置文件的最

因此,我在jdbc日志存储输入中使用下面的查询

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"

这里,my:sql\u last值被视为配置文件的最后运行时。 例如:

"updated_on": "2019-09-26T08:11:00.000Z",
"@timestamp": "2019-09-26T08:17:52.974Z"
这里我的sql\u last\u值对应于@timestamp, 我想让它考虑UpDATEDY ON。< /P>

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

,所以这是:

它说的基本上是sql_last_value变量将存储/记住上次运行时更新的_on列的最后一个值,因为use_column_value为true,而不是您建议的最后一个运行时值,否则use_column_value将为false


因此,您的配置已经达到了预期效果。

我已经在使用前面提到的配置。对不起,我没有把它放在这个问题上。但还是一样。它总是需要执行时间@你怎么知道的?你看到正在运行的查询了吗?当我执行logstash-f myconffile.conf时,它会显示,[2019-09-26T11:51:22089][INFO][logstash.inputs.jdbc]0.087419s选择*from agedata WHERE updated_on>'2019-09-26T11:43:00.000'ORDER BY updated_关于提到的时间戳实际上是我最后一次运行时间的位置,我就是这样发现的。在sql_last_值的位置,提到了时间戳@valc:/Users//.logstash\u jdbc\u last\u run中您看到了什么?在查询运行后,最新更新的\u on值是什么?
"updated_on": "2019-09-26T08:11:00.000Z",
"@timestamp": "2019-09-26T08:17:52.974Z"
    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"