본문 바로가기

Etc/Portfolio

[Project] Pyupbit ETL 파이프라인 구축

Upbit 실시간 비트 코인 데이터를 Kafka Producer로 부터 Consumer로 보내고 Mysql DB에 적재한 뒤 한 시간 한번 실행하는 Schedule는 Airflow 스케줄로 배치하는 Pipeline구축

🛠️ 사용 기술 및 라이브러리

  • Pandas
  • AWS S3
  • Mysql
  • Kafka
  • Airflow

💻 담당한 기능 (AWS, Kafka, Airflow , Mysql)

작업 내용

1. AWS EC2에 kafka, airflow, mysql install

2. pyupbit를 kafka로 연동

kafka로 보내기 전 s3에 적재확인

3. mysql db에 적재 

 

4.airflow로 1시간마다 배치 스케줄링 설정

tree 구조

🧨  Error

mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on '43.200.217.233:3306' (111 Connection refused)

💡 깨달은 점

E212: Can't open file for writing
root가 아닌 계정으로 했기때문→ sudo로 진행
service mysql restart polkit-agent-helper-1: pam_authenticate failed: Authentication failure
sudo service mysql restart하면 됨
vi mysqld.cnf
bind-address = 0.0.0.0과 mysql-bind-address = 0.0.0.0으로 외부접속 허용하기

Code는 GIthub에 모두 기록했습니다 :) 

반응형