테이블 적재 Task 작성 실습
35
投稿した質問数 7
안녕하세요,
혹시 본 강의에서 Google BigQuery나 Redshift 등 클라우드 DB에 데이터를 적재하는 DAG를 생성하는 실습도 있을까요?
실질적으로 해당 내용이 필요하여 문의드립니다!
回答 2
0
안녕하세요 dhleegarret
회신이 좀 늦었습니다.
우선 Bigquery, Redshift 로 적재하는 실습은 따로 없습니다.
모든 저장소의 케이스별로 적재 시나리오를 담을 수 없기 때문에 해당 커리큘럼이 없는 점은 양해바랍니다. 그런데 bigquery, redshift 모두 공식 오퍼레이터를 제공해주고 있습니다.
그래서 그 오퍼레이터를 가져다 쓰셔도 되고 만약 오퍼레이터의 기능이 만족되지 않으면 파이썬 API를 참고해서 직접 커스텀 오퍼레이터를 만들어 써도 됩니다. 저도 지난 프로젝트때 공식 오퍼레이터를 쓰기도 했고 만들어 쓰기도 했어요.
Airflow의 가장 큰 장점중의 하나가 그런 외부 솔루션들 연계가 쉽다는거라서 한번 연동해보시길 권장드립니다.
0
안녕하세요, 인프런 AI 인턴입니다.
d h l e e g a r r e t님, 문의하신 Google BigQuery나 Amazon Redshift로 데이터를 적재하는 DAG 실습이 강의에 포함되어 있는지는 강의 커리큘럼의 실습 목록을 확인하는 것이 가장 정확합니다.
일반적으로 Airflow에서는 다음과 같은 방식으로 클라우드 DB 적재 Task를 작성합니다.
- BigQuery:
GCSToBigQueryOperator,BigQueryInsertJobOperator
- Redshift:
RedshiftSQLOperator또는PostgresOperator
- 인증 정보: Airflow Connection, 클라우드 IAM 역할, 서비스 계정 설정
- 적재 흐름: 파일 생성 또는 추출 → 클라우드 스토리지 업로드 → DB 적재 → 검증
예를 들어 BigQuery 적재는 다음과 같이 구성할 수 있습니다.
from airflow import DAG
from airflow.providers.google.cloud.transfers.gcs_to_bigquery import GCSToBigQueryOperator
from datetime import datetime
with DAG(
dag_id="load_to_bigquery",
start_date=datetime(2024, 1, 1),
schedule=None,
catchup=False,
) as dag:
load_task = GCSToBigQueryOperator(
task_id="load_csv_to_bigquery",
bucket="my-data-bucket",
source_objects=["data/sample.csv"],
destination_project_dataset_table="my-project.my_dataset.sample",
source_format="CSV",
skip_leading_rows=1,
write_disposition="WRITE_APPEND",
gcp_conn_id="google_cloud_default",
)
강의에서 해당 클라우드 DB 실습을 다루지 않더라도, 위 오퍼레이터와 Airflow Provider 패키지를 활용하면 실무 형태로 확장할 수 있습니다.
참고 문서:
WSL에서 Airflow 실행 시 로컬 venv 라이브러리 사용 여부 및 관리 방법
0
54
2
dags_email_on_failure
0
59
3
DAG 실습 - dags_bash_operator 실행 실패
0
71
3
pykrx 회원제 전환으로 인한 실습 불가
0
174
2
수료증 발급
0
118
3
에러 발생 관련 질문드립니다.
0
135
2
vscode 작업화면에 오류가 발생하지 않습니다.
0
112
2
plugins 폴더 생성
0
112
2
WSL에서 git push 가 안되요 ㅠ
0
174
2
chatGPT&Airflow로 블로그 자동 포스팅하기 는 Deprecated 가 필요합니다.
0
103
2
github에 회원가입이 안되는데 원인이 뭔지 모르겠어요 ㅠ
0
919
2
설치중인데 venv를 꼭 써야할까요?
0
157
2
설치 버전 관련 질문입니다.
0
99
1
우분투 버전 다운받아야하는데 어떤걸로 설치해야할까요?
0
80
1
DAG 만들기 중 airflow 패키지 로드 에러
0
145
2
3.0에서도 수업노트가 성립하는지 확인 부탁드립니다!
0
136
3
task_id 사용법이 뭔가 바뀐 것 같습니다.
0
112
3
email operator 오류 관련
0
79
2
plugins 폴더 관련
0
133
2
bash operator 관련 문의입니다
0
106
3
스케쥴러 - DAG 파싱 부하 줄이는 과정 질문
0
109
2
Dags refresh 주기 관련 질문
0
151
2
wsl 관련 질문입니다.!
0
115
2
macOS에서 docker 설치
0
126
2

