Share via


데이터 중립적 수집 엔진

이 문서에서는 Azure Data Factory 내에서 PowerApps, Azure Logic Apps 및 메타데이터 기반 복사 작업의 조합을 사용하여 데이터 중립적 수집 엔진 시나리오를 구현하는 방법을 설명합니다.

데이터 중립적 수집 엔진 시나리오는 일반적으로 비기술(비-데이터 엔지니어) 사용자가 추가 처리를 위해 데이터 자산을 Data Lake에 게시하도록 하는 데 중점을 줍니다. 이 시나리오를 구현하려면 다음을 사용하도록 설정하는 온보딩 기능이 있어야 합니다.

  • 데이터 자산 등록
  • 워크플로 프로비저닝 및 메타데이터 캡처
  • 수집 일정

이러한 기능이 상호 작용하는 방식을 확인할 수 있습니다.

데이터 등록 기능 및 상호 작용 다이어그램

그림 1: 데이터 등록 기능 상호 작용

다음 다이어그램에서는 Azure 서비스의 조합을 사용하여 이 프로세스를 구현하는 방법을 보여 줍니다.

데이터 중립적 엔진 수집 프로세스 다이어그램

그림 2: 자동화된 수집 프로세스

데이터 자산 등록

자동화된 수집을 구동하는 데 사용되는 메타데이터를 제공하려면 데이터 자산 등록이 필요합니다. 캡처하는 정보에는 다음이 포함됩니다.

  • 기술 정보: 데이터 자산 이름, 원본 시스템, 형식, 양식 및 빈도입니다.
  • 거버넌스 정보: 소유자, 관리자, 가시성(검색 목적) 및 민감도

PowerApps는 각 데이터 자산을 설명하는 메타데이터를 캡처하는 데 사용됩니다. 모델 기반 앱을 사용하여 사용자 지정 Dataverse 테이블에 유지되는 정보를 입력합니다. Dataverse 내에서 메타데이터를 만들거나 업데이트하면 추가 처리 단계를 호출하는 자동화된 클라우드 흐름을 트리거합니다.

데이터 자산 등록 다이어그램

그림 3: 데이터 자산 등록

프로비전 워크플로/메타데이터 캡처

프로비전 워크플로 단계에서는 등록 단계에서 수집된 데이터의 유효성을 검사하고 metastore에 유지합니다. 다음과 같은 기술 및 비즈니스 유효성 검사 단계가 수행됩니다.

  • 입력 데이터 피드 유효성 검사
  • 승인 워크플로 트리거
  • 메타데이터 저장소에 대한 메타데이터의 지속성을 트리거하는 논리 처리
  • 활동 감사

등록 워크플로 다이어그램

그림 4: 등록 워크플로

수집 요청이 승인되면 워크플로에서 Azure Purview REST API를 사용하여 원본을 Azure Purview에 삽입합니다.

데이터 제품 온보딩을 위한 자세한 워크플로

새 데이터 세트를 수집하는 방법(자동화됨)을 보여 주는 다이어그램

그림 5: 새 데이터 세트를 수집하는 방법(자동화됨)

그림 5에서는 새 데이터 원본의 수집을 자동화하기 위한 상세 등록 프로세스를 보여 줍니다.

  • 프로덕션 및 Data Factory 환경을 포함하여 원본 세부 정보가 등록됩니다.
  • 데이터 셰이프, 형식 및 품질 제약 조건이 캡처됩니다.
  • 데이터 애플리케이션 팀은 데이터가 중요한 데이터(개인 데이터)인지 여부를 나타내며, 이 분류는 원시, 보강 및 큐레이팅된 데이터를 수집할 데이터 레이크 폴더가 생성되는 프로세스를 구동합니다. 원본 이름은 원시 및 보강된 데이터이고 데이터 제품 이름은 큐레이팅된 데이터입니다.
  • 데이터 세트를 수집하고 액세스 권한을 부여하기 위해 서비스 주체 및 보안 그룹이 만들어집니다.
  • 수집 작업은 데이터 랜딩 존의 Data Factory 메타스토어에 만들어집니다.
  • API는 Azure Purview에 데이터 정의를 삽입합니다.
  • 데이터 원본의 유효성 검사와 운영 팀의 승인에 따라 세부 정보가 Data Factory 메타스토어에 게시됩니다.

수집 일정

Azure Data Factory 내에서 메타데이터 기반 복사 작업은 오케스트레이션 파이프라인이 Azure SQL Database에 저장된 Control Table 내의 행에 의해 구동될 수 있도록 하는 기능을 제공합니다. 데이터 복사 도구를 사용하여 메타데이터 기반 파이프라인을 미리 만들 수 있습니다.

파이프라인이 만들어지면 프로비전 워크플로가 Control Table에 항목을 추가하여 데이터 자산 등록 메타데이터로 식별된 원본에서 수집을 지원합니다. Azure Data Factory 파이프라인 및 Control Table 메타스토어가 포함된 Azure SQL Database는 모두 각 데이터 랜딩 존 내에 존재하여 새 데이터 원본을 만들고 데이터 랜딩 존으로 수집할 수 있습니다.

데이터 자산 수집 예약 다이어그램

그림 6: 데이터 자산 수집 예약

새 데이터 원본을 수집하기 위한 자세한 워크플로

다음 다이어그램은 Data Factory SQL Database 메타스토어에서 등록된 데이터 원본을 끌어오는 방법과 처음에 데이터를 수집하는 방법을 보여 줍니다.

새 데이터 원본을 수집하는 방법에 대한 다이어그램

