请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

logstash-jdbc-input 插件使用自增长的id来同步oracle数据,保存到文件的数字有问题

logstash插件使用自增长得id同步数据  ,上一次执行到的 tracking_column 字段的值记录到文件,文件里初始值是一个数字,但是同步一次后变为了  --- !ruby/object:BigDecimal '0:0.6423E4' 这样子。


data.conf 文件是这样的:

input {

    jdbc {

        jdbc_connection_string => "jdbc:oracle:thin:@//192.168.1.90:1521/tcd"

        jdbc_user => "test01"

        jdbc_password => "test01"

        jdbc_driver_library => "/usr/local/es5/logstash/ojdbc5.jar"

        jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"

        statement_filepath => "data.sql"

        schedule => "3,6,9,12,15,18,21,22,25,28,31,34,37,40,43,46,49,52,55,58 * * * * *"

        sql_log_level => "debug"

        jdbc_default_timezone => "Asia/Shanghai"

        record_last_run => true

        use_column_value => true

        tracking_column => data_id

        last_run_metadata_path => "/usr/local/elastic/logstash/file/data/data_id_info"

    }

}

output {

    stdout {

        codec => json_lines

    }

    elasticsearch {

    hosts => "192.168.1.89:9200"

    index => "data_test"

    document_type => "data_test"

    document_id => "%{data_id}"

    }

}

求教下老师,这个解决方法


正在回答 回答被采纳积分+3

插入代码

1回答

老卫 2017-11-20 23:21:00

0:0.6423E4  这个是你的小数点太长了,被它转为了科学计数法法了吧??

0 回复 有任何疑惑可以回复我~
  • 提问者 慕田峪2064799 #1
    老师回复好快,大赞。这个是被转换为科学计算法了 我想用filter处理下 但不知道如何搞
    回复 有任何疑惑可以回复我~ 2017-11-20 23:23:31
  • 老卫 回复 提问者 慕田峪2064799 #2
    尝试转为字符串输出~
    回复 有任何疑惑可以回复我~ 2017-11-20 23:40:26
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信