logstash를 사용하여 CSV 파일의 데이터를 구문 분석하고 elasticsearch로 푸시합니다. 600k 라인을 가진 사전을 가지고 있는데, 필드 중 하나를 값의 문자열에 매핑하는 키로 사용합니다. 내가 증가logstash에서 사전 번역 최적화
filter{
csv {
source => "destinationField"
columns => ["col1","col2","col3"]
separator => ","
}
}
이 2 개 블록을 추가하는 결과를 사용하여 읽기하는
내 destinationField의 쉼표로 구분 된 문자열을 얻을filter {
translate {
dictionary_path => "somepath"
field => "myfield"
override => false
destination => "destinationField"
}
}
나는 현재 내가 필요한 것을 달성하기 위해이 같은 플러그인을 번역 사용하고 내 처리 시간은 3 배. 이전에 모든 데이터를 처리하고 푸시하는 데 1 분이 걸렸다면 이제는 작업을 완료하는 데 3 분이 걸립니다.
예상되는 동작입니까 (큰 사전입니까?)? 아니면이 코드를 더욱 최적화 할 수있는 방법이 있습니까?
글쎄, 파이프 라인에 추가 처리 단계를 포함하면 처리 시간이 늘어날 것으로 예상 할 수 있습니다. – Val
사실! 그러나 처리 시간이 3 배로 늘어나는 것은 많은 것으로 보인다. 이 문제를 해결할 더 최적화 된 방법이 있는지 궁금합니다. – Vignesh
한 줄로 최대 10 배까지 확장 할 수 있습니다. 결국 그것은 필터가 어떻게 구현되는지에 달려 있습니다. 나는'csv'에 대해서 너무 걱정하지 않지만'translate '한 것을 조사하고 싶을지도 모른다. – Val