월 29,040원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결Airflow 마스터 클래스
auto refresh
안녕하세요.강의 잘 듣고 있습니다. 저는 Mac환경에서 수강중이고,airflow 2.7.1을 사용중입니다. 강의에서 dag을 pull하고 2~3분 정도 기다리면 auto-refresh되어 compose를 재실행하지 않아도 된다고 하셨는데,제 경우엔 auto-refresh가 된 이후에도 새로 추가된 dag이 리스트에 나타나지 않더라구요. 그래서 매번 compose를 재실행하고 있는데,혹시 의심가는 원인이 있다면 말씀해주실 수 있으실까요?구글링을 해봐도 해결방법을 찾기 쉽지 않아서 질문 남깁니다ㅜㅜ
- 미해결Airflow 마스터 클래스
mac 환경에서 실습할 경우
안녕하세요 mac 환경에서 강의를 수강하려고 합니다.이러한 경우 wsl 설치 없이 다음 강의로 넘어가면 될까요??
- 미해결Airflow 마스터 클래스
1년에 한 번 돌리는 스케줄도 에어플로우로 관리하면 좋을까요?
안녕하세요.수업 잘 듣고 있습니다! 년 단위의 데이터를 가져오는 경우엔1년에 딱 한 번만 코드를 작동하면 되는데,이런 경우에도 에어플로우로 관리를 해주는 게 좋을까요?태스크에 비해 너무 자원을 많이 쓰는 건지,그래도 프로세스를 보기 편하게 관리할 수 있다는 점에도 활용하는 게 좋을지고민이 많이 되네요. 강사님의 의견이 궁금합니다!
- 미해결Airflow 마스터 클래스
맥북으로 실습 진행이 가능한지 궁금합니다.
안녕하세요, 현재 M2 macbook을 사용하고 있습니다.강의에서 윈도우 환경에 WSL을 설치한 후 그 위에 airflow를 설치하여 실습을 진행하는 것으로 이해했습니다.구글링을 좀 해보니 맥북에서도 airflow 설치는 충분히 가능한 것으로 보이는데, 만약 맥북에서 설치했다고 하더라도 뒷부분 실습과정에서 많은 차이가 있는지 궁금합니다!
- 미해결Airflow 마스터 클래스
pythonoperator 를 이용한 unzip 오류
python operator를 이용한 파일 unzip 시 permision denied 오류 발생했습니다.airflow 는 wsl을 이용하여 설치하였고, unzip을 이용하여 네트워크 드라이브에 압축을 풀어 저장하고자 합니다.이때[2023-09-01, 18:12:33 KST] {taskinstance.py:1824} ERROR - Task failed with exception Traceback (most recent call last): File "/home/xxx/airflow_env/lib/python3.10/site-packages/airflow/operators/python.py", line 181, in execute return_value = self.execute_callable() File "/home/xxx/airflow_env/lib/python3.10/site-packages/airflow/operators/python.py", line 198, in execute_callable return self.python_callable(*self.op_args, **self.op_kwargs) File "/home/xxx/airflow/dags/Answersheet_dp_2.py", line 66, in unzipfiles zip_ref.extractall(extract_path) File "/usr/lib/python3.10/zipfile.py", line 1647, in extractall self._extract_member(zipinfo, path, pwd) File "/usr/lib/python3.10/zipfile.py", line 1701, in extractmember open(targetpath, "wb") as target: PermissionError: [Errno 13] Permission denied: '/mnt/s/04.xxxxx/'와 같은 오류가 발생하였습니다.위 문제를 해결하려면 어떻게 해야하나요?
- 해결됨Airflow 마스터 클래스
섹션7: CustomOperator 개발 실습부분 pandas에 관하여
안녕하세요. 강사님 코드를 참조하며 공부를 하다보니, 어느새 새벽시간대가 되었네요다름이 아니라, 방금 전 쯤에 질문 드린 xmltodict는 import 에러가 발생했는데, (비주얼스튜디오 환경에서 pip install 및 wsl2환경에서 pip install 했음에도 불구하고)섹션7: CustomOperator 개발 실습 부근에서 pandas를 사용하는데, 비주얼 스튜디오 코드 가상환경(venv)에서 pandas가 설치되어있지 않아서 제가 pip install pandas로 설치를 하고 진행을 했는데, airflow 상에서 import error 가 나지 않는 점이 궁금해서 질문을 드리게 되었습니다. 추가)xml 데이터가 자꾸 안되어서 다른 데이터를 사용해보자는 마음으로 일단 json 양식까지 지원되는 open api를 물색해봤는데, 잘 동작하네요.---서울시 전기차 충전소 정보(서울시 설치)서울시 전기차 급속충전기 정보 현황(서울시 설치)서울시 자동차 전용도로 위치 정보(좌표계: GS80) 데이터 사이언티스트 쪽에서 데이터 엔지니어로 직무를 바꾸게 되었는데, 아무래도 정보가 정말 없다보니, 뭐부터 시작을 해야할지 막막했었습니다.아직도 신입으로 취업하기 위해서는 구체적으로 어떤 것을 완성해야할지 모르지만, 인프런에서 좋은 강의를 알게 되어서 강사님께 항상 감사하게 생각하고 있습니다.
- 해결됨Airflow 마스터 클래스
섹션7: SimpleHttpOperator import error문제
안녕하세요. 서울시 공공데이터 포털에 있는 실시간 데이터를 바탕으로, 진행해보고 싶어서 강사님께서 짜신 코드와 조금 다르게 구성을 했는데,패키지 에러 문제가 나타났습니다. 에러 사항은 import xmltodict error문제 입니다.(1) 데이터 수집https://data.seoul.go.kr/dataList/OA-21285/A/1/datasetView.do샘플 데이터 양식: http://openapi.seoul.go.kr:8088/{API_KEY}/xml/citydata/{startnum}/{endnum}/POI{num}'POI{num}의 경우, 해당 num은 숫자가 아닌 str형태입니다. (001 ~ 113)(저는 여기서, 전기차 충전소와 충전기 데이터 분석을 통해, 급속 충전기 최적 입지 데이터 분석을 해보고 싶어 크롤링과 MYSQL에 데이터를 수집은 해놓았습니다. )(강사님께 airflow를 배우며, airflow를 통해 배치 기반으로 데이터 수집을 자동화하고 싶습니다.)[충전소 데이터][충전기 데이터]--- (2) 에러 발생!(3) 코드 개요 from airflow import DAG from airflow.operators.bash import BashOperator from airflow.decorators import task from airflow.providers.http.operators.http import SimpleHttpOperator # import common.poi_func as poi_array# poi nums import pendulum with DAG( dag_id="dags_simple_http_operators", start_date=pendulum.datetime(2023, 8, 1, tz="Asia/Seoul"), catchup=False, schedule="0 18-20 * * *" #매일 오후 6시~8시 1시간 간격으로 실행 ) as dag: """ 서울시 실시간 전기차 충전소/충전기 데이터 정보 """ # http_conn_id = 'openapi.seoul.go.kr' #array = poi_array() #for poi_number in array: tb_electric_station_info = SimpleHttpOperator( task_id="tb_electric_station_info", http_conn_id='openapi.seoul.go.kr', endpoint= '{{var.value.apikey_openapi_seoul_go_kr}}/xml/citydata/1/1/광화문·덕수궁', method='GET', headers={"Content-Type": "application/xml"} ) @task(task_id='python_1') def python_1(**kwargs): ti = kwargs['ti'] rslt = ti.xcom_pull(task_ids='tb_electric_station_info') from pprint import pprint import xmltodict response_dict = xmltodict.parse(rslt) pprint(response_dict) tb_electric_station_info >> python_1() 강사님께서는 json.load()를 사용했지만, 해당 실시간 데이터는 xml 형식으로만 받아올 수 있어서, 출력을 하기 위해 xmltodict 를 import 해와서, 잘 받아오는지 테스트를 해보고자 하였습니다. 하나의 페이지에 무수히 많은 태그들이 있기 때문에, 페이지는 1페이지로만 설정을 했습니다. 해당 에러를 해결하기 위해서, pip install xmltodict를 진행하였습니다.그럼에도, 해결이 되지 않아서, git이 연동되어있는 쪽에,pip install xmltodict로 패키지를 설치해주었습니다.혹시 몰라서, docker compose down을 시킨 뒤,다시 docker_compose.yaml 파일이 있는 곳에서 docker compose up을 실행하여 airflow 환경에 접속을 했는데,ModuleNotFoundError: No module named 'xmltodict' [2023-08-15, 23:47:23 KST] {taskinstance.py:1350} INFO - Marking task as FAILED. dag_id=dags_simple_http_operators, task_id=python_1, execution_date=20230815T144715, start_date=20230815T144723, end_date=20230815T144723 [2023-08-15, 23:47:23 KST] {standard_task_runner.py:109} ERROR - Failed to execute job 206 for task python_1 (No module named 'xmltodict'; 77)여전히 해당 모듈이 없다는 에러가 뜨네요 ..어떻게 해결해야할까요? ---[추가1]xcom에는 그래도 데이터가 잘 받아와지는 걸 확인할 수 있었습니다. 해당 데이터를 파싱하는 과정에서 에러가 난 것 같습니다.[추가2]나름대로 방법을 찾아봤는데, https://stackoverflow.com/questions/67851351/cannot-install-additional-requirements-to-apache-airflowdocker_compose.yaml파일을 수정해봤는데도...종료가 되네요..
- 미해결Airflow 마스터 클래스
강의 소스코드 문의
강의에서 진행된 소스코드는 공유안해주시나요?
- 해결됨Airflow 마스터 클래스
Bash Operator with Macros 수업에서 날짜에 대해 올바르게 해석했는지 질문드리고 싶습니다.
안녕하세요. airflow에 관한 질 높은 수업을 정말 잘 듣고 있습니다. 다른 공부보다 airflow 공부하는 게 재밌어서, 시간 가는 줄 모르고 노션에 정리하며 실습을 해보고 있습니다. 다름이 아니라, airflow의 날짜 개념에 대해 제가 올바르게 이해했는지 확인을 하고 싶어서 문의를 드리게 되었습니다.강의 내용은 Bash Operator with macros부분이며dags_bash_with_macros_eg1과 dags_bash_with_macros_eg2에 대한 airflow log 값에 대한 부분입니다 START_DATE와 END_DATE에 대해서 올바르게 이해했는지 여쭈어보고 싶습니다.