ElasticSearch從入門到精通 (Logstash把mysql中的增量數據到ElasticSearch中)

1、前言

在上一篇文章中,我們使用Logstash把mysql中的數據全量導入到了ElasticSearch,並且有定時任務,每隔特定的時間然後又會重新導入一遍,如何ElasticSearch中的數據和mysql中的數據一致,則不會更改。雖然這樣也能實現增量數據的同步,但是效率極低,浪費資源。接下來,我們將實現如何增量數據的導入。

2、修改mysql.conf文件

 # 執行的sql 文件路徑+名稱
- #statement_filepath => "/home/dcs/soft/logstash-6.4.0/mysqltest/test.sql"
 +  record_last_run => true
 +  use_column_value => true
 +  tracking_column => "id"
 +  tracking_column_type => "numeric"
 +  statement =>"select id,name,dcs from persons where id > :sql_last_value"

-:代表刪除的行,+代表新增的行。
record_last_run => true
use_column_value => true 這兩行代表開啓增量導入
tracking_column:使用表中那一列作爲參照。
tracking_column_type:該列的類型,之前的填的是 int,啓動報錯,提示使用numeric
sql_last_value:代表目前保存的最新的id的值。

3、重新使用配置文件啓動

./logstash -f ../mysqltest/mysql.conf

在這裏插入圖片描述
插入一條數據。
在這裏插入圖片描述
注意where條件判斷,id值大小的變化。
此方案適合主鍵自動遞增。

發佈了134 篇原創文章 · 獲贊 29 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章