본문 바로가기

728x90

Study/SpringBatch

(5)
스프링 배치 도메인 이해 - Job I. Job 기본 개념· 배치 계층 구조의 가장 상위에 있는 개념, 하나의 배치 작업을 의미한다.- "API 서버의 접속 로그 데이터를 통계 서버로 옮기는 배치", Job 자체를 의미· Job Configuration을 통해 생성되는 객체 단위, 배치 작업을 어떻게 구성하고 실행할 것인지 전체적으로 설정하고 명세해 놓은 객체· Job을 구성하기 위한 최상위 인터페이스, 스프링 배치의 기본 구현체 제공.· 여러 Step을 포함하고 있는 컨테이너로서 반드시 한개 이상의 Step으로 구성해야함. @ 컨테이너란?애플리케이션을 실행하는 데 필요한 모든 요소(코드, 라이브러리, 설정 파일 등)를 하나로 묶어 경량화된 실행 환경을 제공하는 기술 II. Job 기본 구현체 · SimpleJob(Step을 포함)- ..
Spring Batch 시작 - DB 스키마 생성(2) I. DB 스키마 생성, TABLE별 각 역활 정리. @ Job 관련 테이블BATCH_JOB_INSTANCE select * from BATCH_JOB_INSTANCE;- Job이 실행될 때 Jobinstance 정보가 저장됨, jom_name과 job_key를 키로 하여 하나의 데이터가 저장.- 동일한 job_name과 job_key로 중복 저장될 수 없다. BATCH_JOB_EXECUTION select * from BATCH_JOB_EXECUTION;- job의 실행정보가 저장되며 Job 생성, 시작/종료 시간, 실행상태, 메세지 등을 관리.BATCH_JOB_EXECUTION_PARAMS select * from BATCH_JOB_EXECUTION_PARAMS;- Job과 함께 실행되는 Job..
Spring Batch 시작 - DB 스키마 생성(1) I. 스프링 배치 메타 데이터· 스프링 배치의 실행 및 관리를 위한 목적으로 여러 도메인들(Job, Step, JobParameters...)의 정보들을 저장 업데이터, 조회할 수 있는 스키마 구성· 과거.. 현재의 실행에 대한 세세한 정보, 실행에 대한 성공과 실패 여부 등을 관리한다. - 배치 운용에 있어 리스크 발생시 빠른 대처 가능· DB 연동할 경우 필수적으로 메타 테이블이 생성되어야 함. II. 스키마 생성 설정· 수동 생성 -> 쿼리 복사 후 직접 실행· 자동 생성 -> spring.batch.jdbc.initialize-schema 설정 · ALWAYS- 스크립트 항상 실행- RDBMS 설정이 되어 있을 경우 내장 DB보다 우선적으로 실행 · EMBEDDED- 내장 DB일 때만 실행되며 스..
SpringBatch Hello Spring Batch 시작하기 I. 스프링 배치 초기 선언 어노테이션@SpringBootApplication@EnableBatchProcessing // 스프링 배치 초기 선언 어노테이션public class SpringBatchApplication { public static void main(String[] args) { SpringApplication.run(SpringBatchApplication.class, args); }} @EnableBatchProcessing 총 4개의 설정 클래스를 실행, 스프링 배치의 모든 초기화 및 실행 구성이 이뤄짐. 스프링 부트 배치의 자동 설정 클래스가 실행됨으로 빈으로 등록된 모든 Job을 검색해서 초기화와 동시에 Job을 수행하도록 구성. II. 스프링 배치 초기화..
Spring Batch 개요 I. 배치 핵심 패턴· Read - 데이터베이스, 파일, 큐에서 다량의 데이터를 조회한다. (추출)· Process - 특정 방법으로 데이터를 가공한다. (변형)· Write - 데이터를 수정된 양식으로 다시 저장한다. (적재) @ DB에서 사용하는 ETL 작업과 비슷E : Extract(추출)- 여러 출처(데이터베이스, API, 로그 파일 등)에서 데이터를 끌어오는 단계ex : MySQL, Oracle, CSV 파일, 외부 시스템 등에서 데이터 수집T : Transform(변환)- 데이터를 가공, 정체, 변환하는 단계ex : 불필요한 컬럼 제거, 날짜 형식 통일, 코드값 변환, 집계 처리 등L : Load(적재)- 가공한 데이터를 목적지(DB, 데이터 웨어하우스 등)에 저장ex : 정제된 데이터를 분석..

728x90