전체 글 373

Summary 테이블 구현

Summary 테이블 구현 Airflow+Redshift로 간단한 ELT 구현을 알아보자 Summary table: 간단한 DAG 구현을 살펴보기 Build_Summary.py: MAU 요약 테이블을 만들어보자 from airflow import DAG from airflow.operators.python import PythonOperator from airflow.models import Variable from airflow.hooks.postgres_hook import PostgresHook from datetime import datetime from datetime import timedelta from airflow import AirflowException import requests i..

Airflow 환경설정 데모

다시 Docker 기반 Airflow 실행 (1) 먼저 터미널 프로그램을 실행하고 적당한 폴더로 이동 저는 D드라이브에 Dev_KDT 아래에 airflow-advanced라는 폴더를 만들었습니다. 이미 learn-airflow Github repo를 다운로드받은 상황이라면 다운로드받은 repo 폴더로 이동 여기서 아래를 수행 - git pull 저는 이미 다운 받은 상황이 아니므로 아래와 같이 진행하겠습니다. 아니라면 아래를 수행 learn-airflow Github repo를 먼저 클론 - git clone https://github.com/learndataeng/learn-airflow.git learn-airflow 폴더로 이동합니다. learn-airflow 폴더로 이동하고 2.5.1 이미지 관련..

ELT 작성과 구글시트/슬랙 연동

1. ELT 작성과 구글시트/슬랙 연동 ELT 구현과 구글시트/슬랙 연동과 같은 다양한 DAG를 작성해보자 Contents 1. ELT 구현 2. Slack 연동하기 3. 구글 시트 연동하기 (1): 시트 => Redshift 테이블 4. 구글 시트 연동하기 (2): Redshift 테이블 => 시트 5. API & Airflow 모니터링 6. 숙제 Airflow Docker 환경부터 다시 설정 이번 강의를 진행하기 전에 먼저 Docker로 환경설정부터 다시 하자 다시 Docker 기반 Airflow 실행 (1) 먼저 터미널 프로그램을 실행하고 적당한 폴더로 이동 이미 learn-airflow Github repo를 다운로드받은 상황이라면 다운로드받은 repo 폴더로 이동 여기서 아래를 수행 - git ..

개요

Airflow 고급 기능, dbt, Data Catalog Airflow의 다양한 고급 기능과 ELT 툴인 dbt와 Data Catalog/Discovery 툴에 대해 배워보자 Contents 1. ELT 작성과 구글시트/슬랙 연동 2. Airflow 기타 기능 사용해보기 3. 데이터 파이프라인 운영 4. dbt 소개와 실습 5. dbt를 Airflow에서 실행해보기 6. Data Catalog와 Data Discovery 이번 강의를 들으려면 준비해야하는 것 Airflow를 docker-compose로 실행할 줄 알아야 함 python과 SQL에 대한 기본 지식

K8s 소개, K8s 아키텍처, 사용예

이번 학습에 있어 중점을 두어야할 포인트 K8s의 학습은 어려움! 서버 운영에 관련된 부분이나 순수개발자에게는 쉽지 않음 모든 걸 다 설명하려는 것보다는 아래에 방점을 둘 예정임 왜 필요하고 어떤 기능을 해주는지 그리고 Docker와 어떻게 서로 보완적인 관계인지 이해 (개념적인 이해)하고 기본적인 사용법을 익힌다 수많은 Container Orchestration 툴 중 왜 K8s가 가장 널리 사용되는지 알아보자 Kubernetes (K8s) 소개 (1) 컨테이너 기반 서비스 배포/스케일/관리 자동화를 해주는 오픈소스 프레임웍 구글에서 사용하던 Borg를 서비스를 오픈소스화함 (2015년) 클라우드나 on-prem 모두에서 잘 동작 어느 컨테이너이면 가능하지만 주로 Docker Container들이 대상..

Docker & K8S 2023.12.22

Container Orchestration 소개

앞서 Docker를 살펴보았는데 Docker Container의 수가 많아지면 어떤 일이 필요한지 살펴보자 다수의 Container들을 잘 관리해보자! 이걸 Container Orchestration이라고 부름 앞서 언급했던 다양한 문제들을 효율적으로 관리하기 위한 도구 DevOps팀의 노가다를 줄이자! Container Orchestration 기능 - 요약 한 클러스터 안에 다양한 서비스들이 공존 DB, Web Service, Backend, … 자원 요청을 받아 마스터가 자원을 할당 다양한 기능 제공: 배포, 스케일링, 네트워크, 인사이트 등등 Container Orchestration 기능 - 소프트웨어 배포 서비스 이미지를 Container로 배포 이상이 감지되면 이전 안정 버전으로 롤백 v1에..

Docker & K8S 2023.12.21

서버 관리의 어려움

DevOps팀이 겪는 서버 관리의 어려움 복잡한 다수의 서버로 구성된 시스템을 효율적으로 관리한다는 것은 어려운 일이다 관리해야하는 서버의 수가 늘어나면? 어느 서버가 문제가 있는지? 어느 서비스가 문제를 갖고 있는지? 이런 문제들을 얼마나 빨리 알고 해결할 수 있을지? 새로 들어온 사람이나 주니어를 잘 온보딩하려면? 문제들은 밤낮없이 연휴에도 발생 해결방안 1. 문서화 지금 서비스 상황과 셋업 방법 문서화 다양한 문제 발생시 해결 방법 문서화 문서를 현재 상황에 맞게 업데이트하는 것은 엄청난 노력 또한 상황에 따라 의미가 없는 경우도 많음 또 몇백대의 서버를 일일히 관리하고 명령을 실행한다는 것은 거의 불가능 해결방안 2. 문서화가 아닌 코드로 대신 Infrastructure As Code: DevOp..

Docker & K8S 2023.12.21

Docker 정리

앞서 배운 Docker에 대해서 정리를 해보자 Docker 관련 용어들 Docker Image Dockerfile Docker Container Docker Hub (hub.docker.com) Docker Compose 다수의 Docker Container들을 관리 docker-compose.yml - Services - Networks - Volumes: host/anonymous/named volumes Docker를 실제 Production 환경에서 사용할 때 유념할 점 Docker volumes Host volume은 보통 개발시 소스코드를 바로 container안으로 마운트하기 위함 (터미널을 2개 띄우고 한쪽은 호스트 파일 시스템으로 코드를 작성하고 다른 터미널에서 결과를 바로 조회하는 식으..

Docker & K8S 2023.12.21

Airflow Docker docker-compose.yml 리뷰

Docker 기반 Airflow 실행 Docker 기반 Airflow 설치 문서 참조 먼저 터미널 프로그램을 실행하고 적당한 폴더로 이동 airflow-setup Github repo를 클론 git clone https://github.com/keeyong/airflow-setup.git airflow-setup 폴더로 이동하고 2.5.1 이미지 관련 yml 파일 다운로드 cd airflow-setup curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.5.1/docker-compose.yaml' 다음 2개의 명령을 수행 (이미지 다운로드와 컨테이너 실행) docker-compose -f docker-compose.yaml pull docker-co..

Docker & K8S 2023.12.21