위키득계정 ↗
기술

FlumeJava

FlumeJava기술
연구 발표
PLDI 2010
구현 형태
Java 라이브러리
자료 추상화
불변 병렬 컬렉션
실행 전략
지연 평가와 계획 최적화
FlumeJava는 여러 단계의 자료 병렬 처리 파이프라인을 작성하고 실행하기 위한 Java 라이브러리다. 불변 병렬 컬렉션과 지연 평가를 이용해 실행 계획을 만들고 최적화한 뒤 계산한다.

여러 계산 단계의 연결

실제 자료 처리는 하나의 MapReduce로 끝나지 않고 여러 단계를 연결하는 경우가 있다. FlumeJava는 이 파이프라인을 높은 수준의 컬렉션 연산으로 표현하도록 한다.

계산 대신 계획을 구성

컬렉션에 연산을 지정해도 즉시 모두 실행하지 않는다. 내부적으로 자료 흐름 그래프를 만들고, 최종 결과가 필요해질 때 전체 실행 계획을 최적화한다.

표현과 실행 방식의 분리

최적화된 연산은 MapReduce 같은 기반 실행 단위로 처리된다. 같은 컬렉션 추상화를 유지하면서 자료 표현과 실행 전략의 차이를 내부에서 다루는 구성이 핵심이다.

관련 문서

MapReduce / 병렬 컴퓨팅 / 데이터베이스 / Dremel 분석 시스템 / Java / 스레드 (컴퓨팅)