분류 전체보기 332

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..

2차 프로젝트 (후기)

주제 농산물 가격 데이터를 이용한 물가 변동 조회 개요 및 주제 선정 이유 최근 물가가 급격하게 상승하며 농산물의 물가 또한 크게 요동치고 있음 물가 상승으로 인해 장보기가 꺼려지고 이에 따라 직접 요리하기보다 외식을 선택하는 비율이 늘고 있음 농산물 가격 데이터를 활용해 농산물의 물가 변동을 조회할 수 있는 대시보드를 제작하고, 이는 농산물의 물가가 요동치는 중에 현재까지의 농산물들의 물가를 한 눈에 보고 물가 변동의 추이 및 전반적인 농산물의 물가를 파악하고 효율적인 장보기를 지원하고자 함 사용 기술 AWS IAM AWS S3 Snowflake Apache Superset 역할 Snowflake 설정 및 데이터 적재 프로젝트 기술 발전 가능성 매일 새로운 농산물 가격 데이터를 갱신한다면 어제와 오늘,..

데이터 웨어하우스, SQL, 데이터분석 (4)

JOIN 두 개 혹은 그 이상의 테이블들을 공통 필드를 가지고 머지하는데 사용 Star 스키마 형태로 구성된 테이블들로 분산되어 있던 정보를 통합하는데 사용 다양한 종류의 JOIN JOIN 문법 - JOIN 앞의 빈 칸에 INNER, FULL, LEFT, RIGHT, CROSS의 다양한 형태의 JOIN이 들어감 SELECT A.*, B.* FROM raw_data.table1 A ____ JOIN raw_data.table2 B ON a.key1 = B.key1 and A.key2 = B.key2 JOIN 시 고려해야할 점 중복 레코드가 없고 Primary Key의 uniqueness가 보장됨을 확인 - 가장 중요한 작업! JOIN 하는 테이블들간의 관계를 명확하게 정의 one to one one to ..

728x90