Kedro 파이프라인
Kedro 파이프라인
파이프라인(pipeline)은 여러 노드를 엮어 하나의 데이터 처리 흐름을 만든 것이에요. 노드들이 주고받는 데이터(입출력 이름)를 따라 의존 관계가 자동으로 계산되고, Kedro가 그에 맞게 실행 순서를 정해요. 직관적인 파이프라인이 데이터 과학 코드의 재현성과 유지보수성을 높여줘요.
파이프라인 정의
파이프라인은 pipeline() 함수에 노드들을 넣어 정의해요.
from kedro.pipeline import pipeline, node
my_pipeline = pipeline([
node(load_raw, inputs="raw", outputs="clean"),
node(train_model, inputs="clean", outputs="model"),
])
여기서 load_raw가 내보내는 clean을 train_model이 입력으로 받으므로, 두 노드 사이에 의존 관계가 생겨 Kedro가 load_raw → train_model 순서로 실행해요.
의존 관계와 실행 순서
파이프라인을 작성할 때 실행 순서를 일일이 정할 필요가 없어요. 노드들의 입출력 데이터 이름만 보고 Kedro가 의존 그래프를 만들어 자동으로 순서를 정해요. 따라서 노드를 추가·삭제해도 데이터 흐름만 맞으면 파이프라인이 알아서 재구성돼요.
노드가 실행되는 조건
모든 노드가 항상 실행되는 건 아니에요. 어떤 노드의 출력 데이터가 이미 최신이라면(신선도 체크), 그 이후 단계가 불필요한 재실행을 피할 수 있어요. Kedro의 이러한 동작 덕분에 데이터가 바뀌지 않은 부분은 다시 계산하지 않아 실행이 효율적이에요.
더 알아보기
- 파이프라인의 기본 단위: Nodes
- 파이프라인을 모듈로 분리: Modular Pipelines