我使用logstash從csv文件解析數據並將其推送到elasticsearch。我有一個帶有600k行的字典,它使用其中一個字段作爲鍵將其映射到一串值。我目前使用的翻譯插件,這樣來實現我需要什麼在logstash中優化字典轉換
filter {
translate {
dictionary_path => "somepath"
field => "myfield"
override => false
destination => "destinationField"
}
}
我得到了我的destinationField逗號分隔字符串,我讀使用
filter{
csv {
source => "destinationField"
columns => ["col1","col2","col3"]
separator => ","
}
}
加入這2塊的結果有所增加我的處理時間縮短了3倍。如果過去需要1分鐘處理並推送所有數據,則現在需要3分鐘才能完成任務。
這是預期的行爲(這是一個大字典)?或者有什麼辦法可以進一步優化這些代碼?
那麼,如果您在流水線中包含額外的處理步驟,則只能預期處理時間會增加,對嗎? – Val
真的!但是處理時間提高3倍似乎很多。很想知道是否有更優化的方法去實現這個 – Vignesh
只需一條線就可以使其達到10倍以上。最後,這一切都取決於如何實施這些過濾器。我並不太擔心'csv',但你可能想研究'translate'。 – Val