ssung_데이터 엔지니어링/9주차_Airflow 4

Airflow_(4)

Primary Key Uniqueness 테이블에서 하나의 레코드를 유일하게 지칭할 수 있는 필드(들) - 일반적으로는 하나의 필드만을 사용 but, 다수의 필드를 사용 가능 - CREATE TABLE SQL 문 사용시 지정 관계형 데이터베이스 시스템이 PK 값이 중복 존재하는 것을 막아줌 빅데이터 기반의 데이터 웨어하우스들은 PK를 지키지 않음 - 이를 보장해야하는 것은 데이터 인력의 책임 - PK를 보장하는데 메모리와 시간이 더 들어 대용량 데이터 적재의 걸림돌 PK를 유지하는 방법 임시 테이블 (스테이징 테이블)을 만들고 현재 모든 레코드를 임시 테이블에 복사 임시 테이블에 새로운 데이터 소스에서 읽어들인 레코드들을 복사 - 중복 레코드 존재 가능 중복 레코드를 걸러주는 SQL 작성 - 최신 레코드..

Airflow_(3)

강의 들었는데.. 기억이 안남.. 다시 듣고 정리하자 우선 기억 나는 것들만 정리!! DAG에서 task 분리 task를 많이 만들면 전체 DAG가 실행되는데 오래 걸리고 스케줄러에 부하 발생 task를 적게 만들면 모듈화가 안되고 실패시 재실행 시간이 오래 걸림 실패 시 재실행이 오래 걸리는 DAG의 경우에는 재실행이 쉽게 적절한 task로 나누는 것이 좋음 참고사항 - Window cmd 명령어 명령어 Window Linux, Mac os 파일 복사 copy cp 파일 이동 move mv 파일 목록보기 dir ls 파일 삭제 del, erase rm 이름 변경 move mv 디렉토리 이동 cd cd 현재 디렉토리 cd pwd 화명정리 cls clear 명령어 해석기 command.com sh, csh..

Airflow_(2)

트랜잭션 Atomic하게 실행되어야 하는 SQL들을 묶어서 하나의 작업처럼 처리하는 방법 BEGIN과 END (COMMIT) 사이에 해당하는 SQL들을 사용 ROLLBACK은 BEGIN 이전의 상태로 돌아가라는 SQL 명령어 트랜잭션 구현 두 가지 종류의 트랜잭션이 존재 레코드 변경/삭제/추가를 바로 반영하는지의 여부는 autocommit이라는 파라미터로 조절가능 autocommit = True 기본적으로 모든 SQL statement가 바로 물리 테이블에 커밋 이를 바꾸고 싶다면 BEGIN;END (COMMIT)을 사용 (or ROLLBACK) autocommit = False 기본적으로 모든 SQL statement가 커밋되지 않음. 즉, 모두 스테이징 상태로 존재 커넥션 객체의 .commit()과 ..

Airflow_(1)

데이터 파이프라인 (ETL) ETL : Extract, Transform and Load Data Pipeline, ETL, Data Workflow, DAG Airflow에서는 DAG (Directed Acyclic Graph)라고 부름 데이터를 소스로부터 목적지로 복사하는 작업 보통 코딩 (파이썬, 스칼라) 혹은 SQL을 통해 이뤄짐 대부분의 경우 목적지는 데이터 웨어하우스 ETL vs ELT ETL : 데이터를 데이터 웨어하우스 외부에서 내부로 가져오는 프로세스 데이터 엔지니어들이 수행 ELT : 데이터 웨어하우스 내부 데이터를 조작하여 새로운 데이터를 만드는 프로세스 데이터 분석가들이 많이 수행 데이터 레이크 위에서 작업을 진행하기도 함 ELT에는 전용 기술들이 있으며 dbt가 가장 유명 (Ana..

728x90