2024/01 23

3차 프로젝트_(4)

Docker container 실행 실패 문제 : 더보기 Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:8080 -> 0.0.0.0:0: listen tcp 0.0.0.0:8080: bind: An attempt was made to access a socket in a way forbidden by its access permissions. 발생하지 않던 위의 메시지가 갑자기 발생.. 원인 : 원인은 포트의 중복된 사용이 있다는 말이었음 이로 인해 정상적으로 container가 실행되지 않음 (docker compose up 실패) powershell에서 내가 지금 사용할 수 없는 포트 번호를 확인할 수 있는..

3차 프로젝트_(3)

DB (Mysql)연동하여 Slack 메시지로 보내주기 1. Test를 위한 Mysql workbench를 사용해 Local 환경 구성해주기 2. Airflow에서 Admin 창에 들어가 Connection 설정 해주기 Connection Id - 설정하고자 하는 이름 입력 Connection Type - Mysql 선택 Host - 해당 PC의 IP 주소 입력 (cmd 창 -> ipconfig 입력 -> IPv4 주소 입력) Login - Local mysql 아이디 입력 Password - 설정 비밀번호 입력 Port - 3306 위의 정보들을 입력 후 Test 버튼을 눌러 연결 확인 후 Save 3. Slack DM을 보내고자 하는 Slack channel 생성 4. api.slack.com 접속 ..

3차 프로젝트_(2)

리눅스 환경에서 git 활용 (commit 하기) commit 할 파일이 있는 디렉토리로 cd 해당 디렉토리에서 git status 명령어 실행 (해당 사진에서는 firtst_testDAG.py 상태를 확인 바람) git add '파일명' 실행 git commit -m "커밋 메시지 입력" git status 명령어 입력 후 commit을 했던 파일의 상태 확인 git push origin 브랜치 선택 Local에서 docker 환경이 안올라감 docker container를 다 삭제 후 yaml 파일을 up 했는데 정상 실행이 이루어지지 않음 (한 번 실행되었다가 중복 실행이 이루어짐) 원인이 뭘까.. 다시 삭제 후 실행 중.... AWS RDS 연결이 최종 목표이지만 그 전에 강의에서 사용했던 db에..

3차 프로젝트_(1)

git clone 에러 프로젝트 시작부터 에러가 없어지질 않았다.. repo가 clone이 정상적으로 이루어지지 않음 현상 : git clone 시 모든 파일들이 다운되지 않음 (.git 파일만 다운) 계속해서 반복된 문제가 발생 원인 : 구글링을 통해 찾아보니 다양한 원인들이 있음 파일의 경로 길이가 너무 길어 제한이 발생해 생기는 원인 git config --system core.longpaths true 명령어를 cmd 창에 입력하여 해결 가능 위의 방법으로도 해결이 되지 않을 경우 window powershell을 관리자 권한으로 실행시켜 git config --global core.longpaths true 명령어를 입력하여 해결 가능 두 가지 방법으로도 해결 못함 작성된 파일이 mac os에서..

Airflow 고급_(5)

DBT Seeds 많은 Diension 테이블은 크기가 작고 많이 변하지 않음 이를 파일 형태로 데이터 웨어하우스에 로드하는 방법 (Seeds는 작은 파일의 데이터를 가리키고 이는 주로 csv파일) root 폴더에서 dbt seed를 실행하여 빌드 DBT Sources Staging 테이블 생성 시 입력 테이블이 자주 바뀔 때 즉, models의 .sql 파일들을 일일이 찾아 바꿔주어야 하는 경우 이 번거로움을 해결하기 위해 Sources를 사용 입력 테이블에 별칭 (Alias)을 주고 별칭을 staging 테이블에서 사용 기본적으로 처음 입력이 되는 ETL 테이블을 대상으로 함 별칭을 제공 최신 레코드 체크 기능 제공 테이블 이름에 별칭 (Alias)를 부여 ETL 단의 소스 테이블이 바뀌어도 뒤에 영..

Airflow_고급(4)

Data Normalization 데이터베이스를 조금 더 조직적이고 일관화 된 방법으로 디자인하려는 방법 데이터베이스의 정합성을 쉽게 유지하고 레코드들을 수정/적재/삭제를 용이하게 함 Normalization에 사용되는 개념 Primary Key Composite Key Foreign Key 1NF (Frist Normal Form) - 중복된 키를 제거하고 atomicity 한 것이 목표 한 셀에는 하나의 값만 있어야 함 (atomicity) Primary 키가 있어야 함 중복된 키나 레코드 값이 없어야 함 2NF (Second Normal Form) 1NF를 만족해야 함 다음으로 Primary 키를 중심으로 의존결과를 알 수 있어야 함 부분적인 의존도가 없어야 함 즉, 모든 부가 속성들을 Primar..

728x90