머신러닝 (ML) 3

[Kubeflow] Pipeline 작성 가이드

Kubeflow는 머신러닝 워크플로우를 자동화하고 확장할 수 있도록 도와주는 오픈소스 플랫폼입니다. 본 글에서는 Kubeflow Pipeline을 작성하는 기본 가이드를 예시 코드와 함께 제공하며, pipeline 작성 시 제가 경험했던 문제와 이를 해결한 방법도 함께 다루고자 합니다. * 본 글은 kubeflow 1.8 버전을 기준으로 작성되었습니다. 1. 개요Kubeflow Pipeline은 머신러닝 워크플로우를 구성하기 위한 도구로, 각 컴포넌트를 개별적으로, 컨테이너로 실행하여 재사용할 수 있는 파이프라인을 구축할 수 있도록 합니다. 각 컴포넌트는 독립적으로 실행되며, 데이터 파이프라인을 통해 다른 컴포넌트로 데이터를 전달할 수 있습니다. Pipeline을 작성할 때 각 컴포넌트는 컨테이너로 구성..

Kafka: 대용량 실시간 데이터 스트리밍 플랫폼

비즈니스 환경에서 데이터는 굉장히 빠른 속도로 생성되고 처리되어야 합니다.기업은 이런 대용량의 데이터를 실시간으로 수집하고 분석하고자 하는 요구 사항을 가지고 있습니다.이에 따라 등장한 Apache Kafka는 대용량 실시간 데이터 스트리밍을 위한 강력한 플랫폼으로 각광받고 있습니다. 카프카란?카프카는 분산 데이터 스트리밍 플랫폼으로, LinkedIn에서 개발되었습니다.이후 Apache Software Foundation에서 오픈소스로 관리되며, 많은 기업에서 대용량 실시간 데이터의 수집, 저장, 처리를 위해 광범위하게 사용되고 있습니다. 기본 아키텍처카프카의 아키텍처는 생산자(Producer), 브로커(Broker), 소비자(Consumer), 이렇게 세 가지 주요 구성 요소로 이루어져 있습니다. 생산..

[Airflow] dag 스케쥴 관련 date 정의 알아보기 (start_date, execution_date, schedule_interval)

개요 Apache Airflow는 데이터 파이프라인 관리와 작업 스케줄링을 위한 오픈 소스 플랫폼으로, 데이터 엔지니어링 및 데이터 과학 작업에서 널리 사용됩니다. 저도 올해 처음으로 해당 플랫폼을 사용하여 데이터 ETL 작업을 처리했습니다. 작업 중에 가장 헷갈렸던 여러 기준의 date 들을 한번 자세히 정리해보겠습니다. 태스크 스케줄링의 중요성 Apache Airflow는 작업 스케줄링 및 자동화를 위한 강력한 도구입니다. 사용자는 작업의 실행 시간, 간격 및 의존성을 정의하고, Airflow는 해당 작업을 예약된 시간에 실행하거나 재시도할 수 있습니다. Airflow에서 작업은 Directed Acyclic Graph (DAG)로 구성됩니다. DAG는 여러 작업(Task)으로 구성된 워크플로우를 나..