3. Yahoo yfinance DAG 작성

DongbinLim·2023년 12월 18일
0

Yahoo Finance API DAG 작성

Yahoo Finance API 호출해서 애플 주식 읽어오는 Full Refresh 기반의 DAG 만들기

[방법]
1. Yahoo Finance API 호출해서 애플 주식정보 수집(지난 30일)
2. Redshift 상의 테이블로 1에서 받은 레코드 적재

Task 1: Extract/Transform\
Task 2: Load \
with yfinance pip install yfinance\
테이블 삭제,레코드 적재 to stock_info

import yfinance as yf

@task
def get_historical_prices(symbol):
ticket = tf.Ticker(symbol)
data = ticket.history()
records = []

for index, row in data.iterrows():
    date = index.strftime('%Y-%m-%d %H:%M:%S')
    records.append([date, row["Open],row["High],row["Low"], row["Close" ], row["Volume"]])
return records
    - 미국 주식의 Symbol은 네 글자로 구성되어 있음

## Load
- Redshift의 테이블을 업데이트
- Full Refresh로 구현 / 트랜잭션 형태로 구성(=NameGender의 DAG)

## 실행 데모
- 코드 실행
  - Docker 로그인 후, yfinace 모듈 설치 필요
  - airflow dags test UpdateSymbol 2023-05-20
- Docker container에 루트 유저로 로그인하는 법()

0개의 댓글