구글 시트 연동과 API & Airflow 모니터링구글 시트의 데이터를 Redshift 테이블로 복사하거나 Redshift의 SELECT 결과를 구글 시트로 복사하는 작업은 현업 부서와 일을 할 때 자주 사용하며, 중요한 작업 중 하나이다.구글 시트 연동하기 (1) : 구글 시트 -> Redshift구글 시트의 데이터를 Redshift의 테이블로 복사하는 작업을 진행한다.구현 절차시트 API를 활성화 -> 구글 서비스 어카운트 생성 -> 내용을 JSON 파일로 다운로드어카운트에서 생성해 준 이메일을 조작하고 싶은 시트에 공유Airflow DAG에서 해당 JSON 파일로 인증하고 시트를 조작어카운트 생성 과정 구글 스프레드시트 API 활성화 및 프로젝트 생성 (링크)구글 서비스 어카운트 생성 (링크) : ..
ELT 작성과 슬랙 연동Docker 기반 Airflow 실행이전에 사용했던 airflow의 docker-compose.yaml의 x-airflow-common과 airflow-init을 수정하여 사용한다.environmentAIRFLOW_VAR_DATA_DIRAIRFLOW_VAR_ : 해당 문자 뒤에 나오는 문자를 이름으로 하는 환경 변수 생성여기서의 환경 변수 이름은 DATA_DIRDAG에서 필요할 수 있는 임시 파일을 저장하기 위한 별도 디렉터리 설정_PIP_ADDITIONAL_REQUIREMENTS : 필요한 파이썬 모듈 설치 ':-' : 만약 해당 파일이 존재하면 사용, 존재하지 않으면 오른쪽 값을 사용 environment: ... AIRFLOW_VAR_DATA_DIR: /opt/airflo..
Docker Compose 사용해 보기 (2).dockerignore.dockerignore 개념Image build를 할 때 추가하지 말아야할 파일이나 폴더 지정voting-application의 경우 .dockerignore의 내용은 아래와 같음*.pycproject.lock.jsonbin/obj/.vs/node_modules/.dockerignore 주의할 점Dockerfile의 COPY 명령으로 불필요한 파일 혹은 민감한 정보의 파일이 이미지에 포함될 수 있음COPY 명령을 파일이나 폴더 별로 일일이 적어주는 것이 좋음docker-compose로 다수의 Container 실행docker-compose 개념다수의 Container로 소프트웨어가 구성되는 경우 사용할 수 있는 툴, 환경 설정 파일Co..
원래 오늘 Docker & K8s 실습 (4)를 진행해야 하는데, 노트북으로 강의를 수강하게 되어 실습이 없는 (5)를 먼저 수강하게 되었다.K8s 맛보기K8s의 학습은 어렵기 때문에 왜 필요하고 어떤 기능을 해주는지, 그리고 Docker와 어떻게 서로 보완적인 관계인지 이해와 기본적인 사용법을 익히는 것을 목표로 한다.Docker 정리Docker 관련 용어Docker Image (Dockerfile)Docker ContainerDocker Hub (hub.docker.com)Docker Compose다수의 Docker Container 관리docker-compose.yml (servises, networks, volumes)실제 Production 환경에서 사용할 때 유념할 점Docker volumes..