다음을 통해 공유


Azure IoT 데이터 프로세서 미리 보기 파이프라인에서 데이터 보강

Important

Azure IoT 작업 미리 보기 - Azure Arc에서 지원되는 Azure IoT 작업은 현재 미리 보기로 제공됩니다. 프로덕션 환경에서는 이 미리 보기 소프트웨어를 사용하면 안 됩니다.

베타, 미리 보기로 제공되거나 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 약관은 Microsoft Azure 미리 보기에 대한 추가 사용 약관을 참조하세요.

보강 단계는 참조 데이터 저장소 데이터 세트의 컨텍스트 정보 및 참조 정보로 파이프라인의 데이터를 보강할 수 있는 선택적인 중간 파이프라인 단계입니다. 보강 단계는 서로 다른 데이터 원본의 데이터를 컨텍스트화하여 파이프라인의 데이터를 더욱 의미 있고 실행 가능하게 만드는 데 도움이 됩니다.

공통 태그, ID 또는 타임스탬프를 사용하여 파이프라인의 데이터를 참조 데이터 세트의 데이터에 조인할 수 있습니다.

필수 조건

보강 파이프라인 단계를 구성하고 사용하려면 Azure IoT 데이터 프로세서 미리 보기의 배포된 인스턴스가 필요합니다.

스테이지 구성

보강 단계 JSON 구성은 단계의 세부 정보를 정의합니다. 스테이지를 작성하려면 양식 기반 UI와 상호 작용하거나 고급 탭에서 JSON 구성을 제공하면 됩니다.

필드 설명 필수 옵션 예시
이름 데이터 프로세서 UI에 표시할 이름입니다. - ERP Context
설명 보강 단계의 기능에 대한 사용자 친화적인 설명입니다. 아니요 - Enrich with vendor dataset
데이터 세트 보강을 위한 참조 데이터가 있는 데이터 세트를 선택합니다. - Vendor dataset
출력 경로 참조 데이터를 배치할 보내는 메시지의 위치에 대한 경로입니다. - .payload.erp
배열로 풍부하게 하기 true인 경우 보강된 항목은 항상 배열입니다. 아니요 No/Yes Yes
제한 참조 데이터 세트에서 반환되는 항목 수를 제한합니다. 이 설정은 메시지에서 보강되는 레코드 수를 제어합니다. 아니요 - 100
조건 > 연산자 데이터 보강을 위한 조인 조건 연산자입니다. 아니요 Key match/Past nearest/Future nearest Key match
조건 > 입력 경로 각 조건과 일치하는 데 사용할 키의 경로입니다. 아니요 - .payload.asset
조건 > 속성 데이터 세트 구성에서 제공되는 조인 조건 작업의 속성 이름 또는 타임스탬프 아니요 드롭다운에서 속성 이름이나 타임스탬프를 선택합니다. equipmentName

조건 연산자

조인 조건 설명
Key match 보강 단계에 지정된 키 또는 속성 이름과 참조 데이터 저장소가 정확히 일치하는 데이터를 조인하는 ID 기반 조인입니다.
Past nearest 보강 단계에서 제공된 메시지 타임스탬프와 관련하여 참조 데이터 저장소에서 가장 가까운 과거 타임스탬프와 참조 데이터를 조인하는 타임스탬프 기반 조인입니다.
Future nearest 보강 단계에서 제공된 메시지 타임스탬프와 관련하여 참조 데이터 저장소의 가장 가까운 향후 타임스탬프와 참조 데이터를 조인하는 타임스탬프 기반 조인입니다.

참고:

  • 조건을 제공하지 않으면 데이터 세트의 모든 참조 데이터가 보강됩니다.
  • 입력 경로가 타임스탬프를 참조하는 경우 타임스탬프는 RFC3339 형식이어야 합니다.
  • Key match는 대/소문자를 구분합니다.
  • 각 보강 단계에는 최대 10개의 조건이 있을 수 있습니다.
  • 각 보강 단계에는 하나의 시간 기반 조인 조건(Past nearest 또는 Future nearest)만 있을 수 있습니다.
  • Key match ID 기반 조인이 Past nearest 또는 Future nearest 타임스탬프 기반 조인 조건과 조인된 경우 Past nearest 또는 Future nearest가 적용되기 전에 반환된 항목을 필터링하기 위해 Key match가 먼저 적용됩니다.
  • 반환된 항목에 여러 Key match 조건을 적용할 수 있습니다. 여러 Key match 조건 간에 논리 AND 작업이 수행됩니다.

