這篇本來不會存在的,後來覺得還是留個紀錄吧。主題關於如何按照 schedule把資料pull 進 Elasticsearch內並更新。
已經有底子的大大直接看這兩篇就完美解了,不需要看在下廢話。
好的在下開始廢話了。自當年大致上踩過分水嶺,從分析人漸漸變成資料人後,資料沒串成流我就感覺哪邊怪怪的。於是這本來明明就是件一次性工程,我只是要把一個archival data變成方便可查的工具,卻不禁「壞習慣」硬是把流 data flow也串起來,反正我不trigger就不算用囉。
調整的方式就是改動logstash\config 內的config檔案
不廢話直接上cofig
input {
jdbc {
jdbc_connection_string => “jdbc:sqlserver://localhost:1433;databaseName=SAMXIAODEMO;integratedSecurity=false;”
jdbc_driver_library => “”
jdbc_driver_class => “com.microsoft.sqlserver.jdbc.SQLServerDriver”
jdbc_user => “SQL account”
jdbc_password => “ SQL password”
schedule => “* * * * *”
statement => “SELECT * FROM DB.SCHEMA.TABLE WHERE yourdatecolumn > :sql_last_value”
tracking_column_type => “timestamp”
}
}
output {
elasticsearch {
hosts => [“localhost:9200″]
index => “your index name”
}
}
關鍵就在這邊
schedule => “* * * * *”
statement => “SELECT * FROM DB.SCHEMA.TABLE WHERE yourdatecolumn> :sql_last_value”
tracking_column_type => “timestamp”
執行cmd > bin\logstash.bat -f config\sqlserver.conf 之後,每分鐘自動pull 一次,logstash service不關閉的話,那就是滔滔江水,連綿不絕了。
啥? 某種 data streaming 啊…. 有人嫌太簡單?我還嫌有人時間太多了勒。
schedule 部分各位有興趣自己改,詳情參照ELK官方說明。打完收工。
上一篇
Originally published at http://datamansamxiao.wordpress.com on December 6, 2019.