본문 바로가기

데이터엔지니어링

[프로그래머스] 데브코스: 데이터 엔지니어링 지원 후기 데이터 사이언스를 전공하면서 데이터 엔지니어링 기술 스택에 관심을 갖던 중이었다. 막학기를 다니며 취준을 병행하는 한 편, 공부를 더 하고싶다는 생각을 늘 하곤 했다. 그러다 프로그래머스의 데브코스 DE 과정이 신설됐다는 걸 봤다. 마침 1기 지원이 종료되고 2기 접수를 한 달 앞두고 있길래 바로 알림 신청을 했다. 데브코스를 (다른 과정들이지만) 추천하는 글을 더러 봐왔어서 다른 플랫폼은 딱히 찾아보지 않았다. +) 교육 과정 대부분이 온라인으로 진행되는 점 또한 좋았음 데브코스 교육에 선발 된다면 본격적인(?) 서류 지원은 내년 상반기로 미루고 엔지니어링 공부를 하고싶다고 생각하며 지원서 접수 전까지는 정-말 가고싶은 기업에만 지원하며 지냈다. 결론은 2기 교육 과정에 선발돼 3개월째 수강 중이다 🙂.. 더보기
[TIL] 10주차_Day45: 데이터 파이프라인, Airflow (5) 💡Today I Learned 데이터 파이프라인과 Airflow에 대한 다섯 번째 수업을 진행했습니다. Production DB to Data Warehouse DAG, Backfill 실습 1. Review - start_date, execution_date, DAG의 첫 실행 날짜 1. start_date: DAG가 읽어와야 할 데이터의 시점 (ex: 매일 1번 실행되는 DAG의 start_date = 2021/02/05이라면 DAG의 첫 실행 날짜 = 2021/02/06) → 5일의 데이터 읽고싶음 = 5일에 쌓인 모든 데이터를 6일에 실행해서 읽어와야 함 2. execution_date: DAG가 처음 읽어와야하는 데이터의 날짜, 따라서 DAG 실행동안 변경되지 x, 각 task가 실행될 때 사용.. 더보기
[TIL] 10주차_Day43: 데이터 파이프라인, Airflow (3) 💡Today I Learned 데이터 파이프라인과 Airflow에 대한 세 번째 수업을 진행했습니다. DAG 작성 실습 1. Airflow 예제 프로그램 살펴보기 - PythonOperator : 태스크 실행 (내부에 dag와 task 지정) : python_callable = [파이썬으로 짠 task_함수명 지정] → PythonOperator의 entry 함수 : params = {딕셔너리 형태} → task 함수(즉, entry 함수)에 공통으로 적용되는 파라미터, task함수로 전달하고 싶은 인자들 - Airflow Decorators 사용하기 from airflow.decorators import task @task def print_hello(): print("hello!") return "h.. 더보기
[TIL] 10주차_Day42: 데이터 파이프라인, Airflow (2) 💡Today I Learned 데이터 파이프라인과 Airflow에 대한 두 번째 수업을 진행했습니다. Airflow 설치 및 실습 1. 트랜잭션 이해하기 - 테이블 업데이트 (Full Refresh vs. Incremental Update) TRUNCATE: 조건 x, 테이블의 모든 레코드 삭제, SQL 트랜잭션 무시 DELETE FROM: 조건에 맞는 레코드 삭제, SQL 트랜잭션 준수 - 트랜잭션이란? : BEGIN ~ COMMIT/END or ROLLBACK auto commit = True: 기본적으로 모든 SQL 문이 물리적인 테이블 공간에 바로 커밋됨, BEGIN~END로 바꿀 수 있음 auto commit = False: 모든 operation이 자동으로 커밋되지 않음, 모두 staging .. 더보기
[TIL] 10주차_Day41: 데이터 파이프라인, Airflow (1) 💡Today I Learned 데이터 파이프라인과 Airflow에 대한 첫 번째 수업을 진행했습니다. Airflow 설치 및 실습 1. 데이터 파이프라인(=ETL) 소개 - 데이터 웨어하우스 구성 1️⃣데이터 소스(프로덕션 DB, 트랜잭션 데이터, 유저 데이터, 콜 데이터, 세일즈 데이터, ...) → 다수의 ETL → 2️⃣Airflow+데이터 웨어하우스 (요약 테이블 만들기 = ELT = 데이터 분석) → 3️⃣대시보드 - ETL : ETL = Extract(데이터 소스로부터 Data Dump ex: 파일 다운로드, API 호출) + Transform(원하는 형태로 변환, 추출) + Load(데이터 웨어하우스에 테이블 형태 등으로 적재) : DAG = Directed Acyclic Graph (루프 .. 더보기
[TIL] 8주차_Day35: 데이터 웨어하우스 관리, 고급 SQL, BI 대시보드 (5) 💡Today I Learned 데이터 웨어하우스, SQL, BI 대시보드에 대한 다섯 번째 수업을 진행했습니다. Superset 이용한 대시보드 실습 1. 다양한 시각화 툴 - 시각화 툴이란 : 대시보드 or BI(Business Intelligence) : KPI(Key Performance Indicator), 백엔드 관계형 DB/데이터 웨어하우스의 데이터 기반으로 계산/분석/표시 : 데이터 퀄리티가 중요 → ELT를 통한 summary 테이블을 사용하는 것이 일반적 (by. 데이터 분석가) : 의사결정권자들의 데이터 기반 결정을 위함 *) Citizen Data Analyst: 현업 종사자들(데이터 인력이 아닌)이 대시보드를 직접 만들고 KPI를 정의, 팀에 필요한 작업을 중앙 데이터 팀을 통하지 .. 더보기
[TIL] 8주차_Day34: 데이터 웨어하우스 관리, 고급 SQL, BI 대시보드 (4) 💡Today I Learned 데이터 웨어하우스, SQL, BI 대시보드에 대한 네 번째 수업을 진행했습니다. Snowflake 실습 1. Snowflake - Snowflake 특징 : 가변비용 모델임 → 컴퓨팅 인프라 & 스토리지가 별도로 설정 : 노드 수를 조정할 필요 x (Scale out), distkey 등의 최적화 필요 x : 데이터 클라우드 이기도 o : 자체 스토리지 이외에도 클라우드 스토리지를 외부 테이블로 사용 가능 : 멀티 클라우드 지원 : 다른 지역의 Snowflake DB 간의 데이터 공유 (cross-region) : Semi-structured data (JSON 네이티브하게 지원 o) ... → Redshift보다 강력함 : 한 organization(조직) > 안에 여러 .. 더보기
[TIL] 8주차_Day33: 데이터 웨어하우스 관리, 고급 SQL, BI 대시보드 (3) 💡Today I Learned 데이터 웨어하우스, SQL, BI 대시보드에 대한 세 번째 수업을 진행했습니다. Redshift 스냅샷, Spectrum, SageMaker을 이용한 ML 실습 1. Redshift의 권한/보안 - IAM Role : AWS 리소스 관련 권한 설정 서비스 : 역할(Role) 혹은 그룹(Group) 별로 스키마별 접근 권한을 주는 것이 일반적 : 사용자 집합 = 그룹, 테이블 집합 = 스키마 : 역할(계승 o → 포함관계, 상속 느낌), 그룹(계승 x) GRANT [권한 옵션] ON SCHEMA [스키마 이름] TO GROUP [그룹 이름]; GRANT [권한 옵션] ON ALL TABLES IN SCHEMA [스키마 이름] TO GROUP [그룹 이름]; : 컬럼 레벨의 .. 더보기
반응형