파이프라인의 Pod가 예기치 않게 중단되는 경우 백기록된 이벤트 데이터 파이프라인과의 조인이 참조 데이터 저장소 데이터 세트의 유효하지 않은 값이나 향후 값을 사용하고 있을 가능성이 있습니다. 이러한 상황은 원치 않는 데이터 보강으로 이어질 수 있습니다. 이 문제를 해결하고 해당 데이터를 필터링하려면 Past nearest 조건을 사용합니다.

보강 단계에서 Past nearest 조건을 사용하면 참조 데이터의 과거 값만 보강을 위해 고려됩니다. 이 방식을 사용하면 조인되는 데이터에 참조 데이터 저장소 데이터 세트의 향후 값이 포함되지 않습니다. Past nearest 조건은 향후 값을 필터링하여 보다 정확하고 신뢰할 수 있는 데이터 보강을 가능하게 합니다.

샘플 구성

보강 단계 구성에서 다음 속성을 정의합니다.

필드 예시
이름 enrichment
설명 장비 데이터로 보강
데이터 세트 equipment
출력 경로 .payload
배열로 풍부하게 하기
조건 > 연산자 Key match
조건 > 입력 경로 .payload.assetid
조건 > 속성 equipment name

조인은 들어오는 메시지의 assetid 값을 참조 데이터 세트의 equipment name 필드와 일치시키는 조건을 사용합니다. 이 구성은 데이터 세트의 관련 데이터로 메시지를 보강합니다. 보강 단계는 조인 조건을 적용할 때 참조 데이터 세트의 상황별 데이터를 파이프라인을 통해 흐르는 메시지에 추가합니다.

예시

이 예는 참조 데이터 세트 예를 기반으로 합니다. 보강 단계에서 파이프라인이 참조 데이터로 제조 시설로부터 데이터를 수신하는 시계열 데이터를 보강하려고 합니다. 이 예에서는 다음 JSON과 유사한 수신 페이로드를 사용합니다.

payload: {
      { 
        "assetid": "Oven", 
        "timestamp": "T05:15:00.000Z", 
        "temperature": 120, 
        "humidity": 99 
    }, 
      { 
        "assetid": "Oven", 
        "timestamp": "T05:16:00.000Z", 
        "temperature": 127, 
        "humidity": 98 
    }, 
      { 
        "AssetID": "Mixer", 
        "timestamp": "T05:17:00.000Z", 
        "temperature": 89, 
        "humidity": 95 
    }, 
      { 
        "AssetID": "Slicer", 
        "timestamp": "T05:19:00.000Z", 
        "temperature": 56, 
        "humidity": 30 
    } 
} 

다음 JSON은 이전 구성을 기반으로 보강된 출력 메시지의 예를 보여 줍니다.

payload: {
      { 
        "assetid": "Oven", 
        "timestamp": "2023-05-25T05:15:00.000Z", 
        "temperature": 120, 
        "humidity": 99, 
        "location": "Seattle", 
        "installationDate": "2002-03-05T00:00:00Z",  
        "isSpare": false  
    }, 
      { 
        "assetid": "Oven", 
        "timestamp": "2023-05-25T05:16:00.000Z", 
        "temperature": 127, 
        "humidity": 98, 
        "location": "Seattle", 
        "installationDate": "2002-03-05T00:00:00Z",  
        "isSpare": false  
    }, 
      { 
        "assetid": "Mixer", 
        "timestamp": "2023-05-25T05:17:00.000Z", 
        "temperature": 89, 
        "humidity": 95, 
        "location": "Tacoma",  
        "installationDate": "2005-11-15T00:00:00Z",  
        "isSpare": false  
    }, 
      { 
        "assetid": "Slicer", 
        "Timestamp": "2023-05-25T05:19:00.000Z", 
        "Temperature": 56, 
        "humidity": 30, 
        "location": "Seattle",  
        "installationDate": "2021-04-25T00:00:00Z",  
        "isSpare": true  
    } 
}