일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 데브코스
- airflow
- S3
- Go
- 정리
- redshift
- 종류
- AWS
- linux
- http
- 데이터 웨어하우스
- PYTHON
- 운영체제
- 데이터베이스
- Django
- 컴퓨터 네트워크
- 파이썬
- 데이터엔지니어링
- 컴퓨터네트워크
- TCP
- 데이터 파이프라인
- HADOOP
- 가상환경
- TIL
- 데이터 엔지니어링
- 자료구조
- Docker
- dockerfile
- airflow.cfg
- sql
- Today
- Total
목록Data Engineering (95)
홍카나의 공부방
docker run은 새로 Container를 실행하는 것이다. docker exec는 실행된 Container에 작업을 할 때 사용한다. (그래서 execute 명령은 Container ID를 매개변수로 필요로 한다.) 두 명령은 모두 --user root 혹은 -u root를 이용하여 root user로 연결할 수 있다.
프로그램을 Docker에서 돌아가는 Image로 만들기 위해서는 어떻게 해야 할까? 1. 대상 소프트웨어를 선택한다. 어떤 SW를 Docker Image로 만들 것인지 고려한다. 다수의 컴포넌트로 구성되는 SW라면, 어떤 컴포넌트를 선택할 것인지 고려한다. 2. Docker Image로 빌드한다. 이를 Dockerization이라고 부르는데, Dockerfile이란 text 파일로 세부 정보를 작성한다. Dockerfile에는 SW를 이미지로 바꾸기 위한 Docker에게 주는 명령들이 포함되어 있다. Dockerization으로 만들어진 Docker Image는 하나의 Docker Container안에서 실행된다. Docker Image의 구성 요소는 다음과 같다. 1. 기본 OS( 리눅스라면 우분투, ..
Docker를 사용하는 이유는 여러가지가 있겠지만, 핵심적인 이유 중 하나는 "내가 만든 프로그램이 다른 컴퓨터에서는 돌아가지 않는다면?" 이 물음에 대한 해결을 하기 위함이 가장 클 것이다. 다른 컴퓨터에서 돌아가지 않는 이유도 많을 텐데, 1. 운영체제 이슈 등으로 환경 설정이 제대로 되지 않았거나 ( 혹은 못하거나 ) 2. 라이브러리 dismatching이 생기거나 3. 설치 과정이 제대로 진행되지 못하거나 이런 이유들로 프로그램이 다른 컴퓨터에서 모두 실행됨을 보장하지 못한다. 이를 해결하기 위해서 virtual machine, docker 등이 등장했다. Docker는 나의 프로그램, 컴퓨터 환경을 패키징 및 배포하여 그대로 사용하기 위한 Container 기술이다. 패키징 된 프로그램 모음집은..
airflow를 DE가 왜 사용하는가? backfill을 관리하기 쉬운 tool이라서 그렇다. backfill이란 실패한 데이터 파이프라인을 재실행하거나, 읽어온 데이터들의 문제로 다시 읽어옴을 의미한다. full refresh의 경우 backfill은 그냥 다시 실행하면 끝이나, incremetal update의 경우, backfill의 난이도가 올라간다. start_date와 execution_date airflow의 start_date는 DAG의 시작 날짜라기 보다는 DAG가 처음 읽어와야 하는 데이터의 날짜다. DAG의 실제 첫 실행날짜는 start_date + DAG의 실행주기다. execution_date는 읽어와야 하는 데이터의 날짜와 시간이다. airflow가 자동으로 정한다. 즉, 위 ..