전체 글160 데이터 엔지니어링 52일차 TIL 학습내용구글시트 연동 1. 구글시트 API를 활성화하고, 구글 서비스 어카운트로 생성한 후 그 내용을 JSON파일로 다운로드 2. 어카운트에서 생성해준 이메일을 조작하고 싶은 시트에 공유 3. Airflow DAG쪽에서 해당 JSON 파일로 인증하고 시트를 조작 Admin-Variable google_sheet_access_token 설정 - Key = 구글 서비스 어카운트의 JSON Admin-connection aws_conn_id 설정 (S3) redshift_dev_db 설정(Redshift) redshift_summary.py - 구글시트에서 S3로 복사 from airflow import DAGfrom airflow.macros import *from airflow.utils.deco.. 2024. 6. 5. 데이터 엔지니어링 51일차 TIL 학습내용Docker 기반 airflow 실행 1. git clone https://github.com/learndataeng/learn-airflow.git2. cd learn-airflow 3. curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.5.1/docker-compose.yaml'curl : client url의 약자로 데이터를 URL을 통해 전송하기 위한 명령줄 도구이다. curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.5.1/docker-compose.yaml' 뜻 -L: --location의 약자로, 서버가 리다이렉션을 지시하는 경우 해당 URL을 따라가도록 한다. HT.. 2024. 6. 5. 데이터 엔지니어링 50일차 TIL 학습내용Docker 사용시 유의점 - Docker Volumes - Host volume은 보통 개발시 소스코드를 바로 ontainer안으로 마운트 하기 위함 - Production에서는 named volumes를 써야한다 - Docker container는 read-only로 사용한다 - 내용을 바꿔야한다면 실행 중인 컨테이너를 수정하지 말 것 - 항상 이미지를 새로 빌드하고 다시 컨테이너들을 새로 론치한다 - 자동화가 중요하다 : CI/CD 프로세스 - 다수의 Docker Container들을 다수의 호스트들에서 실행 필요 - 용량 문제와 Fail-over(fail-tolerant) 관리해야하는 서버의 수가 늘어난다면? 해결방안 1. 문서화 - 지금.. 2024. 6. 5. 데이터 엔지니어링 49일차 TIL 학습내용.dockerignore란? : 불필요한 Binary파일이나 패스워드가 들어있는 파일 등 개발자의 부주의로 인한 사고를 막기위함 및 깃업의 크기가 불필요하게 늘어나는 것을 방지한다. - Image build할 때 추가하지 말아야할 파일들이나 폴더들 지정 Docker-Compose란? - 다수의 컨테이너로 소프트웨어가 구성되는 경우 사용할 수 있는 툴 + 환경설정파일 - docker-compose.yml로 설정 - 다양한 테스트등도 수행이 가능하다 - 다양한 버전을 만드는 것도 일반적이다(dev, test, pord등) - 개별 컨테이너를 따로 관리하는 것보다 훨씬 더 생산성이 높다 - 환경설정 파일의 이름은 docker-compose.yml이나 docker-compose.ya.. 2024. 6. 5. 데이터 엔지니어링 48일차 TIL 학습내용Docker 명령 정리 - Image - 이미지 빌드 : docker build --platform=Linux/amd64 -t 이미지 이름 - 이미지 보기 : docker images docker image ls - 이미지 삭제 : docker rmi docker image rm Docker 명령 정리 - Docker Hub - 로그인 : docker login -u 사용자ID -p 사용자PW - 도커 풀(가져오기) : docker pull wsh120/hangman - 도커 푸쉬 : docker push wsh120/hangman Docker 명령정리 - 컨테이너 - 도커 생성 : docker create - 도커 실행 : docker run --name -p -v - --.. 2024. 6. 5. 데이터 엔지니어링 47일차 TIL 학습내용Docker 컨테이너 내부 프로세스와 호스트 프로세스간의 통신 - Docker 컨테이너로 포트 4000에 실행된 Flask app이 있다 - 이 app을 호스트 운영체제에서 접근하려면? - Docker 컨테이너 내부 프로세스가 오픈한 포트번호는 바깥 프로세스에서는 보이지 않는다. - 예를들어 앞서 4000번 포트는 호스트 프로세스 브라우저에게는 보이지 않는다. => Docker컨테이너 내부 프로세스가 오픈한 포트번호를 외부로 노출해주는 포트맵핑이 필요하다. - Docker run 수행시 -p 옵션을 사용한다. - ex) Docker run -p 4000:4000 이미지이름 (앞의 4000이 localhost:4000 에 들어갈 포트넘버로 다른번호로 수정가능) 소프트웨어.. 2024. 6. 5. 이전 1 ··· 13 14 15 16 17 18 19 ··· 27 다음