백포트 공급자 패키지에서 연산자 가져오기

Cloud Composer 1 | Cloud Composer 2

이 페이지에서는 Airflow 백포트 공급자 패키지가 무엇이고 DAG에서 이를 어떻게 사용할 수 있는지에 대해 설명합니다.

백포트 공급자 패키지는 PyPI 모듈에 패키지된 Airflow 2 버전의 연산자, 전송, 센서, 후크, 보안 비밀입니다.

간단한 설명을 위해 이 문서에서는 연산자에 대해서만 집중합니다. 연산자에 표시된 것과 동일한 방법으로 백포트 패키지의 다른 모든 콘텐츠를 사용할 수 있습니다.

백포트 공급자 패키지는 중요한 문제를 해결합니다. Airflow 환경을 이후 버전으로 업그레이드하지 않아도 연산자, 전송, 센서, 후크에 대한 새 기능 및 보안 업데이트를 얻을 수 있습니다. 예를 들어 Google용 공급자 패키지는 Airflow 2로 제공됩니다. Airflow 1.10.* 환경에 있는 이 패키지의 백포트된 버전에서 연산자를 가져올 수 있습니다.

Apache Airflow에서 백포트 공급자 패키지 개념이 도입되기 전에 연산자는 Airflow의 핵심 부분이었습니다. 새 버전의 연산자를 가져오려면 새 버전의 Airflow가 필요했습니다. 이를 위해 Cloud Composer 환경을 이후 버전으로 업그레이드해야 했습니다. Airflow 2는 이러한 모델을 벗어나 공급자 패키지를 도입합니다. Airflow 2의 공급자 패키지는 Google과 같은 특정 공급자를 위한 연산자, 전송, 센서, 후크, 보안 비밀을 포함하는 PyPI 모듈입니다. Airflow 1.10.*를 사용하는 경우 이러한 변경의 이점을 활용하고 공급자 패키지의 백포트된 버전을 사용할 수 있습니다.

사전 설치된 백포트 패키지 사용

일부 백포트 패키지는 이미 Cloud Composer 이미지에 설치되어 있습니다. 이러한 백포트 패키지를 환경에 설치할 필요가 없습니다. 이 페이지의 뒷부분에 설명된 대로 DAG 코드에서 백포트 패키지의 연산자를 가져오는지만 확인하면 됩니다.

해당 환경에서 사용할 수 있는 백포트 패키지를 확인하려면 해당 환경의 Cloud Composer 이미지에서 패키지 목록을 참조하세요.

해당 환경에 사전 설치된 각 백포트 패키지에 특정 버전이 포함됩니다. 다른 버전을 사용하고 싶으면 해당 환경을 업데이트하고 필요한 버전을 지정합니다. 사전 설치된 백포트 패키지를 다운그레이드하는 것은 권장되지 않습니다. 이후 버전에 문제가 발견된 경우에만 이전 버전을 설치하세요. 사전 설치된 백포트 패키지는 제거할 수 없으며, 설치된 버전을 변경하는 것만 가능합니다.

백포트 패키지 설치 및 업그레이드

백포트 패키지를 설치하거나 업그레이드하려면 다음 안내를 따르세요.

  1. PyPI.org에서 필요한 백포트 패키지를 찾습니다.

  2. 다른 PyPI 패키지와 같이 패키지를 설치하거나 업그레이드합니다.

  3. 필요한 경우 교차 공급자 패키지 종속 항목을 설치합니다. 이는 백포트 패키지의 모든 기능을 사용해야 할 수도 있는 추가 종속 항목입니다.

    예를 들어 apache-airflow-backport-providers-googleSalesforceToGcsOperator을 사용하려면 [salesforce] 부가 정보가 필요합니다. apache-airflow-backport-providers-google설치하고 부가 정보 및 버전 필드에 [salesforce] 부가 정보를 지정합니다.

DAG에서 백포트 공급자 패키지의 연산자 가져오기

백포트 패키지의 콘텐츠 목록을 보려면 PyPI.org에서 백포트 패키지 페이지로 이동합니다. 예를 들어 apache-airflow-backport-providers-google 페이지에는 이 패키지의 연산자, 전송, 센서, 후크, 보안 비밀이 나열됩니다.

백포트 공급자 패키지는 신규 및 이동된 연산자와 기타 콘텐츠를 도입합니다. 뒷부분에서 설명하는 것처럼 이러한 두 유형 간에는 차이가 있습니다.

새 연산자 가져오기

새 연산자는 Airflow 1.10.*에 없습니다. 백포트 패키지 없이 이러한 연산자를 가져오려고 시도하면 가져오기 오류가 발생합니다.

백포트 패키지에서 새 연산자를 사용하려면 PyPI.org의 이 백포트 패키지에 대한 페이지에 설명된 것처럼 해당 airflow.providers.* 패키지에서 가져옵니다.

다음 예시에서는 apache-airflow-backport-providers-google 패키지로부터 새 연산자를 가져옵니다.

from airflow.providers.google.cloud.operators.bigquery_dts import (
    BigQueryCreateDataTransferOperator,
    BigQueryDeleteDataTransferConfigOperator,
    )

이동된 연산자 가져오기

이동된 연산자는 Airflow 1.10.*에 이미 있는 연산자입니다. 백포트 공급자 연산자를 설치한 후 연산자의 다른 두 버전을 가져올 수 있습니다. 한 버전은 Airflow에 번들로 포함되어 있고 다른 버전은 이동된 연산자입니다. 이동된 연산자를 사용하려면 새 가져오기 경로를 사용하여 가져옵니다.

백포트 패키지에서 이동된 연산자를 사용하려면 PyPI.org의 이 백포트 패키지에 대한 페이지에 설명된 것처럼 해당 airflow.contrib.* 패키지에서 가져옵니다.

다음 예시에서는 apache-airflow-backport-providers-google 패키지로부터 이동된 연산자를 가져옵니다.

from airflow.contrib.operators.bigquery_operator import (
    BigQueryCreateEmptyDatasetOperator,
    BigQueryOperator,
    )

다음 단계