복붙노트

[SPRING] 스프링 배치의 그리드 크기

SPRING

스프링 배치의 그리드 크기

대량 파일에서 데이터를 읽고 처리하고 DB에 삽입하는 배치 작업이 있습니다.

나는 기본 파티션 핸들러를 사용하여 spring의 파티션 기능을 사용하고있다.

    <bean class="org.spr...TaskExecutorPartitionHandler">
          <property name="taskExecutor" ref="taskExecutor"/>
          <property name="step" ref="readFromFile" />
          <property name="gridSize" value="10" />
    </bean>

여기에 gridSize의 의미는 무엇입니까? taskExecutor의 동시성과 동일한 방식으로 구성했습니다.

해결법

  1. ==============================

    1.gridSize는 (보통) 동일한 수의 작업자가 처리 할 데이터 블록 수를 지정합니다. 맵 / 축소에서 매핑 된 데이터 블록의 수로 생각하십시오.

    gridSize는 (보통) 동일한 수의 작업자가 처리 할 데이터 블록 수를 지정합니다. 맵 / 축소에서 매핑 된 데이터 블록의 수로 생각하십시오.

    StepExecutionSplitter를 사용하여 데이터가 주어지면 PartitionHandler "partitions"/는 gridSize 파트로 데이터를 분할하고 각 파트를 독립적 인 worker => 쓰레드로 보냅니다.

    예를 들어 DB에 처리해야하는 행이 10 개 있습니다. gridSize를 5로 설정하고 직선적 인 파티션 논리를 사용하면 스레드 당 2 개의 행 => 5 개의 스레드가 각각 2 개의 행에 동시에 작업하게됩니다.

  2. ==============================

    2.API에 따라,

    API에 따라,

  3. ==============================

    3.그리드 크기는 하나의 분할 된 단계가 처리를 위해 들어 올릴 작업 집합입니다 (가방 자루로 가정). 모든 작업 (가방 자루)을 다 마친 후에는 다음 작업 세트 (가방 자루)로 돌아올 것입니다.

    그리드 크기는 하나의 분할 된 단계가 처리를 위해 들어 올릴 작업 집합입니다 (가방 자루로 가정). 모든 작업 (가방 자루)을 다 마친 후에는 다음 작업 세트 (가방 자루)로 돌아올 것입니다.

  4. from https://stackoverflow.com/questions/7759156/grid-size-in-spring-batch by cc-by-sa and MIT license