본문 바로가기
CSP (Cloud Service Provider)/GCP

Composer PyPI Package

by BTC_.tf 2024. 1. 31.

베하, 다들 잘 지내고 계신가요.

엊그제 새해가 온 거 같은데, 어느덧 1월의 마지막이 왔네요.

 

오늘은 Composer에서 PyPI Package에 대해 알아보겠습니다.

그럼, 시작하겠습니다.

 


 

먼저 PyPI Package의 종류에 대해 알아보겠습니다.

 

Preinstalled PyPI Package해당 환경의 Composer Image에 포함된 Package입니다. 각 Composer Image에는 Composer 및 Airflow Version과 관련된 PyPI Package가 포함됩니다. 

Custom PyPI Package는 Preinstalled PyPI Package 외에 추가로 Environment 에 설치할 수 있는 Package입니다.

 

 

Package를 List하는 방법에 대해 알아보겠습니다.

 

먼저, Preinstalled PyPI Package List 명령어입니다.

gcloud beta composer environments list-packages \
    [Environment명] \
    --location [Location명]

Environment의 이름과 Environment가 존재하는 Location을 적용하면 됩니다.

 

두번째는 Custom PyPI Package List 명령어입니다.

gcloud composer environments describe [Environment명] \
  --location [Location명] \
  --format="value(config.softwareConfig.pypiPackages)"

 

 

다음으론 Composer에 Custom Package를 변경, 추가, 삭제하는 방법에 대해 알아보겠습니다.

 

먼저 PyPI에서 실행하는 명령어입니다.

[PyPI Package 변경 명령어]

gcloud composer environments update [Environment명] \
    --location [Location명] \
     --update-pypi-packages-from-file requirements.txt

여기서 'requirements.txt'는 Package 요구사항이 기술된 문서입니다.

 

해당 명령어 실행 시 주의할 점은, 요구사항 문서에 기술된 Package로 변경된다는 점입니다.

이때, 지정되지 않은 기존 Package는 삭제된다는 점 유의 바라겠습니다.

 

[PyPI Package 추가 명령어]

gcloud composer environments update [Environment명] \
    --location [Location명] \
     --update-pypi-package [Package명] [버전 및 추가 항목]

해당 명령어 실행 시, --update-pypi-package 인수에 기입된 Package가 Environment에 추가됩니다.

 

[PyPI Package 삭제 명령어]

gcloud composer environments update [Environment명] \
    --location [Location명] \
     --remove-pypi-packages [Package명]

해당 명령어 실행 시, --remove-pypi-package 인수에 기입된 Package가 Environment에서 삭제됩니다.

 

 

다음은 Public Repository에서 Package를 설치하는 방법입니다.

Public IP가 있는 다른 Repository에 호스팅된 Package를 설치할 수 있습니다.

 

먼저, pip 구성 파일을 생성합니다.

구성 파일의 요소는 다음과 같아야 합니다.

- Repository URL

- Repository에 대한 액세스 사용자 인증 정보

- 기본이 아닌 pip 설치 옵션

 

그 후, Environment의 Bucket URI를 파악합니다.

파악된 Environment Bucket의 /config/pip/ 폴더에 위에서 생성한 pip 구성 파일을 업로드합니다.

마지막으로, 위에서 기술한 명령어를 이용해 Package를 설치합니다.

 

 

추가로 Artifact Registry Repository에서 Package를 설치하는 방법도 알아보겠습니다.

Project의 Artifact Registry Repository에 Package를 저장하고, 이 Repository에서 설치하도록 Environment를 구성할 수가 있습니다.

 

먼저, pip 구성 파일을 생성합니다.

구성 파일의 요소는 다음과 같아야 합니다.

- Artifact Registry Repository의 URL

- Repository에 대한 액세스 사용자 인증 정보

- 기본이 아닌 pip 설치 옵션

 

Artifact Registry Repository의 경우 Repository URL에 /simple/을 추가합니다.

아래는 예시 URL입니다.

[global]
extra-index-url = https://us-central1-python.pkg.dev/example-project/example-repository/simple/

 

파악된 Environment Bucket의 /config/pip/ 폴더에 위에서 생성한 pip 구성 파일을 업로드합니다.

마지막으로, 위에서 기술한 명령어를 이용해 Package를 설치합니다.

 


 

오늘은 Composer의 PyPI Package에 대해 간단하게 알아봤습니다.

 

다들 좋은 하루 보내시구요, 독감 조심하세요.

그럼 베바!

'CSP (Cloud Service Provider) > GCP' 카테고리의 다른 글

Bigquery UDF 활용  (0) 2024.03.31
IntelliJ로 SSH 세션 접속  (0) 2024.01.18
VPC Service Control  (0) 2024.01.12
Duet AI Bigquery 활용  (1) 2024.01.05
Cloud Build란?  (1) 2024.01.03

댓글