[Data Engineering] dbt란 무엇인가?
·
📊 Data Engineering
dbt란 무엇인가?dbt는 간단한 SELECT 쿼리를 통해 데이터를 변환하는 데 도움이 되는 개발 프레임워크이다.dbt(Data Build Tool)는 데이터 엔지니어링 분야에서 원시 데이터를 데이터 웨어하우스 내에 분석에 적합한 형태로 변환(Transform)하는 데 사용되는 오픈소스 도구이다. 특히 ELT(Extract, Load, Transform) 파이프라인의 'T' 단계를 담당하며, 데이터 웨어하우스에 이미 적재된 데이터를 효과적으로 변환하는 데 중점을 둔다. dbt는 SQL을 핵심 언어로 사용하며, 여기에 소프트웨어 엔지니어링의 모범 사례(버전 관리, 테스트, 모듈화 등)를 접목하여 데이터 변환 프로세스를 더욱 안정적이고 효율적으로 만든다. 이를 통해 데이터 분석가와 엔지니어는 신뢰할 수 있고..
[Data Engineering] Batch Processing과 Stream Processing이란?
·
📊 Data Engineering
Batch Processing이란?Batch Processing(일괄 처리)는 컴퓨터가 데이터를 일괄 처리하여 대량의 반복적인 작업을 처리하는 방식이다.이 방식은 즉각적인 결과를 요구하지 않고, 시간을 절약하며, 컴퓨팅 성능을 낮춘다.일괄 처리는 대규모 데이터 세트를 분석할 때 자세한 보고서를 생성하며, 일관성과 리소스 효율성을 달성하는 데 이상적이다,하지만 즉각적인 피드백이나 조치가 필요한 작업에는 항상 적합한 것은 아니다. Stream Processing이란?Stream Processing (스트림 처리)는 데이터를 지속적으로 수집하고 분석한다.데이터가 누적될 때까지 기다릴 필요 없이 즉시 처리할 수 있다.따라서 변화에 즉시 대응할 수 있으며, 이는 신속한 의사 결정이 필요한 작업에 매우 중요하다.스..
[Data Engineering] Apache Airflow 기반의 데이터 파이프라인 Part.01
·
📊 Data Engineering
해당 포스트는 "Apache Airflow 기반의 데이터 파이프라인" 책을 참고하여 작성되었음을 밝힙니다.Apache Airflow 기반의 데이터 파이프라인 데이터 파이프라인데이터 파이프라인은 원하는 결과를 얻기 위해 실행되는 여러 태스크(Task) 또는 동작으로 구성된다.Ex.) 실시간 날씨 대시보드 구현을 위한 단계별 태스크날씨 API를 통한 일기 예보 데이터 가져오기서비스 목적에 부합한 데이터 정제 및 변환 (화씨 -> 섭씨 등)변환된 데이터 날씨 대시보드로 전송서로 다른 태스크는 정해진 순서대로 진행되어야 한다.그 이유로, 사용할 데이터를 가져오기 전에 변환 시도는 의미가 없으며, 변환되지 않은 데이터를 전송해선 안되기 때문이다.따라서 프로세스 실행 시, 암묵적으로 정해진 태스크 순서대로 실행되..
[Data Engineering] 개인 사이드 프로젝트#01 복기 1편 (feat. Kafka란?)
·
📊 Data Engineering
프로젝트 개요 및 선정 이유주제명: 가상 IoT 센서 데이터 실시간 스트리밍 수집 및 저장 해당 프로젝트는 가상의 IoT 센서 데이터를 5초 정도의 딜레이 시간을 주어 실시간으로 생성하여 Apache Kafka를 통해 스트리밍하고, 이를 소비하여 데이터베이스에 저장 및 시각화하는 데이터 파이프라인 구축까지의 단계로 계획하였습니다. 해당 주제를 프로젝트로 선정한 이유는 다음과 같습니다:항목설명손쉬운 데이터 생성실제 센서는 없지만 Python 스크립트를 통해 가상의 온도, 습도, 기압 그리고 미세먼지 농도와 CO2 농도 등의 데이터를 랜덤 생성하여 쉽고 유연하게 프로젝트를 진행 가능함kafka 구조 심화 학습Producer가 데이터를 송신하고 Consumer가 데이터를 수신하는 Kafka의 스트리밍 모델을..