Airflow에서 Microsoft Purview로 계보를 가져오는 방법(미리 보기)
Airflow 는 데이터 파이프라인을 작성하고 관리하는 데 사용할 수 있는 오픈 소스 워크플로 자동화 및 예약 플랫폼입니다. Microsoft Purview는 데이터 계보 수집 및 분석을 위한 개방형 프레임워크인 OpenLineage와 통합하여 Airflow 계보 수집을 지원합니다. 여기에서 Airflow가 OpenLineage와 작동하는 방식에 대해 알아봅니 다.
Airflow에서 OpenLineage를 사용하도록 설정하면 DAG가 실행될 때 작업 및 데이터 세트에 대한 메타데이터 및 계보가 자동으로 추적됩니다. 구성한 Azure Event Hubs 정보가 전송됩니다. Microsoft Purview는 이벤트를 구독하고, 구문 분석하고, 데이터 맵에 수집합니다.
중요
이 기능은 현재 미리 보기로 제공됩니다. Microsoft Azure Preview에 대한 추가 사용 약관에는 베타, 미리 보기 또는 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 추가 법적 조건이 포함됩니다.
지원되는 Airflow 버전은 1.10 이상 및 2.0-2.7입니다.
Microsoft Purview는 Airflow에서 다음 형식의 데이터 원본을 사용하는 경우 메타데이터 및 계보 수집을 지원합니다.
- Amazon RDS for PostgreSQL
- PostgreSQL용 Azure Database
- Google BigQuery
- PostgreSQL
- Snowflake
다음 Airflow 메타데이터가 함께 캡처됩니다.
- Airflow 작업 영역
- Airflow DAG
- 에어플로 작업
이벤트 기반 방식으로 DAG가 성공적으로 실행되면 계보가 Microsoft Purview에 수집됩니다.
- 열 수준 계보는 현재 지원되지 않습니다. 데이터 자산의 스키마가 캡처됩니다.
- 작업에서 데이터베이스 뷰를 참조하는 경우 현재 테이블 자산으로 캡처됩니다.
- 모든 메타데이터는 Microsoft Purview 루트 컬렉션에 수집됩니다. 데이터 맵에 이미 있는 자산은 구성된 컬렉션에 유지됩니다.
필수 구성 요소로 실행 중인 Airflow instance 필요합니다.
Airflow에서 Microsoft Purview로 계보를 얻으려면 다음을 수행해야 합니다.
- Azure Event Hubs 설정
- Microsoft Purview에 메시지를 게시하도록 Event Hubs 구성
- OpenLineage를 사용하여 Airflow 구성
- Airflow 작업 실행 및 자산/계보 보기
Airflow에서 OpenLineage에서 추적하는 메타데이터 및 계보의 수신자로 Azure Event Hubs 설정합니다.
이벤트 허브를 만듭니다. 이벤트 허브 이름을 "microsoft_internal_openlineage"로 지정합니다.
"microsoft_internal_openlineage" 이벤트 허브 ->액세스 제어(IAM) ->역할 할당 추가로 이동하여 Microsoft Purview 계정의 관리 ID에 "Azure Event Hubs Data Receiver" 역할을 할당합니다. 자세한 단계는 Azure Portal 사용하여 Azure 역할 할당을 참조하세요.
Microsoft Purview는 사용자 고유의 Event Hubs에서 이벤트 사용 및 푸시를 지원합니다. 이 문서에 따라 Microsoft Purview용 Event Hubs 구성: Atlas Kafka topics 메시지를 보내고 받도록 Microsoft Purview를 사용하여 Event Hubs 구성
요약:
Microsoft Purview 계정 -> 관리되는 리소스 탭으로 이동하여 관리되는 Event Hubs 네임스페이스를 사용하지 않도록 설정합니다.
Kafka 구성 탭 ->+ 구성 추가 ->후크 구성으로 이동하여 이름을 입력하고 이전 단계에서 만든 Event Hubs 네임스페이스 및 Event Hubs를 선택합니다.
설치:
최신 'openlineage-airflow' 라이브러리를 다운로드하여 설치하려면 실행 중인 Airflow instance 'requirements.txt' 파일을 다음으로 업데이트합니다.
openlineage-airflow
참고
Airflow 버전 및 openlineage-airflow 버전은 일치해야 합니다. 예를 들어 Airflow 2.7.1을 사용하는 경우 openlineage-airflow 버전 1.1.0 또는 1.2.0을 사용할 수 있습니다. 이 웹 사이트에서 일치하는 버전을 볼 수 있습니다.
구성:
다음으로 OpenLineage에서 이벤트를 보내는 대상으로 Azure Event Hubs instance 구성합니다.
Airflow 루트 경로 아래에 'openlineage.yml' 파일을 만듭니다. 파일의 내용은 다음과 같습니다.
transport: type: "kafka" config: bootstrap.servers: "{EVENTHUB_SERVER}:9093" security.protocol: "SASL_SSL" sasl.mechanism: "PLAIN" sasl.username: "$ConnectionString" sasl.password: "{PASSWORD}" client.id: "airflow-client" topic: "microsoft_internal_openlineage" flash: True
두 자리 표시자를 값으로 바꿉니다.
Airflow 서버를 다시 시작합니다.
이제 Airflow 작업을 실행한 다음 Microsoft Purview 거버넌스 포털로 이동하여 자산을 찾아보고 검색/볼 수 있습니다. DAG를 성공적으로 실행한 직후 자산이 표시됩니다.
Airflow 자산 찾아보기:
계보를 사용하여 Airflow 작업 자산 세부 정보를 봅니다.
Airflow 작업을 실행하지만 Microsoft Purview에 표시되는 해당 자산/계보가 표시되지 않는 경우:
- Airflow 사용 사례가 Microsoft Purview에서 지원되는지 확인합니다. 지원되는 기능 섹션을 참조하세요.
- 들어오는 요청 및 메시지가 있으면 Event Hubs instance 이동하여 검사. 아니요인 경우 Airflow에서 OpenLineage 구성을 두 번 검사.