Data Factory 수집 마스터 파이프라인은 Data Factory SQL Database 메타스토어에서 구성을 읽은 후 올바른 매개 변수를 사용하여 반복적으로 실행됩니다. 데이터는 거의 또는 전혀 변경되지 않은 상태로 원본에서 Azure Data Lake의 원시 레이어로 이동합니다. 데이터 셰이프는 Data Factory 메타스토어를 기반으로 유효성을 검사합니다. 파일 형식은 Apache Parquet 또는 Avro 형식으로 변환된 후 보강된 레이어에 복사됩니다.

수집되는 데이터는 Azure Databricks 데이터 과학 및 엔지니어링 작업 영역에 연결되고, 데이터 정의는 데이터 랜딩 존 Apache Hive 메타스토어 내에 만들어집니다.

Azure Synapse 서버리스 SQL 풀을 사용하여 데이터를 노출해야 하는 경우 사용자 지정 솔루션은 레이크의 데이터에 대한 뷰를 만들어야 합니다.

행 수준 또는 열 수준 암호화가 필요한 경우 사용자 지정 솔루션은 데이터 레이크에 데이터를 배치한 다음, SQL 풀의 내부 테이블로 직접 데이터를 수집하고 SQL 풀 컴퓨팅에서 적절한 보안을 설정해야 합니다.

캡처된 메타데이터

자동화된 데이터 수집을 사용하는 경우 연결된 메타데이터를 쿼리하고 대시보드를 만들어 다음을 수행할 수 있습니다.

  • 함수와 관련된 데이터 제품에 대한 작업 및 최신 데이터 로드 타임스탬프를 추적합니다.
  • 사용 가능한 데이터 제품을 추적합니다.
  • 데이터 볼륨을 늘립니다.
  • 작업 실패에 대한 실시간 업데이트를 가져옵니다.

운영 메타데이터를 사용하여 다음을 추적할 수 있습니다.

  • 작업, 작업 단계 및 해당 종속성
  • 작업 성능 및 성능 기록
  • 데이터 볼륨 증가
  • 작업 실패
  • 원본 메타데이터 변경 내용
  • 데이터 제품에 의존하는 비즈니스 기능

Azure Purview REST API를 사용하여 데이터 검색

Azure Purview REST API를 사용하여 초기 수집 중에 데이터를 등록해야 합니다. API를 사용하여 수집된 직후 데이터 카탈로그에 데이터를 제출할 수 있습니다.

자세한 내용은 Azure Purview REST API 사용 방법을 참조하세요.

데이터 원본 등록

다음 API 호출을 사용하여 새 데이터 원본을 등록합니다.

PUT https://{accountName}.scan.purview.azure.com/datasources/{dataSourceName}

데이터 원본에 대한 URI 매개 변수:

이름 필수 형식 설명
accountName True String Azure Purview 계정의 이름입니다.
dataSourceName True String 데이터 원본의 이름입니다.

Azure Purview REST API를 사용하여 등록

다음 예제에서는 Azure Purview REST API를 사용하여 페이로드로 데이터 원본을 등록하는 방법을 보여 줍니다.

Azure Data Lake Storage Gen2 데이터 원본 등록:

{
  "kind":"AdlsGen2",
  "name":"<source-name> (for example, My-AzureDataLakeStorage)",
  "properties":{
    "endpoint":"<endpoint> (for example, https://adls-account.dfs.core.windows.net/)",
    "subscriptionId":"<azure-subscription-guid>",
    "resourceGroup":"<resource-group>",
    "location":"<region>",
    "parentCollection":{
      "type":"DataSourceReference",
      "referenceName":"<collection-name>"
    }
  }
}

SQL Database 데이터 원본 등록:

{
  "kind":"<source-kind> (for example, AdlsGen2)",
  "name":"<source-name> (for example, My-AzureSQLDatabase)",
  "properties":{
    "serverEndpoint":"<server-endpoint> (for example, sqlservername.database.windows.net)",
    "subscriptionId":"<azure-subscription-guid>",
    "resourceGroup":"<resource-group>",
    "location":"<region>",
    "parentCollection":{
      "type":"DataSourceReference",
      "referenceName":"<collection-name>"
    }
  }
}

참고

<collection-name>은 Azure Purview 계정에 존재하는 현재 컬렉션입니다.

검사 만들기

검사를 설정하고 실행하기 전에 Azure Purview에서 원본을 인증하기 위한 자격 증명을 만드는 방법을 알아봅니다.

다음 API 호출을 사용하여 데이터 원본을 검사합니다.

PUT https://{accountName}.scan.purview.azure.com/datasources/{dataSourceName}/scans/{newScanName}/

검사에 대한 URI 매개 변수:

이름 필수 형식 설명
accountName True String Azure Purview 계정의 이름입니다.
dataSourceName True String 데이터 원본의 이름입니다.
newScanName True String 새 검사의 이름

Azure Purview REST API를 사용하여 검사

다음 예제에서는 Azure Purview REST API를 사용하여 페이로드로 데이터 원본을 검사하는 방법을 보여 줍니다.

Azure Data Lake Storage Gen2 데이터 원본 검사:

{
  "name":"<scan-name>",
  "kind":"AdlsGen2Msi",
  "properties":
  {
    "scanRulesetType":"System",
    "scanRulesetName":"AdlsGen2"
  }
}

SQL Database 데이터 원본 검사:

{
  "name":"<scan-name>",
  "kind":"AzureSqlDatabaseMsi",
  "properties":
  {
    "scanRulesetType":"System",
    "scanRulesetName":"AzureSqlDatabase",
    "databaseName": "<database-name>",
    "serverEndpoint": "<server-endpoint> (for example, sqlservername.database.windows.net)"
  }
}

다음 API 호출을 사용하여 데이터 원본 검사:

POST https://{accountName}.scan.purview.azure.com/datasources/{dataSourceName}/scans/{newScanName}/run

다음 단계