在 Mapping 里面,将 dynamic 参数设置成 strict 可以拒绝索引包含未知字段的文档。 此条 Tips 由 medcl 贡献。

logstash input jdbc指定增量导入Id不生成指定列文件

Logstash | 作者 a1043244426 | 发布于2017年08月12日 | 阅读数:3879

使用logstash增量拉去数据指定ID为增量记录列,可以正常拉去到数据,代码如下:

input {
jdbc{
jdbc_driver_library => "/data/ojdbc7.jar"
jdbc_connection_string => "jdbc:oracle:thin:@//127.0.0.1:1521/bims"
jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
jdbc_page_size => "50000"
jdbc_user => "*****"
jdbc_password => "******"
use_column_value => true
tracking_column => "id"
last_run_metadata_path => "/data/.logstash_jdbc_last_run_trace6"
statement => "select collect_time , db_time , hop , rtt , ip , location , decode(monitor_point_id,5001000201,5000000201,5001000101,5000000101,5001000301,5000000301,3101000301
,3100000301,3101000201,3100000201,3101000101,3100000101,monitor_point_id) as monitor_point_id ,(monitor_dest_id-1000000) as monitor_dest_id , view_trace_id
from t_dom_trace td where td.monitor_point_id not in (1310000301,1310000101,1310000201) and td.id > :sql_last_value
order by td.id "
schedule => "* * * * *"
type => "trace"
}
}
 
 
但是不生成增量记录文件/data/.logstash_jdbc_last_run_trace6,每次导入时:sql_last_value为0,求帮助
2.png
已邀请:

a1043244426

赞同来自:

logstah增量如果不限制的话是通过查询结束来记录增量大小的,比如查询5W条数据,会将五万条数据都查询出来后添加成功才记录添加ID,所以要实现增量添加需要将较大的数据分割开来使用分页查询一次查询固定的条数如5000条然后记录下ID再次增量获取与记录。但是如果程序停止记录的ID将以5000条数为单位记录的无法实施停止后记录上一条这个问题没有解决,求帮助。

要回复问题请先登录注册