Yahoo Finance API 호출해서 애플 주식 읽어오는 Full Refresh 기반의 DAG 만들기
[방법] 1. Yahoo Finance API 호출해서 애플 주식정보 수집(지난 30일) 2. Redshift 상의 테이블로 1에서 받은 레코드 적재
Task 1: Extract/Transform\
Task 2: Load \
with yfinancepip install yfinance
\
테이블 삭제,레코드 적재 to stock_infoimport 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에 루트 유저로 로그인하는 법()