본문 바로가기
728x90

airflow25

[Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 5. aws cli configure, airflow dag 구성 및 S3로 데이터 보내기, ec2 자동으로 종료하기 이번 포스트에는 airflow dag를 구성하여 pyspark job을 실행시킨 후, S3에 데이터를 복사해 넣고 EC2를 자동으로 종료하겠습니다. 어떤 프로젝트인지 잘 모르시는 분은 아래의 링크를 참고해주세요. 2022.02.17 - [BigData/Project] - [Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 1. 프로젝트 개요 EC2에 환경 구성이 되지 않으신 분은 아래의 링크를 참고해주세요 2022.02.17 - [BigData/Project] - [Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 4. EC.. 2022. 2. 17.
[Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 4. EC2 서버 생성 및 pyspark, airflow,MySQL 설치 이번 포스트에는 EC2서버 환경을 구성하고, spark, airflow를 설치하여 이미지로 저장하겠습니다. 어떤 프로젝트인지 잘 모르시는 분은 아래의 링크를 참고해주세요. 2022.02.17 - [BigData/Project] - [Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 1. 프로젝트 개요 1. EC2서버 띄우기 1) EC2생성 및 Ubuntu Server 20.04 LTS를 선택합니다. 2) 인스턴스 타입 선택 현재 airflow 및 pyspark를 한 곳에서 돌리는 구조기 때문에, 적당한 크기의 t2.large타입을 선택합니다. 3) public ip 부여 및 IAM role 부여 public IP를.. 2022. 2. 17.
[Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 1. 프로젝트 개요 이번 포스트에는 아주 간단한 ETL을 구현하는 프로젝트를 해보겠습니다. 프로젝트 자체는 필요한 것만 최소한의 시간으로 최소한의 비용으로 구성했으며, 점차 추가기능들을 구현하거나 수정할 부분을 수정하여, sub version을 포스트 하겠습니다. 프로젝트에서 다루는 것 ETL python파일 corona API를 restAPI로 받아오는 법 --수집 python library인 bs4를 이용하여 lxml로 파싱후, list로 변환 --처리 list를 pyspark dataframe으로 변환 --처리 오늘, 전체, 날짜별 dataframe을 단일 csv파일로 저장 --저장 오늘, 전체, 날짜별 dataframe을 기준날짜를 기준으로 partition하여(partitionBy) csv파일로 저장 --저장 da.. 2022. 2. 17.
[Airflow] Airflow 설치 + mysql로 DB지정하기 +서비스(데몬으로) 등록하기 1. Apache Airflow 설치 1) AIRFLOW 설치 및 부가적으로 필요한 패키지 설치 sudo apt-get update sudo apt install python3-pip 2) 부가적으로 필요한 패키지 설치 pip3 install cryptography psycopg2-binary boto3 botocore sudo apt install libmysqlclient-dev -y pip3 install mysqlclient 3) airflow 설치 pip3 install apache-airflow 설치하고 나면 /home/호스트/.local/bin 디렉토리에 관련된 파일들이 저장됨 cd ~ nano .profile export AIRFLOW_HOME=/home/호스트/airflow 2. sqli.. 2022. 2. 10.
[BigData] Apache Airflow 설치 및 실습하기 series (3) Airflow로 spark-submit(pyspark)하기with BashOperator 이번 포스트에는 spark-submit 실습한 파일을 가지고 설치한 airflow로 spark-submit해보도록 하겠습니다. + 헷갈리는 개념인 start_date, execution_date, schedule_interval, data interval에 대한 조작과 이해를 돕는 실습을 하겠습니다. spark-submit을 통해 만든 .py file과 실습내용은 아래의 링크에 있습니다. https://spidyweb.tistory.com/303 [Spark] spark standalone 모드로 pyspark 실습(.py spark submit)+ui확인하기 이번 포스트에서는 spark standalone 모드 즉, yarn을 이용하지 않고 local(단일 노드로) pyspark을 제출하는 .py 파일.. 2021. 11. 19.
[BigData] Apache Airflow 설치 및 실습 하기 series (1) Airflow란? DAG란? 안녕하세요 이번 포스트에는 Airflow의 개념에 대해서 알아보고 어떤 역할을 하는지, 그리고 핵심인 DAG파일에 대해서 알아보겠습니다. 1. Apahce Airflow란? 에어비앤비에서 python기반으로 개발한 워크플로우 스케줄링, 모니터링 플랫폼 workflow management tool oozie와 luigi와 같이 데이터파이프라인을 구성할 때 사용된다. 2. airflow 의 특징 및 장점 airflow 파이프라인(동작순서, 방식)을 파이썬 코드를 이용하여 DAG를 구성하기 때문에 동적인 구성이 가능 oozie와 같은 ui로 구성하는 것에 비해 비교적 큰 파이프라인을 코드로써 편하게 구성할 수 있다. airflow webserver가 있어 웹 UI를 표현하고, workflow 상태를 표시,실행.. 2021. 10. 17.
[BigData] Apache Airflow 설치 및 실습하기 series (2) Airflow 2.1 ubuntu 20.04에 설치하기 안녕하세요 이번 포스트에는 Airflow만 독단적으로 설치해보겠습니다. 다음포스트에는 DAG파일을 집중분석하여 실습해보도록 하겠습니다. 준비사항 우분투 20.04 LTS 서버와 충분한 디스크 공간 sudo 와 root접근 권한이 있는 계정 Python:3.6,3.7,3.8 버전(3.9는 지원안한다) PostgreSQL(9.6,10,11,12,13), MySQL(5.7,8), SQLite(3.15.0+) *우리는 Apache Airflow에 MySQL 5.7버전을 사용할 것입니다. 혹시 ubuntu가 깔려있지 않으시다면 아래의 글을 참고해주세요. 2021.04.26 - [BigData] - [Hadoop] virtual box linux [ubuntu 18.04]에 하둡 설치,다운로드 1.virtualbo.. 2021. 10. 17.
728x90