dag_seoul_api dag은 실행이 되는데 파일이 저장이 안되네요
124
작성한 질문수 1

json으로 데이터로 잘불러왓고 dag도 성공적으로 마쳤다고 했는데 정작 files 폴더에는 저장이 안되어 있습니다.
그래서 docker inspect로 mount 속성을 보니
{ "Type": "bind", "Source": "/home/jspark9703/airflow/files", "Destination": "/opt/airflow/files", "Mode": "rw", "RW": true, "Propagation": "rprivate" }
propagation이 rprivate으로 되있더군요 아마 이 속성때문에 그런거같은데... volumes 속성을 바꾸는 방법은 없을까요? 아님 다른 문제가 있는 것일까요?
답변 1
0
안녕하세요 박준수님!
저도 컨테이너 속성 한번 봤는데 propagation 속성은 동일하게 돼있어요. 아마 저 문제는 아닐 것 같아요.
우선 위 dag 수행이 마쳤을 때 컨테이너 안으로 들어가서 /opt/airflow/files 에 데이터가 있는지 확인해보시고
만약 파일이 없다면 수행하신 dag 내용을 올려주시겠어요? 보통 제 git에 있는 내용을 복붙해서 하시다가 내용이 조금 잘못 건드려서 잘못 수행하시는 경우가 있습니다.
그리고 docker-compose.yaml 파일의 volumes 항목 내용도 업로드 부탁드립니다.
0
답변 감사합니다.
원래 선생님의 방식대로 현재 날짜로 폴더를 만들었는데 에러 해결하는 과정에서 "Propagation": "rprivate" 속성에는 새로운 폴더가 생성되는게 안된다고...챗지피티가...그래서 바로 csv파일을 만드는 코드로 수정하였습니다.
추가로 권한 문제일수도 있을거같애서 chmod 777 명령어로 file 디렉토리 권한을 수정했습니다.
from operators.seoul_api_to_csv_operator import SeoulApiToCsvOperator
from airflow import DAG
import pendulum
with DAG(
dag_id= "dags_seoul_api_corona",
schedule="0 7 * * *",
start_date=pendulum.datetime(2024,8,27, tz="Asia/Seoul"),
catchup=False
) as dag :
"""대중교통 분실물"""
tb_lost_article_info = SeoulApiToCsvOperator(
task_id = "tb_lost_article_info",
dataset_nm="lostArticleBizInfo",
path="/opt/airflow/files",
file_name= "TbLostArticleInfo{{data_interval_end.in_timezone('Asia/Seoul') | ds_nodash}}.csv"
)
"""주차장"""
tb_use_year_status_view = SeoulApiToCsvOperator(
task_id = "tb_use_year_status_view",
dataset_nm="TbUseYearstatusView",
path="/opt/airflow/files",
file_name= "TbUseYearstatusView{{data_interval_end.in_timezone('Asia/Seoul') | ds_nodash}}.csv"
)
tb_lost_article_info >> tb_use_year_status_vie

0
아 챗gpt가 거짓말을 했군요 ㅋㅋ
어쩐지 볼륨속성에 그런 정보까지는 잘 들여다보지는 않는데 의아했어요 ^^
그런데 files디렉토리에 권한이 없다면 보통 권한 에러가 뜨면서 dag도 에러로 종료되거든요. 아마 에러없이 성공으로 마쳤다면 권한 문제는 아니었던것 같아요. 보통 권한문제는 files 디렉토리를 만들때 sudo mkdir files 명령어로 수행했을 때 발생합니다. root 로 만들어지거든요.
그나저나 실습과 달리 다른 데이터셋으로 해보신것고 훌륭합니다. 코로나 데이터셋이 더이상 갱신이 안되고있어서..^^
그래서 지금은 문제가 해결이 된건가요?
pykrx 회원제 전환으로 인한 실습 불가
0
114
2
수료증 발급
0
84
3
에러 발생 관련 질문드립니다.
0
83
2
vscode 작업화면에 오류가 발생하지 않습니다.
0
69
2
plugins 폴더 생성
0
75
2
WSL에서 git push 가 안되요 ㅠ
0
114
2
chatGPT&Airflow로 블로그 자동 포스팅하기 는 Deprecated 가 필요합니다.
0
67
2
github에 회원가입이 안되는데 원인이 뭔지 모르겠어요 ㅠ
0
733
2
설치중인데 venv를 꼭 써야할까요?
0
126
2
설치 버전 관련 질문입니다.
0
68
1
우분투 버전 다운받아야하는데 어떤걸로 설치해야할까요?
0
62
1
DAG 만들기 중 airflow 패키지 로드 에러
0
106
2
3.0에서도 수업노트가 성립하는지 확인 부탁드립니다!
0
95
3
task_id 사용법이 뭔가 바뀐 것 같습니다.
0
76
3
email operator 오류 관련
0
66
2
plugins 폴더 관련
0
100
2
bash operator 관련 문의입니다
0
78
3
스케쥴러 - DAG 파싱 부하 줄이는 과정 질문
0
79
2
Dags refresh 주기 관련 질문
0
125
2
wsl 관련 질문입니다.!
0
75
2
macOS에서 docker 설치
0
94
2
템플릿 변수에 대한 오류
0
61
2
custom_image 디렉토리 문의드립니다.
0
54
2
ETL 인터뷰 관련 문의
0
103
2





