작성
·
37
0
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 항목 내용도 업로드 부탁드립니다.
아 챗gpt가 거짓말을 했군요 ㅋㅋ
어쩐지 볼륨속성에 그런 정보까지는 잘 들여다보지는 않는데 의아했어요 ^^
그런데 files디렉토리에 권한이 없다면 보통 권한 에러가 뜨면서 dag도 에러로 종료되거든요. 아마 에러없이 성공으로 마쳤다면 권한 문제는 아니었던것 같아요. 보통 권한문제는 files 디렉토리를 만들때 sudo mkdir files 명령어로 수행했을 때 발생합니다. root 로 만들어지거든요.
그나저나 실습과 달리 다른 데이터셋으로 해보신것고 훌륭합니다. 코로나 데이터셋이 더이상 갱신이 안되고있어서..^^
그래서 지금은 문제가 해결이 된건가요?
답변 감사합니다.
원래 선생님의 방식대로 현재 날짜로 폴더를 만들었는데 에러 해결하는 과정에서 "Propagation": "rprivate" 속성에는 새로운 폴더가 생성되는게 안된다고...챗지피티가...그래서 바로 csv파일을 만드는 코드로 수정하였습니다.
추가로 권한 문제일수도 있을거같애서 chmod 777 명령어로 file 디렉토리 권한을 수정했습니다.