본문 바로가기

데이터엔지니어링

[TIL] 6주차_Day24: 데이터 웨어하우스와 SQL과 데이터분석 (4) 💡Today I Learned 데이터 웨어하우스와 SQL, 데이터분석에 대한 네 번째 수업을 진행했습니다. Join을 이용한 실습 1. JOIN : 두 개 이상의 테이블들을 공통 필드로 merge, 합쳐진 새로운 레코드들이 만들어짐 1) INNER JOIN - 두 테이블의 교집합 레코드 2) FULL JOIN - 합집합 레코드 3) LEFT/RIGHT JOIN - JOIN 연산자 기준 왼/오 테이블은 모두 포함 (매칭되지 않는 필드는 null) 4) SELF JOIN - 자기 자신 테이블을 merge 5) CROSS JOIN - 가능한 모든 레코드 들의 조합 *) JOIN시 고려할 점 : 중복 레코드 x : 기본키의 유일성이 보장됨 2. BOOLEAN - flag is True != flag is not.. 더보기
[TIL] 6주차_Day23: 데이터 웨어하우스와 SQL과 데이터분석 (3) 💡Today I Learned 데이터 웨어하우스와 SQL, 데이터분석에 대한 세 번째 수업을 진행했습니다. group by, aggregate 함수, ctas, cte 서브 쿼리 실습 1. GROUP BY, AGGREGATE : 테이블의 레코드를 그룹핑해 그룹별로 정보를 계산 1) 그룹핑을 할 필드 결정 (하나 이상 가능) 2) GROUP BY 함수로 지정 3) 그룹별로 집계함수 계산 (COUNT, SUM, AVG, MIN, MAX, LISTAGG, ...) ex) 가장 많이 사용된 채널 (기준 a) 세션 수 b) 유니크한 사용자 수) SELECT channel, COUNT(1) AS session_count, COUNT(DISTINCT userId) AS user_count, FROM raw_data... 더보기
[TIL] 6주차_Day22: 데이터 웨어하우스와 SQL과 데이터분석 (2) 💡Today I Learned 데이터 웨어하우스와 SQL, 데이터분석에 대한 두 번째 수업을 진행했습니다. Redshift, SQL에 대한 개념과 SQL 문법을 이용한 Redshift에서의 쿼리 실습 1. Redshift 론치 데모 - Launch하고자 하는 지역 확인 → 'Seoul'에 있는 AWS region에서 Redshift launch - 외부에서 (실습_코랩 환경)에서 Redshift로 접근 가능하게 해야함 (원래 보안 설정 = 같은 aws 네트워크 안에 있는 서버에서만 접근 가능함) 2. 웹 서비스 사용자/세션 정보 - 사용자 ID: 보통 웹서비스에서는 등록된 사용자마다 부여하는 유일한 ID - 세션 ID: 세션마다 부여되는 ID (세선 = 사용자의 방문을 논리적인 단위로 나눈 것) → 하나.. 더보기
[TIL] 6주차_Day21: 데이터 웨어하우스와 SQL과 데이터분석 (1) 💡Today I Learned 데이터 웨어하우스와 SQL, 데이터분석에 대한 첫 번째 수업을 진행했습니다. SQL, 관계형 데이터베이스, 데이터 웨어하우스, Cloud, AWS, Redshift에 대한 개념 1. SQL의 중요성 - 데이터 엔지니어(ETL/ELT 담당, Airflow, DBT, Spark, Hadoop, SQL) - 데이터 분석가(통계, 비즈니스 도메인 지식, AB 테스트 분석, SQL) - 데이터 사이언티스트(머신러닝, 통계, SQL) → 빅데이터를 처리해서 데이터 요약과 분석을 위한 목적으로 사용함 2. 관계형 데이터베이스 : 구조화된 데이터를 저장하는 데 사용되는 스토리지(storage) : 구조화된 데이터 = column(열) + record(행), 테이블로 데이터를 정의/저장 :.. 더보기
[TIL] 5주차_Day20: 크롤한 웹데이터로 만들어보는 웹사이트 (5) 💡Today I Learned 크롤링한 웹 데이터로 만들어보는 시각화 웹 서비스의 프로젝트_day5를 진행했습니다. 진행사항 공유, 시각화 함수 구현 및 백엔드 repo에 업로드 1. 진행된 사항 / 진행할 사항 (개인) 입력_json, 출력_파일 저장 & 파일 경로 반환하도록 함수 구성 한글 설정 시 폰트 지정 → os에 따라 변경 필요 파일 경로 → 백엔드 상에서 저장할 경로로 설정 변환하기 시각화 함수 세 개 묶어서 하나의 .py 파일로 backend repo에 올리기 (import 해서 사용 예정) 배포 환경 페이지 확인 (job or company 마다 필터링 페이지 확인) 로컬에서 SQL DB 연동 후 서버 데모 실행 requirements.txt 구성 pip freeze > requireme.. 더보기
[TIL] 5주차_Day19: 크롤한 웹데이터로 만들어보는 웹사이트 (4) 💡Today I Learned 크롤링한 웹 데이터로 만들어보는 시각화 웹 서비스의 프로젝트_day4를 진행했습니다. 진행사항 공유, 샘플데이터 이용해 네트워크 그래프 및 히스토그램 수정 1. 진행된 사항 / 진행할 사항 (개인) json 샘플 데이터를 이용해 그래프 그리기, 네트워크 그래프 관련 논의사항 슬랙에 공유 네트워크 그래프 시각화 방식 최종 결정(networkx), 필터링 데이터 받기 직전 단계까지 코드 완성 2. 오후 보고 그래프 시각화 시 표시할 노드의 threshold값 수정하고 나니 position 별로 구분지어지는 것 같음 → 매뉴얼하게 수정, 현재 샘플 데이터는 약 100개 정도, but 실제 채용공고는 약 1600~1700개 → 전체 데이터 이용했을 때 표시하지 않을 노드의 thre.. 더보기
[TIL] 5주차_Day18: 크롤한 웹데이터로 만들어보는 웹사이트 (3) 💡Today I Learned 크롤링한 웹 데이터로 만들어보는 시각화 웹 서비스의 프로젝트_day3를 진행했습니다. 진행사항 공유, 샘플 데이터(.json) 이용한 시각화 차트 구현 1. 진행된 사항 / 진행할 사항 (개인) 리모트 repo에서 작업공간 분리, 로컬에서 branch 따서 작업하고 있음, 데모 용 그래프 노션에 업로드 json 샘플 데이터 이용해서 그래프 그리기 → remote repo에 PR, networkx 라이브러리 속성 이용해 그래프 가시화하기 2. daily scrum _ 논의된 사항 오후 조별 프로젝트 팀 미팅 내용 구성 (프로젝트 개요 - 현재까지 진행된 사항 - 추후 진행될 사항) 버블차트 구현 시 각 위치별 데이터 표시 방법 (ex: 군집화 알고리즘) 오후 6시 마무리 미팅.. 더보기
[TIL] 5주차_Day17: 크롤한 웹데이터로 만들어보는 웹사이트 (2) 💡Today I Learned 크롤링한 웹 데이터로 만들어보는 시각화 웹 서비스의 프로젝트_day2를 진행했습니다. 진행사항 공유, 깃허브 코드 리뷰 정책 논의, RNR 추가 및 세분화 1. 진행된 사항 / 진행할 사항 (개인) 시각화 차트 구성 및 역할 분담, 사용할 테이블 및 속성 구상, 예제 데이터로 차트 시각화하는 코드 샘플 데이터 적재 후 그래프 구현, bipartite graph 개념 학습 후 구현 2. daily scrum _ 논의된 사항 깃허브 내 코드 리뷰 정책 (1명 이상 리뷰 & 코멘트 후 리뷰어 혹은 셀프 머지) master 브랜치에서 실제 기능 개발은 'feature_xxx' 브랜치로 → 개발 완료된 후 PR 날리고 브랜치를 merge 3. 변경된 사항 그래프 네트워크 → 이분 그.. 더보기
반응형