Data Engineering/실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트

Data Engineering/실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트

[5주차] Airflow Deepdive 2 -Backfill과 Airflow

관리하는 데이터 파이프라인의 수가 늘어나면 이 중의 몇은 항상 실패하게 되며 이를 어떻게 관리하느냐가 데이터 엔지니어의 삶에 큰 영향을 준다. start_date과 execution_date Incremental Update가 실패하면? 하루에 한번 동작하고 Incremental하게 업데이트하는 파이프라인이라면? 실패한 부분을 재실행하는 것이 중요하다. Incremental Update ● Incremental Update란 ? ○ 새로운 데이터를 전체 데이터 세트에 다시 처리하는 대신 변경된 데이터만 처리하여 데이터 저장 및 관리를 최적화하는 방법 ● 다시 한번 가능하면 Full Refresh를 사용하는 것이 좋음 ○ 문제가 생겨도 다시 실행하면 됨 ● Incremental Update는 효율성이 더 ..

Data Engineering/실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트

[5주차] Airflow Deepdive 2 - API를 사용해서 DAG 만들어보기

Open Weathermap DAG 구현하기, API를 사용해서 DAG를 만들어보자 Open Weathermap API 소개 ● 위도/경도를 기반으로 그 지역의 기후 정보를 알려주는 서비스 ● 무료 계정으로 api key를 받아서 이를 호출시에 사용 ○ https://openweathermap.org/price Pricing - OpenWeatherMap Get weather data for any location on the globe immediately with our superb API! Just subscribe with your email and start using minute forecasts, hourly forecasts, history and other weather data in y..

Data Engineering/실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트

[4주차] Airflow Deepdive - Airflow로 데이터 파이프라인 만들기 (2)

Name Gender DAG 개선하기, 구글 Colab으로 만든 DAG를 Airflow로 4가지 버전으로 만들면서 Airflow의 기능을 이해해 보자 Python 코드를 Airflow로 포팅하기 NameGenderCSVtoRedshift.py from airflow import DAG from airflow.operators.python import PythonOperator from datetime import datetime import requests import logging import psycopg2 def get_Redshift_connection(): host = "#####.redshift.amazonaws.com" user = "#####" # 본인 ID 사용 password = "##..

Data Engineering/실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트

[4주차] Airflow Deepdive - Airflow로 데이터 파이프라인 만들기 (1)

Hello World 예제 프로그램, Hello World 살펴보기 프로그램을 설명하고 Web UI와 터미널에서 실행해 보자 ● 2개의 태스크로 구성된 데이터 파이프라인 (DAG) ○ print_hello: PythonOperator로 구성되어 있으며 먼저 실행 ○ print_goodbye: PythonOperator로 구성되어 있으며 두번째로 실행 dag = DAG( dag_id = "helloWorld", start_date = datetime(2022,6,15), catchup=False, tags=['example'], schedule = '0 2 * * *', default_args=default_args ) Operators - PythonOperator ● Airflow Python Oper..

Data Engineering/실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트

[4주차] 데이터베이스 트랜잭션

트랜잭션 이해하기, DB를 사용한다면 꼭 알아야하는 트랜잭션에 대해 이해해보자 트랜잭션이란? ● Atomic하게 실행되어야 하는 SQL들을 묶어서 하나의 작업처럼 처리하는 방법 ○ https://postgresql.kr/docs/9.2/tutorial-transactions.html ○ BEGIN과 END 혹은 BEGIN과 COMMIT 사이에 해당 SQL들을 사용 ○ ROLLBACK ● Transaction Isolation Level: “Read Committed”가 디폴트 세팅 트랜잭션 구현방법 (1) ● 두 가지 종류의 트랜잭션이 존재 ○ 레코드 변경을 바로 반영하는지 여부. autocommit이라는 파라미터로 조절가능 ● autocommit=True ○ 기본적으로 모든 SQL statement가 ..

Data Engineering/실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트

[3주차] Airflow

Airflow 소개, 가장 많이 사용되는 데이터 파이프라인 관리 / 구현 프레임워크인 Airflow에 대해 알아보자 Airflow 소개 (1) ● Airflow는 파이썬으로 작성된 데이터 파이프라인 (ETL) 프레임워크 ○ Airbnb에서 시작한 아파치 오픈소스 프로젝트 ○ 가장 많이 사용되는 데이터 파이프라인 관리/작성 프레임워 ● 데이터 파이프라인 스케줄링 지원 ○ 정해진 시간에 ETL 실행 혹은 한 ETL의 실행이 끝나면 다음 ETL 실행 ○ 웹 UI를 제공하기도 함 Airflow 소개 (2) ● 데이터 파이프라인(ETL)을 쉽게 만들 수 있도록 해줌 ○ 다양한 데이터 소스와 데이터 웨어하우스를 쉽게 통합해주는 모듈 제공 ○ 데이터 파이프라인 관리 관련 다양한 기능을 제공해줌: 특히 Backfill..

Data Engineering/실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트

[3주차] ETL

데이터 파이프라인이란? 데이터 파이프라인 혹인 ETL로 알려진 프로세스가 구체적으로 무엇인지 알아보자 용어 설명 : ETL ● ETL: Extract(수집), Transform(변환) and Load(적재) ● Data Pipeline, ETL, Data Workflow, DAG ○ ETL (Extract, Transform, and Load) ○ Called DAG (Directed Acyclic Graph) in Airflow, Airflow에선 DAG라고 부른다. ● ETL vs ELT ○ ETL: 데이터를 데이터 웨어하우스 외부에서 내부로 가져오는 프로세스 ○ ELT: 데이터 웨어하우스 내부 데이터를 조작해서 (보통은 좀더 추상화되고 요약된) 새로운 데이터를 만드는 프로세스 ■ 이 경우 데이터 레..

달려라 국나뇽
'Data Engineering/실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트' 카테고리의 글 목록