java
-
병렬 프로세스 최적화_CompletableFutureJava 2025. 1. 11. 15:58
저희 회사는 SNS 데이터를 다룹니다. 데이터의 제목, 내용 길이가 매우 짧은 것부터 긴 것까지 다양한 형태의 데이터들을 처리하고 관리합니다. 재색인 프로세스를 Airflow에 적용하기 위한 검토 과정에서 문제점을 발견하여 최적화를 진행해 보았는데요..!나름 성공적인 결과를 낸 것 같아 최적화 과정을 공유해드리려고 합니다. 현재 프로세스는 Elasticsearch에서 데이터를 가져와 해당 문서를 분석하고다시 Elasticsearch로 재색인 하는 과정을 진행하고 있습니다. 그 중 시간이 가장 오래걸리는 텍스트 분석 과정에서 병렬처리를 하고 있는데요! 코드는 아래와 같습니다. 기존 병렬 프로세스 코드CompletableFuture> analysisDataFuture = CompletableFuture.s..
-
CompletableFuture 테스트Java 2024. 10. 26. 18:52
https://baektothefuture.tistory.com/13 Java - 병렬처리 (Future 인터페이스 활용)90만건 가까이 되는 데이터를 Elasticsearch에서 읽어 전처리 후 다시 Elasticsearch에 색인했었습니다.이 과정에서 약 3~4시간정도 소요가 되는데 이를 어떻게하면 빠르게 처리할 수 있을까 고민하다가baektothefuture.tistory.com 이전글에서는 Future 인터페이스에 다루어 보았는데요 이번에는 CompletableFuture에 대해 알아보도록 하겠습니다.Future vs CompletableFuture출처 : https://11st-tech.github.io/2024/01/04/completablefuture/FutureCompletableFutur..
-
Java - 병렬처리 (Future 인터페이스 활용)Java 2024. 10. 12. 15:32
90만건 가까이 되는 데이터를 Elasticsearch에서 읽어 전처리 후 다시 Elasticsearch에 색인했었습니다.이 과정에서 약 3~4시간정도 소요가 되는데 이를 어떻게하면 빠르게 처리할 수 있을까 고민하다가 여러개의 파일을 읽고 처리하는 과정에서 병렬처리를 활용하면 어떨까 생각이 들어 공부해보았습니다. Future 예시 출처 : https://pjh3749.tistory.com/280public class FutureMain { public static void main(String[] args) { ExecutorService executorService = Executors.newCachedThreadPool(); Future future = executor..