airflow default_args error - Invalid arguments were: **kwargs: {'provide_context': False}
2024. 2. 7. 14:38
데이터 엔지니어링/Airflow
에러 발생 airlfow 를 사용하다가 아래와 같은 에러가 발생했다. airflow.exceptions.AirflowException: Invalid arguments were passed to _PythonDecoratedOperator (task_id: check_steps__1). Invalid arguments were: **kwargs: {'provide_context': False} 에러 내용은 Invalid arguments were: **kwargs: {'provide_context': False} 라는 내용으로 default_args 에 설정해준 provide_context 의 값이 False 되어있어서 발생한 에러로 보였다. 에러가 났을 때 dag default_args 의 내용은 다음..
airflow Default Arguments
2024. 2. 7. 11:27
데이터 엔지니어링/Airflow
airflow 에서 DAG 를 생성할 때 사용되는 default arguments 에 대해서 정리해보려고 한다. Default Arguments default_args 에 대해서 이해하기 위해 airflow concept 에서 다음과 같이 확인할 수 있었다. https://airflow.apache.org/docs/apache-airflow/2.6.2/core-concepts/dags.html#default-arguments DAGs — Airflow Documentation airflow.apache.org 설명을 해석해보면, DAG 안에 있는 많은 Operator 들이 같은 설정을 해주는 경우가 있는데 모든 Operator 들에게 개별적으로 지정하는 대신 DAG 를 생성할 때 default_args ..
airflow Dynamic Task Mapping
2023. 12. 28. 14:27
데이터 엔지니어링/Airflow
airflow 를 사용하면서 하나의 task 안에서 여러 개의 작업이 수행될 때 각 작업의 상태를 확인하거나 모든 작업에 동일한 값을 넘겨주고 싶은 경우가 있다. 이럴 때 airflow 제공하는 것이 airflow Dynamic Task Mapping 이라는 기능이다. 이 기능은 airflow 2.3.0 버전에서 새롭게 추가된 기능이라고 한다. 이 기능 외에도 다양한 기능이 추가된 것으로 알고 있다. airflow 2.3.0 의 release note 는 아래에서 확인할 수 있다. https://airflow.apache.org/docs/apache-airflow/stable/release_notes.html#airflow-2-3-0-2022-04-30 Release Notes — Airflow Docu..
aws cli error - AttributeError: module 'lib' has no attribute 'X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT'
2023. 11. 25. 18:53
Cloud/AWS
awscli 를 설치하고나서 aws --version 명령어를 통해 버전을 확인하려고 하니 다음과 같이 에러가 발생했다. $ aws --version Traceback (most recent call last): File "/opt/homebrew/bin/aws", line 19, in import awscli.clidriver File "/opt/homebrew/Cellar/awscli/2.13.38/libexec/lib/python3.11/site-packages/awscli/clidriver.py", line 21, in import botocore.session File "/opt/homebrew/Cellar/awscli/2.13.38/libexec/lib/python3.11/site-packag..
python urllib 사용해서 URL 다루어보기
2023. 10. 21. 19:39
프로그래밍 언어/Python
python 으로 개발하면서 URL 을 다루게 되면서 어떻게 URL 내에서 path 만 가져와야하고 parameter 를 어떻게 가져와야하고 query string 은 어떻게 추가해야하는지에 대한 고민을 했던 적이 있다. 정말 단순하게 생각했을 때 URL 문자열 알에 들어있는 '/' 나 '?' 또는 '&' 등의 문자를 통해 split 해서 가져오면 되지 않을까? 하는 생각이 들었다. 하지만 python urllib 이라는 라이브러리를 통해서 정말 쉽게 URL 을 다룰 수 있다는 것을 알게 되었고 어떻게 사용할 수 있는지 정리해보려고 한다. 먼저 urllib 을 사용해보기 위해서 다음과 같이 URL 이 있다고 가정하고 사용해보려고 한다. 이 URL 은 내가 지금 블로그에 글을 쓰고 있는 페이지의 URL 이..
Postgresql 컬럼 기본값(default) 설정
2023. 10. 5. 23:38
데이터 엔지니어링/Database
PostgreSQL 에서 컬럼을 설정할 때 기본값(default) 에 대해서 정리해보려고 한다. 기본값 (default) 이란 PostgreSQL 에서 컬럼의 Default 는 해당 컬럼에 데이터를 삽입할 때 명시적으로 값을 제공하지 않을 때 사용되는 기본값을 정의하는데 사용된다. 쉽게 말해서 어떠한 동작을 하지 않을 때 기본적으로 Default 에 명시된 값이 들어간다는 말이다. 예를 들어 Default 는 다음과 같이 설정할 수 있다. CREATE TABLE test_table ( id serial PRIMARY KEY, name VARCHAR(255) DEFAULT '아무개' ); name 에 아무런 값을 등록하지 않으면 '아무개' 라는 값이 들어가게 된다. 그리고 Default 는 다음과 같이 수..
conda 기본 명령어 정리
2023. 10. 3. 18:08
시스템/Virtual Machine
conda 를 사용하면서 기본적인 명령어에 대해서 정리해두려고 한다. 사용하면서 알아두어야할 명령어들에 대해서도 추가할 예정이다. conda 가상환경 생성 conda create -n [가상환경 이름] python=[python version] # 예시 conda create -n venv python=3.11 conda 가상환경 activate & deactivate # 가상환경 활성화 (activate) conda activate [가상환경 이름] # 가상환경 비활성화 (deactivate) conda deactivate [가상환경 이름] conda python 특정 버전 설치 conda install python=[python version] # 예시 conda install python=3.11
miniconda3 - CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
2023. 10. 3. 17:59
시스템/Virtual Machine
miniconda 를 설치하고나서 가상 환경을 생성하고 activate 하는 과정에서 다음과 같이 에러 메시지가 나왔다. CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'. To initialize your shell, run $ conda init Currently supported shells are: - bash - fish - tcsh - xonsh - zsh - powershell See 'conda init --help' for more information and options. IMPORTANT: You may need to close and restart your shell af..