일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- linux
- sql
- TCP
- 데이터 웨어하우스
- 데이터 엔지니어링
- 데이터 파이프라인
- AWS
- 컴퓨터네트워크
- airflow.cfg
- 종류
- 컴퓨터 네트워크
- Django
- 파이썬
- http
- HADOOP
- 데이터엔지니어링
- 데브코스
- 운영체제
- 자료구조
- 정리
- Go
- S3
- 데이터베이스
- PYTHON
- redshift
- Docker
- 가상환경
- dockerfile
- airflow
- TIL
- Today
- Total
목록데이터 엔지니어링 (24)
홍카나의 공부방
Airflow 소개 파이썬으로 만들어진 데이터 파이프라인 (ETL) 프레임워크다. 데이터 파이프라인 스케줄링을 지원하여, 정해진 시간에 ETL을 실행하거나 그 다음 ETL을 실행한다. Airflow에서는 데이터 파이프라인을 DAG(Directed Acyclic Graph)라고 부른다. DAG는 Task로 구성된다. ( 예를 들어 3개의 태스크로 구성된다면 Extract, Transform, Load로 구성 ) 하나의 DAG는 하나 이상의 태스크로 구성된다. 태스크는 Airflow의 Operator로 만들어진다. Airflow에서 이미 다양한 종류의 오퍼레이터를 제공한다. 경우에 오퍼레이터를 결정해서 사용할 수 있다. Airflow 구성 Airflow는 웹 서버, 스케줄러, 워커, 메타 데이터 데이터베이스..
Raw Data ETL jobs 내부 혹은 외부 데이터 소스에서 데이터를 읽어서, 적당한 포맷 변환을 거친 뒤 데이터 웨어하우스에 로드하는 것 외부 데이터 소스는 많은 경우 API를 통하게 된다. 내부 데이터 소스는 내부 ProductionDB(MySQL 등)이 원천지가 된다. Transform 단계에서 데이터의 크기가 커지면 Spark 등의 빅데이터 처리 프레임워크가 필요해진다. Summary/Report Jobs DW(혹은 DL)로부터 데이터를 읽어 다시 DW에 쓰는 ETL 과정이다. Raw Data를 읽어서 일종의 리포트 형태나 요약 형태의 테이블을 다시 만드는 용도로 수행한다. 요약 테이블의 경우 SQL의 CTAS를 통해 만들 수 있다. 데이터 엔지니어 관점에서는 어떻게 데이터 분석가들이 편하게 ..
데이터 팀의 Vision과 하는 일 신뢰할 수 있는 데이터를 바탕으로 부가 가치를 만든다. 그 기업의 본업을 더 잘 영위할 수 있게 만든다. 의사 결정권자에게 데이터를 고려한 결정(data informed decisions)을 가능하게끔 돕는다. ex) 데이터 기반의 지표를 정의하고, 대시보드 & 리포트 생성 등의 작업을 수행한다. - Data Analyst가 주로 하는 일 ex) 개인화를 바탕으로 추천과 검색 기능을 제공하는 것처럼, 머신러닝과 같은 알고리즘으로 사용자의 서비스 경험을 개선한다. - Data Scientist가 주로 하는 일 데이터의 흐름과 데이터 팀의 발전 단계 데이터 엔지니어는 여러 source에서 발생한 데이터를 추출하고 정제하여 데이터 인프라를 구축하는 일과 데이터 인프라를 관리..
데이터 파이프라인이란? 다양한 소스에서 새로운 가치를 얻을 수 있게끔 데이터를 옮기고, 변환하는 일련의 과정을 의미한다. 쉽게 이야기하면 소스에서 목적지로 데이터를 옮기거나, 복사하는 작업이다. 통계 분석, 리포팅, 머신러닝 분석에 필요한 선행 과정이다. 단순한 형태의 데이터 파이프라인은? REST API처럼 단일 소스에서 데이터를 추출하여 S3와 같은 데이터 레이크(스토리지)에 저장하고, 이를 데이터 웨어하우스에 로드하는 것이 단순한 데이터 파이프라인 구조의 예시다. 그러나 모든 데이터 파이프라인이 이처럼 간단하진 않다. 데이터 추출, 데이터 가공, 데이터 유효성 검사 단계를 포함할 수도 있고, 때로는 데이터를 최종 목적지로 전달하기 전에 머신러닝 모델링을 거치는 단계도 존재할 수 있다. 소스 데이터를..