uv 기반 가상환경 사용
Extract(운영DB, 데이터포털, SNS) -> Transform(Pandas, Spark ML, Spark, Hadoop) -> Load(S3, AWS Redshift, GCP BigQuery), HBase) 사용예정
- cd [project 위치]
- export $(cat .env | xargs) // airflow.cfg 파일 lite 버전 덮어씌우기 위함
- airflow db migrate
- airflow api-server --port
- airflow triggler
- airflow dag-processor
- 반드시 가상환경과 파일이 ~/airflow/dags 에 존재해야함 감시당할 위치 위에 안쓰고 airflow standalone 일단 사용 예정
-- Airflow --
Mysql dump -> transform (pandas) -> load to s3 -> copy s3 to redshift
Airflow Connection 설정
- Mysql_default (docker create -> mysql), (mac os, ubuntu -> default IPv6 따라서
- host: 127.0.0.1
- port:3306
- db:ariflow_db)
- AWS_S3_default, IAM (AmaazonS3FullAccess) 생성
- AWS Access Key ID = IAM Access Key
- AWS Secret Access Key = IAM Secret Key
- 추가 필드 JSON: { "region_name": "ap-northeast-2" }
- redshift_dafault, IAM role 생성 redshift -> AmazonS3ReadOnlyAccess -> 네임스페이스 보안 및 암호화 IAM 역할 관리 -> role 연결 <반드시 퍼블릭 모드로 바꿔주기>
- host: redshift 작업그룹 엔드포인트
- User: 네임스페이스 user
- pwd: 네임스페이스 -> 작업 토글 관리자 보안
- port: 5439
- db: 네임스페이스 데이터베이스 이름
- 추가 필드 JSON: { "sslmode": "require" }
결과 Redshift -> query editor v2