[Date Engineer] Data Firehose란?
·
Airflow
데이터 파이어호스란 데이터를 안전하게 목적지(타겟, s3, redshift등)에 전달하는 역할을 해주는 서비스이다.[데이터 발생(로그)] -> [Firehose] -> [S3, ...]와 같은 순서로 진행된다고 보면 된다. 특징으로는 최소 60초 단위 혹은 1MB 단위로 버퍼링하여 데이터를 적제한다는 것이다. 이러한 역할을 하는 것이 firehose밖에 없냐고 물어본다면, 그것은 아니다.대표적으로 Fluentd와 Logstash가 있다. 구분Amazon Data FirehoseFluentd / Logstash관리 주체AWS (완전 관리)사용자 (서버 운영 필)주목적데이터 적재 (Delivery)로그 수집 및 필터링난이도 쉬움중간비용데이터 처리량에 비례서버 운영비
[Airflow] ec2를 사용해 클라우드에 airflow 띄우기 - (2. EC2 인스턴스에 docker 환경 구축하기)
·
Airflow
지난 실습에서는 ec2 인스턴스를 생성하고 puTTY를 사용하여 터미널로 접속하는 것을 해보았습니다.이번에는 ec2 인스턴스에 docker를 설치하는 방법을 알아보겠습니다. 1. 시스템 최신 상태로 업데이트sudo apt-get update && sudo apt-get upgrade -y 업데이트를 안 하면 변경사항이 있을 수 있으니 모두 업데이트 해줍니다. 2. 도커 자동 설치 스크립트 실행하기curl -fsSL https://get.docker.com -o get-docker.shsudo sh get-docker.sh 도커 공식 홈페이지에서 설치 파일을 가져와서 실행시켜줍니다. 3. 설치 확인하기 이러한 화면이 나온 후 도커가 잘 설치 됐는지 확인하기 위해docker --version 을 프롬프트에 ..
[Airflow] ec2를 사용해 클라우드에 airflow 띄우기 - (1. EC2 인스턴스 만들기)
·
Airflow
노트북에 airflow를 docker에 올려 로컬 환경에서 돌리며 실습하던 중 노트북이 램, CPU 사용량이 너무 높아져 실습이 어려운 상황이 자주 발생하였다. 이를 해결하고자 AWS에 EC2로 우분투 인스턴스를 만들어 그 안에 docker를 설치하고 airflow를 돌려야겠다고 생각했다. 실습 비용이 부족해 t3.micro 모델을 사용하려고 했지만, docker에 컨테이너로 airflow를 돌릴것이기 때문에 메모리가 1GB 더 많은 t3.small를 사용하였다. 실습은 mac 환경에서 하기때문에 key는 pem키로 받았어야 하지만, 집에 있는 컴퓨터는 윈도우이기 때문에 ppk로 받고 puTTYgen을 이용해 pem키로 바꿔줄 것이다. 1. putty로 서버 접속하기 1. puTTY에 접속하고 Ho..
[Airflow] DAG 처음 짜면서 했던 실수들
·
Airflow
1. 들어가며Airflow를 처음 접했을 때 솔직히 이런 생각이 들었다."이거 그냥 cron이랑 뭐가 달라?"Python으로 스케줄 짜고, 태스크 실행하고… 겉으로 보면 비슷해 보인다. 그런데 실제로 DAG를 짜기 시작하자마자 예상치 못한 곳에서 계속 막혔다.이 글은 그 과정에서 내가 직접 겪었던 실수들을 정리한 기록이다. Airflow를 처음 시작하는 분들이 같은 곳에서 시간을 낭비하지 않았으면 하는 마음으로 썼다.2. start_date를 datetime.now()로 설정했다어떤 실수였나DAG를 처음 만들 때 start_date를 이렇게 설정했다. pythonfrom datetime import datetimefrom airflow import DAGwith DAG( dag_id="my_fir..