데이터 엔지니어링 7

[7 Week] 프로그래머스 - 실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트 with Python

⭐ Superset 오픈소스 대시보드 1. 설치 과정 Superset Direct Installation (Ubuntu) Superset Installation via Docker 깔끔하긴 하나, 좋은 사양의 서버 필요 Preset.io 사용 간편하게 사용 가능함 2. 설정 순서 Database 연결 DataSet 업로드 대시보드 시각화 Metrics → SIMPLE → AGGREGATE 선택 SQL 생각하며 설정하기 GROUP BY - SQL의 GROUP BY와 같음 시각화 후 Save Chart뿐만 아니라, Dashboard에도 저장할 수 있음 대시보드 화면에서 Edit 설정 가로, 세로, 헤더 등 필요한 정보 추가 가능 ⭐ 배운 것 데이터 웨어하우스를 기반으로 데이터 인프라를 만드는 것 파이썬, S..

[6 Week] 프로그래머스 - 실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트 with Python

⭐ Params 옵션 schema = context['params']['schema'] function 파라미터인 **context의 params를 익숙하게 사용해 볼 것 ⭐ 주의할 점 데이터 작업은 클린하게 Fail 하는 것이 좋다. try~exception 사용 시 raise를 사용할 것 raise 없을 시 except 처리 후 흘러가 버리므로 파악이 디버깅 어려움 ⭐ DW 구축 업무 순서 첫 번째는 프로덕션 DB를 DW로 복사해오는 것 프로덕션 DB는 OLTP로 MYSQL, Postgres / 데이터 웨어하우스는 OLAP OLTP의 목적은 빠르게 처리해서 응답하는 것 따라서 분석용으로 못씀. 분석용 쿼리 시 시간 지체되면 문제 발생 고로, DW 구축하기 위해 프로덕션 DB를 DW로 복사 ⭐ 데엔-데..

[5 Week] 프로그래머스 - 실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트 with Python

5️⃣ 주차 강의 내용 Airflow 시 혼란을 겪는 부분을 중점적으로 학습하였다. Autocommit 설정 autocommit = False일 때 내가 명시적으로 commit을 하기 전까지는 나에게만 그 변화가 보인다. 다른 사람들에게는 그 변화가 보이지 않는다. 예를 들어, 테이블을 삭제하고 조회하면 테이블이 없는 것으로 나온다. 하지만 다른 사람들에게는 여전히 테이블이 있는 것으로 조회가 됨 PostgresHook은 현재 autocommit = False를 반환함 autocommit = False일 때 주의할 점 쿼리문 실행 후 파이썬 try ~ exception와 commit;을 함께 사용하는 것이 best practice try ~ exception 시 ETL 운영상 관점에서 raise를 사용하..

[4 Week] 프로그래머스 - 실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트 with Python

⭐ 커리어 이야기 Assignment Review 🍎 느낀점 단순 지식 습득이 아닌, 매주 커리어에 관한 이야기를 함께 해줘서 좋았다. 어떻게 좋은 개발자로 성장해 나갈 수 있느냐, 직장을 고를 때 기준은 어떻게 고르냐?에 대한 이야기가 도움이 많이 됬다. 목표: 우수 수강생으로 선발되기❗ 매주 첫번째로 과제를 제출하고, 수업 내용을 복습한 뒤 질문을 올려야겠다. DataLake, Dataware house란❓ 소중한 회사 정보가 모이는 보물창고와 같다. 가치가 증명되지 않은 보석, 원석들을 유실없이 잘 적재하는 것이 엔지니어 역할이다. 그 원석들의 가치를 발견하고 증명해내는 것이 사이언티스트의 역할이다. 📘 복습 내 쿼리문 %%sql CREATE TABLE ghgoo1798.monthly_active_..

[3 Week] 프로그래머스 - 실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트 with Python

⭐ 커리어이야기 - 피드백 중요성 📌 행동 양식과 관련된 피드백 두루뭉실하다면 매니저에게 추가적인 질문할 것 새로운 레벨로 올라간다면 이전레벨에서 원하던 것이 아니다. 선한 의도로 받고, 내가 변해야 하는 상황임을 직시하자. 📌 피드백을 줄 때 유의사항 어떤 피드백을 줄 건가? 이 피드백을 정말 줄 필요가 있는가? 말하는 방식 : 내가 옳다가 아닌, 기대 → 관찰 → 그 후 발생한 Gap에 대해 상의 신뢰가 기반이 되어야함 → 그렇지 않으면 불편하게(부정적인 의도로) 받아들일 수 있음 내가 선한 의도로 피드백을 주고 있는가→ 감정 배제 : 사람을 배제하고 일에 포커스해서 피드백💧 팀원에게 인기 있어야 하지 않아야한다.💧 내가 옳다가 아닌, 무언가 Gap이 있는데 무엇인가? 💧 따라서, 기대 → 관찰 → ..

[2 Week] 프로그래머스 - 실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트 with Python

2️⃣ 주차 강의 내용 2주차의 주요 내용은 크게 3가지였다. 데이터 엔지니어의 한 주 주 초엔 저번 주차를 피드백 잘 된 작업은 무엇인가? 더 잘할 수 있었던 작업은 무엇인가? On-Call 엔지니어 지정 한 주간 data pipeline 실패 관련 이슈 해결 100%가 아닌 가장 중요한 20%를 반드시 성공 상시 모니터링, 데이터 엔지니어링 == 노가다? 데이터 파이프라인 개발 최적화 Metrics & Quarterly Goals 리뷰 30-40% 시간은 인프라 코드의 refactoring에 사용 클라우드 컴퓨팅의 장단점과 주의사항 장점 초기 투자 비용 감소 리소스 준비를 위한 대기시간 감소 사용한만큼 금액 지불 단점 Variable Cost Option의 경우 요금 폭탄 더욱 신중한 SQL 작성 요..

[1 Week] 프로그래머스 - 실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트 with Python

프로그래머스 데이터 엔지니어링 강의 1주차를 수강하며 느낀점을 정리해보려고 합니다. 1️⃣ 주차 강의 내용 지난 1주차 강의 내용을 간략히 정리해보자면 다음과 같다. 새로운 분야를 학습하는 태도 남과 비교하지 않되, 나도 학습하면 저렇게 발전해나갈 수 있다라는 마인드를 갖자 무엇을 모르는 지 정의하고, 조사하여 정리한다. 작은 성공을 반복해서 자신감을 높이자. Agile 방법론에 익숙해질 것 빠르게 요구조건 파악 후 반영할 것 짧은 사이클을 빠르고 반복적으로 구현하는 것 중요 데이터 팀과 데이터 엔지니어의 가치 바람직한 데이터 팀 구조는 무엇일까? Centralized, Uncentrialized, Hybrid 일의 성공과 실패를 어떻게 측정할 것이냐? ⭐ 본인의 성공을 입증할 수 있는 지표 설정 ⭐ A..