首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >logstash中的sql_last_value始终为351

logstash中的sql_last_value始终为351
EN

Stack Overflow用户
提问于 2020-01-17 15:10:13
回答 1查看 29关注 0票数 0

我正在使用logstash将索引插入到elasticsearch。我的conf看起来像这样:

代码语言:javascript
复制
input {
    jdbc {
        jdbc_connection_string => "jdbc:mysql://localhost:3306/sample"
        jdbc_user => "root"
        jdbc_password => ""
        jdbc_driver_library => "/usr/share/logstash/logstash-core/lib/jars/mysql-connector-java-5.1.48.jar"
        jdbc_driver_class => " com.mysql.jdbc.Driver"
        tracking_column => "time"
        use_column_value => true
        statement => "SELECT time, firstname, lastname, email FROM sample.sample where time > :sql_last_value;"
        schedule => " * * * * * *"
}
}
output {
    elasticsearch {
document_id=> "%{time}"
    document_type => "doc"
        "hosts" => ["myhost"]
        "index" => "sample" 
    }
stdout{
  codec => rubydebug
  }
}

当我使用logstash执行这个文件时,我得到了查询:

代码语言:javascript
复制
SELECT time, firstname, lastname, email FROM sample.sample where time > 351

但是在我正在跟踪的MySQL数据库中,time列是currenttimestamp,我认为sql_last_value包含了这个字段的值。我是否做了与sql_last_value相关的错误操作

EN

回答 1

Stack Overflow用户

发布于 2020-01-17 17:08:36

我做错了什么:如果tracking_column不是int类型,我们需要指定tracking_column_type。在我的例子中,tracking_column的类型是timestamp。因此,我需要添加以下内容:

代码语言:javascript
复制
tracking_column_type =>"timestamp"

这解决了我的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59782666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档