저번주에 학습한 이론, 예제를 바탕으로 공모전 대회 정보를 수집하는 ETL 파이프라인을 구축해보겠습니다.🔧 개발환경 OS : ubuntu 22.04 Python 3.11 Airflow 2.3.0 1. Amazon S3 생성 버킷 내의 폴더 구성은 dag 파일을 올려두는 dags, 데이터를 저장하는 data로 구성하였다. 2. AWS EC2 환경 셋업 # Virtualenv 패키지 설치 sudo apt-get install virtualenv #가상환경 폴더 생성 virtualenv {가상환경폴더이름} #가상환경 실행 source {가상환경폴더이름}/bin/activate # python, 필요 라이브러리 설치 # 파이썬 3.11 설치 sudo apt-get install python3.11 # pip 설..
분류 전체보기
목차 1. Apache airflow 개념 2. Airflow dask relationship branch 예제 3. Airflow ML 예제 I. Apache Airflow란? workflow management tool로, 여기서 workflow란 ETL과 같은 작업의 흐름을 말한다. 즉, 이러한 workflow들을 작성, 스케줄링, 모니터링하면서 관리해주는 툴이다. Airflow의 각 components 들의 아키텍처는 다음과 같다. Airflow Webserver airflow 웹 서버는 UI를 통해 airflow의 로그를 보여주거나 스케줄러에 의해 생성된 DAG (Directed Acyclic Graph) 목록, Task상태를 시각화하여 보여준다. Airflow Scheduler airflow ..
Backtracking(되추적) 알고리즘이란 큰 공간에서 하나의 해를 찾아가는 도중 올바른 해가 아니여서 막히면 다시 돌아와서 해를 찾아가는 기법이다. Backtracking은 DFS 와의 차이를 비교하며 살펴보면 이해하기 더 쉽다. DFS(Depth First Search, 깊이우선탐색) DFS, 깊이우선탐색은 그래프에서 root를 먼저 방문한 뒤 그 root의 후손들을 방문하면서 가장 깊숙히 위치하는 노드에 닿을 때까지 순회하는 방법이다. 즉, 트리 순회 중 preorder(루트 -> 왼 -> 오) 방식을 사용하고 있는 것이다. DFS의 c++ 수도 코드와 python 코드를 살펴보자 void depth_first_tree_search(node v) { node u; // 자식 노드 visit v; ..
1.1 웹1.1.1 웹이란?웹은 http 프로토콜을 통해 html, image, video, sound와 같은 데이터를 주고받는다. 클라이언트(웹 브라우저)는 요청(request), 서버는 응답(response)을 담당한다. 통신 과정은 다음과 같다. 클라이언트는 접속하고자 하는 URL 주소(www.naver.com)을 웹 브라우저에 입력웹 브라우저는 DNS 서버로 가서 www.naver.com의 IP주소를 알아내고 그 IP주소에 데이터(html, image 등)를 요청웹 서버는 요청을 보낸 클라이언트에게 http stauts code 200을 리턴하고 패킷에 데이터를 담아 보냄웹 서버는 TCP 통신에 따라 패킷을 모아 데이터로 만들고 렌더링 해서 사용자에게 최종적으로 보여줌 DNS 서버란?웹 서버..